Move & split opensslconf.h.in
Move opensslconf.h.in to include/openssl. Split off DES,BN,RC4 stuff into separate header file templates in crypto/include/internal/*_conf.h.in Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
parent
2dc4be513b
commit
dc193c9c5e
3
.gitignore
vendored
3
.gitignore
vendored
@ -42,7 +42,8 @@
|
||||
|
||||
# Auto generated headers
|
||||
/crypto/buildinf.h
|
||||
/crypto/opensslconf.h
|
||||
/openssl/include/opensslconf.h
|
||||
/crypto/include/internal/*_conf.h
|
||||
|
||||
# Auto generated assembly language source files
|
||||
*.s
|
||||
|
20
Configure
20
Configure
@ -1413,10 +1413,24 @@ print "RANLIB =$target{ranlib}\n";
|
||||
print "ARFLAGS =$target{arflags}\n";
|
||||
print "PERL =$config{perl}\n";
|
||||
|
||||
system("$config{perl} -I. -Mconfigdata util/dofile.pl < crypto/opensslconf.h.in > include/openssl/opensslconf.h.new");
|
||||
exit 1 if $? != 0;
|
||||
rename("include/openssl/opensslconf.h.new","include/openssl/opensslconf.h") || die "unable to rename include/openssl/opensslconf.h.new\n";
|
||||
sub
|
||||
run_dofile()
|
||||
{
|
||||
my $in = shift;
|
||||
my $out = shift;
|
||||
|
||||
# should we remove $out ?
|
||||
system("$config{perl} -I. -Mconfigdata util/dofile.pl <$in >$out.new");
|
||||
exit 1 if $? != 0;
|
||||
rename("$out.new", $out) || die "Can't rename $out.new, $!";
|
||||
}
|
||||
|
||||
&run_dofile("include/openssl/opensslconf.h.in", "include/openssl/opensslconf.h");
|
||||
|
||||
foreach my $alg ( 'bf', 'bn', 'des', 'rc4' ) {
|
||||
&run_dofile("crypto/include/internal/${alg}_conf.h.in",
|
||||
"crypto/include/internal/${alg}_conf.h");
|
||||
}
|
||||
|
||||
# Fix the date
|
||||
|
||||
|
@ -58,7 +58,8 @@
|
||||
|
||||
#ifndef HEADER_BF_LOCL_H
|
||||
# define HEADER_BF_LOCL_H
|
||||
# include <openssl/opensslconf.h>/* BF_PTR, BF_PTR2 */
|
||||
# include <openssl/opensslconf.h>
|
||||
# include "internal/bf_conf.h"
|
||||
|
||||
# undef c2l
|
||||
# define c2l(c,l) (l =((unsigned long)(*((c)++))) , \
|
||||
|
@ -112,6 +112,7 @@
|
||||
#ifndef HEADER_BN_LCL_H
|
||||
# define HEADER_BN_LCL_H
|
||||
|
||||
# include "internal/bn_conf.h"
|
||||
# include "internal/bn_int.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -61,6 +61,8 @@
|
||||
|
||||
# include <openssl/e_os2.h>
|
||||
|
||||
# include "internal/des_conf.h"
|
||||
|
||||
# if defined(OPENSSL_SYS_WIN32)
|
||||
# ifndef OPENSSL_SYS_MSDOS
|
||||
# define OPENSSL_SYS_MSDOS
|
||||
|
68
crypto/include/internal/bf_conf.h.in
Normal file
68
crypto/include/internal/bf_conf.h.in
Normal file
@ -0,0 +1,68 @@
|
||||
/* ====================================================================
|
||||
* Copyright (c) 2016 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. All advertising materials mentioning features or use of this
|
||||
* software must display the following acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||
*
|
||||
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
* endorse or promote products derived from this software without
|
||||
* prior written permission. For written permission, please contact
|
||||
* openssl-core@openssl.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "OpenSSL"
|
||||
* nor may "OpenSSL" appear in their names without prior written
|
||||
* permission of the OpenSSL Project.
|
||||
*
|
||||
* 6. Redistributions of any form whatsoever must retain the following
|
||||
* acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This product includes cryptographic software written by Eric Young
|
||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||
* Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef HEADER_BF_CONF_H
|
||||
# define HEADER_BF_CONF_H
|
||||
|
||||
{-
|
||||
if ($config{bf_ptr} == 0) {
|
||||
"#undef BF_PTR";
|
||||
} elsif ($config{bf_ptr} == 1) {
|
||||
"#define BF_PTR";
|
||||
} elsif ($config{bf_ptr} == 2) {
|
||||
"#define BF_PTR2";
|
||||
}
|
||||
-}
|
||||
|
||||
#endif
|
68
crypto/include/internal/bn_conf.h.in
Normal file
68
crypto/include/internal/bn_conf.h.in
Normal file
@ -0,0 +1,68 @@
|
||||
/* ====================================================================
|
||||
* Copyright (c) 2016 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. All advertising materials mentioning features or use of this
|
||||
* software must display the following acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||
*
|
||||
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
* endorse or promote products derived from this software without
|
||||
* prior written permission. For written permission, please contact
|
||||
* openssl-core@openssl.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "OpenSSL"
|
||||
* nor may "OpenSSL" appear in their names without prior written
|
||||
* permission of the OpenSSL Project.
|
||||
*
|
||||
* 6. Redistributions of any form whatsoever must retain the following
|
||||
* acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This product includes cryptographic software written by Eric Young
|
||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||
* Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef HEADER_BN_CONF_H
|
||||
# define HEADER_BN_CONF_H
|
||||
|
||||
# if !defined(OPENSSL_SYS_UEFI)
|
||||
|
||||
/* Should we define BN_DIV2W here? */
|
||||
|
||||
/* Only one for the following should be defined */
|
||||
{- $config{b64l} ? "#define" : "#undef" -} SIXTY_FOUR_BIT_LONG
|
||||
{- $config{b64} ? "#define" : "#undef" -} SIXTY_FOUR_BIT
|
||||
{- $config{b32} ? "#define" : "#undef" -} THIRTY_TWO_BIT
|
||||
# endif
|
||||
|
||||
#endif
|
129
crypto/include/internal/des_conf.h.in
Normal file
129
crypto/include/internal/des_conf.h.in
Normal file
@ -0,0 +1,129 @@
|
||||
/* ====================================================================
|
||||
* Copyright (c) 2016 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. All advertising materials mentioning features or use of this
|
||||
* software must display the following acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||
*
|
||||
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
* endorse or promote products derived from this software without
|
||||
* prior written permission. For written permission, please contact
|
||||
* openssl-core@openssl.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "OpenSSL"
|
||||
* nor may "OpenSSL" appear in their names without prior written
|
||||
* permission of the OpenSSL Project.
|
||||
*
|
||||
* 6. Redistributions of any form whatsoever must retain the following
|
||||
* acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This product includes cryptographic software written by Eric Young
|
||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||
* Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef HEADER_DES_CONF_H
|
||||
# define HEADER_DES_CONF_H
|
||||
|
||||
/* the following is tweaked from a config script, that is why it is a
|
||||
* protected undef/define */
|
||||
# ifndef DES_PTR
|
||||
{- $config{des_ptr} ? "#define" : "#undef" -} DES_PTR
|
||||
# endif
|
||||
|
||||
/* This helps C compiler generate the correct code for multiple functional
|
||||
* units. It reduces register dependancies at the expense of 2 more
|
||||
* registers */
|
||||
# ifndef DES_RISC1
|
||||
{- $config{des_risc1} ? "#define" : "#undef" -} DES_RISC1
|
||||
# endif
|
||||
|
||||
# ifndef DES_RISC2
|
||||
{- $config{des_risc2} ? "#define" : "#undef" -} DES_RISC2
|
||||
# endif
|
||||
|
||||
# if defined(DES_RISC1) && defined(DES_RISC2)
|
||||
# error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
|
||||
# endif
|
||||
|
||||
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
|
||||
* Very mucy CPU dependant */
|
||||
# ifndef DES_UNROLL
|
||||
{- $config{des_unroll} ? "#define" : "#undef" -} DES_UNROLL
|
||||
# endif
|
||||
|
||||
/*
|
||||
* These default values were supplied by
|
||||
* Peter Gutman <pgut001@cs.auckland.ac.nz>
|
||||
* They are only used if nothing else has been defined
|
||||
*/
|
||||
# if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
|
||||
|
||||
/*
|
||||
* Special defines which change the way the code is built depending on the
|
||||
* CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
|
||||
* even newer MIPS CPU's, but at the moment one size fits all for
|
||||
* optimization options. Older Sparc's work better with only UNROLL, but
|
||||
* there's no way to tell at compile time what it is you're running on.
|
||||
*/
|
||||
|
||||
# if defined(sparc) || defined(__sparc__) /* Newer Sparc's */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
# elif defined( __ultrix ) /* Older MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
# elif defined( __osf1__ ) /* Alpha */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# elif defined ( _AIX ) /* RS6000 */
|
||||
/* Unknown */
|
||||
# elif defined( __hpux ) /* HP-PA */
|
||||
/* Unknown */
|
||||
# elif defined( __aux ) /* 68K */
|
||||
/* Unknown */
|
||||
# elif defined( __sgi ) /* Newer MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
# elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
#endif
|
74
crypto/include/internal/rc4_conf.h.in
Normal file
74
crypto/include/internal/rc4_conf.h.in
Normal file
@ -0,0 +1,74 @@
|
||||
/* ====================================================================
|
||||
* Copyright (c) 2016 The OpenSSL Project. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* 3. All advertising materials mentioning features or use of this
|
||||
* software must display the following acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||
*
|
||||
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||
* endorse or promote products derived from this software without
|
||||
* prior written permission. For written permission, please contact
|
||||
* openssl-core@openssl.org.
|
||||
*
|
||||
* 5. Products derived from this software may not be called "OpenSSL"
|
||||
* nor may "OpenSSL" appear in their names without prior written
|
||||
* permission of the OpenSSL Project.
|
||||
*
|
||||
* 6. Redistributions of any form whatsoever must retain the following
|
||||
* acknowledgment:
|
||||
* "This product includes software developed by the OpenSSL Project
|
||||
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
* ====================================================================
|
||||
*
|
||||
* This product includes cryptographic software written by Eric Young
|
||||
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||
* Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef HEADER_RC4_CONF_H
|
||||
# define HEADER_RC4_CONF_H
|
||||
|
||||
# if !defined(RC4_CHUNK)
|
||||
/*
|
||||
* This enables code handling data aligned at natural CPU word
|
||||
* boundary. See crypto/rc4/rc4_enc.c for further details.
|
||||
*/
|
||||
{-
|
||||
$config{rc4_chunk}
|
||||
? "#define RC4_CHUNK ".$config{rc4_chunk}
|
||||
: "#undef RC4_CHUNK";
|
||||
-}
|
||||
# endif
|
||||
|
||||
/* if this is defined data[i] is used instead of *data, this is a %20
|
||||
* speedup on x86 */
|
||||
{- $config{rc4_idx} ? "#define" : "#undef" -} RC4_INDEX
|
||||
|
||||
#endif
|
@ -1,300 +0,0 @@
|
||||
/* opensslconf.h */
|
||||
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/* OpenSSL was configured with the following options: */
|
||||
{-
|
||||
if (@{$config{openssl_sys_defines}}) {
|
||||
foreach (@{$config{openssl_sys_defines}}) {
|
||||
$OUT .= "#ifndef $_\n";
|
||||
$OUT .= "# define $_ 1\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
#ifndef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
{-
|
||||
if (@{$config{openssl_experimental_defines}}) {
|
||||
foreach (@{$config{openssl_experimental_defines}}) {
|
||||
(my $ex = $_) =~ s/_NO_/_EXPERIMENTAL_/;
|
||||
$OUT .= "#ifndef $ex\n";
|
||||
$OUT .= "# ifndef $_\n";
|
||||
$OUT .= "# define $_\n";
|
||||
$OUT .= "# endif\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
{-
|
||||
foreach (@{$config{openssl_api_defines}}) {
|
||||
(my $macro, my $value) = $_ =~ /^(.*?)=(.*?)$/;
|
||||
$OUT .= "#define OPENSSL_MIN_API $value\n";
|
||||
}
|
||||
-}
|
||||
{-
|
||||
if (@{$config{openssl_algorithm_defines}}) {
|
||||
foreach (@{$config{openssl_algorithm_defines}}) {
|
||||
$OUT .= "#ifndef $_\n";
|
||||
$OUT .= "# define $_\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
} else {
|
||||
" /* no ciphers excluded */\n";
|
||||
}
|
||||
-}
|
||||
|
||||
#endif /* OPENSSL_DOING_MAKEDEPEND */
|
||||
|
||||
{-
|
||||
if (@{$config{openssl_thread_defines}}) {
|
||||
foreach (@{$config{openssl_thread_defines}}) {
|
||||
$OUT .= "#ifndef $_\n";
|
||||
$OUT .= "# define $_\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
{-
|
||||
if (@{$config{openssl_other_defines}}) {
|
||||
foreach (@{$config{openssl_other_defines}}) {
|
||||
$OUT .= "#ifndef $_\n";
|
||||
$OUT .= "# define $_\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
|
||||
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
|
||||
asks for it. This is a transient feature that is provided for those
|
||||
who haven't had the time to do the appropriate changes in their
|
||||
applications. */
|
||||
#ifdef OPENSSL_ALGORITHM_DEFINES
|
||||
{-
|
||||
if (@{$config{openssl_algorithm_defines}}) {
|
||||
foreach (@{$config{openssl_algorithm_defines}}) {
|
||||
(my $ex = $_) =~ s/^OPENSSL_//;
|
||||
$OUT .= "# if defined($_) \&\& !defined($ex)\n";
|
||||
$OUT .= "# define $ex\n";
|
||||
$OUT .= "# endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
#endif
|
||||
|
||||
{- $target{cpuid_obj} ne "mem_clr.o" ? "#define OPENSSL_CPUID_OBJ" : "" -}
|
||||
|
||||
/*
|
||||
* Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
|
||||
* declarations of functions deprecated in or before <version>. Otherwise, they
|
||||
* still won't see them if the library has been built to disable deprecated
|
||||
* functions.
|
||||
*/
|
||||
#if defined(OPENSSL_NO_DEPRECATED)
|
||||
# define DECLARE_DEPRECATED(f)
|
||||
#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
|
||||
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||||
#else
|
||||
# define DECLARE_DEPRECATED(f) f;
|
||||
#endif
|
||||
|
||||
#ifndef OPENSSL_MIN_API
|
||||
#define OPENSSL_MIN_API 0
|
||||
#endif
|
||||
|
||||
#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
|
||||
#undef OPENSSL_API_COMPAT
|
||||
#define OPENSSL_API_COMPAT OPENSSL_MIN_API
|
||||
#endif
|
||||
|
||||
#if OPENSSL_API_COMPAT < 0x10100000L
|
||||
# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
|
||||
#else
|
||||
# define DEPRECATEDIN_1_1_0(f)
|
||||
#endif
|
||||
|
||||
#if OPENSSL_API_COMPAT < 0x10000000L
|
||||
# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)
|
||||
#else
|
||||
# define DEPRECATEDIN_1_0_0(f)
|
||||
#endif
|
||||
|
||||
#if OPENSSL_API_COMPAT < 0x00908000L
|
||||
# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)
|
||||
#else
|
||||
# define DEPRECATEDIN_0_9_8(f)
|
||||
#endif
|
||||
|
||||
/* Generate 80386 code? */
|
||||
{- $config{processor} eq "386" ? "#define" : "#undef" -} I386_ONLY
|
||||
|
||||
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
|
||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
||||
#define ENGINESDIR {- quotify1($config{enginesdir}) -}
|
||||
#define OPENSSLDIR {- quotify1($config{openssldir}) -}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_UNISTD
|
||||
#define OPENSSL_UNISTD {- $target{unistd} -}
|
||||
|
||||
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||||
{- $config{export_var_as_fn} ? "#define OPENSSL_EXPORT_VAR_AS_FUNCTION" : "" -}
|
||||
|
||||
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
|
||||
#define IDEA_INT {- $config{idea_int} -}
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_MD2_H) && !defined(MD2_INT)
|
||||
#define MD2_INT {- $config{md2_int} -}
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC2_H) && !defined(RC2_INT)
|
||||
/* I need to put in a mod for the alpha - eay */
|
||||
#define RC2_INT {- $config{rc2_int} -}
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_H)
|
||||
#if !defined(RC4_INT)
|
||||
/* using int types make the structure larger but make the code faster
|
||||
* on most boxes I have tested - up to %20 faster. */
|
||||
/*
|
||||
* I don't know what does "most" mean, but declaring "int" is a must on:
|
||||
* - Intel P6 because partial register stalls are very expensive;
|
||||
* - elder Alpha because it lacks byte load/store instructions;
|
||||
*/
|
||||
#define RC4_INT {- $config{rc4_int} -}
|
||||
#endif
|
||||
#if !defined(RC4_CHUNK)
|
||||
/*
|
||||
* This enables code handling data aligned at natural CPU word
|
||||
* boundary. See crypto/rc4/rc4_enc.c for further details.
|
||||
*/
|
||||
{-
|
||||
$config{rc4_chunk}
|
||||
? "#define RC4_CHUNK ".$config{rc4_chunk}
|
||||
: "#undef RC4_CHUNK";
|
||||
-}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef OSSL_DES_LONG
|
||||
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
|
||||
* %20 speed up (longs are 8 bytes, int's are 4). */
|
||||
#ifndef OSSL_DES_LONG
|
||||
#define OSSL_DES_LONG {- $config{des_int} -}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) && !defined(OPENSSL_SYS_UEFI)
|
||||
#define CONFIG_HEADER_BN_H
|
||||
{- $config{bn_ll} ? "#define" : "#undef" -} BN_LLONG
|
||||
|
||||
/* Should we define BN_DIV2W here? */
|
||||
|
||||
/* Only one for the following should be defined */
|
||||
{- $config{b64l} ? "#define" : "#undef" -} SIXTY_FOUR_BIT_LONG
|
||||
{- $config{b64} ? "#define" : "#undef" -} SIXTY_FOUR_BIT
|
||||
{- $config{b32} ? "#define" : "#undef" -} THIRTY_TWO_BIT
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)
|
||||
#define CONFIG_HEADER_RC4_LOCL_H
|
||||
/* if this is defined data[i] is used instead of *data, this is a %20
|
||||
* speedup on x86 */
|
||||
{- $config{rc4_idx} ? "#define" : "#undef" -} RC4_INDEX
|
||||
#endif
|
||||
|
||||
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
|
||||
#define CONFIG_HEADER_BF_LOCL_H
|
||||
{-
|
||||
if ($config{bf_ptr} == 0) {
|
||||
"#undef BF_PTR";
|
||||
} elsif ($config{bf_ptr} == 1) {
|
||||
"#define BF_PTR";
|
||||
} elsif ($config{bf_ptr} == 2) {
|
||||
"#define BF_PTR2";
|
||||
}
|
||||
-}
|
||||
#endif /* HEADER_BF_LOCL_H */
|
||||
|
||||
#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
|
||||
#define CONFIG_HEADER_DES_LOCL_H
|
||||
#ifndef DES_DEFAULT_OPTIONS
|
||||
/* the following is tweaked from a config script, that is why it is a
|
||||
* protected undef/define */
|
||||
#ifndef DES_PTR
|
||||
{- $config{des_ptr} ? "#define" : "#undef" -} DES_PTR
|
||||
#endif
|
||||
|
||||
/* This helps C compiler generate the correct code for multiple functional
|
||||
* units. It reduces register dependancies at the expense of 2 more
|
||||
* registers */
|
||||
#ifndef DES_RISC1
|
||||
{- $config{des_risc1} ? "#define" : "#undef" -} DES_RISC1
|
||||
#endif
|
||||
|
||||
#ifndef DES_RISC2
|
||||
{- $config{des_risc2} ? "#define" : "#undef" -} DES_RISC2
|
||||
#endif
|
||||
|
||||
#if defined(DES_RISC1) && defined(DES_RISC2)
|
||||
#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
|
||||
#endif
|
||||
|
||||
/* Unroll the inner loop, this sometimes helps, sometimes hinders.
|
||||
* Very mucy CPU dependant */
|
||||
#ifndef DES_UNROLL
|
||||
{- $config{des_unroll} ? "#define" : "#undef" -} DES_UNROLL
|
||||
#endif
|
||||
|
||||
/* These default values were supplied by
|
||||
* Peter Gutman <pgut001@cs.auckland.ac.nz>
|
||||
* They are only used if nothing else has been defined */
|
||||
#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
|
||||
/* Special defines which change the way the code is built depending on the
|
||||
CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
|
||||
even newer MIPS CPU's, but at the moment one size fits all for
|
||||
optimization options. Older Sparc's work better with only UNROLL, but
|
||||
there's no way to tell at compile time what it is you're running on */
|
||||
|
||||
#if defined(sparc) || defined(__sparc__) /* Newer Sparc's */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#elif defined( __ultrix ) /* Older MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined( __osf1__ ) /* Alpha */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
#elif defined ( _AIX ) /* RS6000 */
|
||||
/* Unknown */
|
||||
#elif defined( __hpux ) /* HP-PA */
|
||||
/* Unknown */
|
||||
#elif defined( __aux ) /* 68K */
|
||||
/* Unknown */
|
||||
#elif defined( __sgi ) /* Newer MIPS */
|
||||
# define DES_PTR
|
||||
# define DES_RISC2
|
||||
# define DES_UNROLL
|
||||
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
|
||||
# define DES_PTR
|
||||
# define DES_RISC1
|
||||
# define DES_UNROLL
|
||||
#endif /* Systems-specific speed defines */
|
||||
#endif
|
||||
|
||||
#endif /* DES_DEFAULT_OPTIONS */
|
||||
#endif /* HEADER_DES_LOCL_H */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
@ -2,4 +2,5 @@
|
||||
# define HEADER_RC4_LOCL_H
|
||||
# include <openssl/opensslconf.h>
|
||||
# include "internal/cryptlib.h"
|
||||
# include "internal/rc4_conf.h"
|
||||
#endif
|
||||
|
173
include/openssl/opensslconf.h.in
Normal file
173
include/openssl/opensslconf.h.in
Normal file
@ -0,0 +1,173 @@
|
||||
/* opensslconf.h */
|
||||
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/* OpenSSL was configured with the following options: */
|
||||
{-
|
||||
if (@{$config{openssl_sys_defines}}) {
|
||||
foreach (@{$config{openssl_sys_defines}}) {
|
||||
$OUT .= "#ifndef $_\n";
|
||||
$OUT .= "# define $_ 1\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
#ifndef OPENSSL_DOING_MAKEDEPEND
|
||||
|
||||
{-
|
||||
if (@{$config{openssl_experimental_defines}}) {
|
||||
foreach (@{$config{openssl_experimental_defines}}) {
|
||||
(my $ex = $_) =~ s/_NO_/_EXPERIMENTAL_/;
|
||||
$OUT .= "#ifndef $ex\n";
|
||||
$OUT .= "# ifndef $_\n";
|
||||
$OUT .= "# define $_\n";
|
||||
$OUT .= "# endif\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
{-
|
||||
foreach (@{$config{openssl_api_defines}}) {
|
||||
(my $macro, my $value) = $_ =~ /^(.*?)=(.*?)$/;
|
||||
$OUT .= "#define OPENSSL_MIN_API $value\n";
|
||||
}
|
||||
-}
|
||||
{-
|
||||
if (@{$config{openssl_algorithm_defines}}) {
|
||||
foreach (@{$config{openssl_algorithm_defines}}) {
|
||||
$OUT .= "#ifndef $_\n";
|
||||
$OUT .= "# define $_\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
} else {
|
||||
" /* no ciphers excluded */\n";
|
||||
}
|
||||
-}
|
||||
|
||||
#endif /* OPENSSL_DOING_MAKEDEPEND */
|
||||
|
||||
{-
|
||||
if (@{$config{openssl_thread_defines}}) {
|
||||
foreach (@{$config{openssl_thread_defines}}) {
|
||||
$OUT .= "#ifndef $_\n";
|
||||
$OUT .= "# define $_\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
{-
|
||||
if (@{$config{openssl_other_defines}}) {
|
||||
foreach (@{$config{openssl_other_defines}}) {
|
||||
$OUT .= "#ifndef $_\n";
|
||||
$OUT .= "# define $_\n";
|
||||
$OUT .= "#endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
|
||||
/* The OPENSSL_NO_* macros are also defined as NO_* if the application
|
||||
asks for it. This is a transient feature that is provided for those
|
||||
who haven't had the time to do the appropriate changes in their
|
||||
applications. */
|
||||
#ifdef OPENSSL_ALGORITHM_DEFINES
|
||||
{-
|
||||
if (@{$config{openssl_algorithm_defines}}) {
|
||||
foreach (@{$config{openssl_algorithm_defines}}) {
|
||||
(my $ex = $_) =~ s/^OPENSSL_//;
|
||||
$OUT .= "# if defined($_) \&\& !defined($ex)\n";
|
||||
$OUT .= "# define $ex\n";
|
||||
$OUT .= "# endif\n";
|
||||
}
|
||||
}
|
||||
"";
|
||||
-}
|
||||
#endif
|
||||
|
||||
{- $target{cpuid_obj} ne "mem_clr.o" ? "#define OPENSSL_CPUID_OBJ" : "" -}
|
||||
|
||||
/*
|
||||
* Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
|
||||
* declarations of functions deprecated in or before <version>. Otherwise, they
|
||||
* still won't see them if the library has been built to disable deprecated
|
||||
* functions.
|
||||
*/
|
||||
#if defined(OPENSSL_NO_DEPRECATED)
|
||||
# define DECLARE_DEPRECATED(f)
|
||||
#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
|
||||
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||||
#else
|
||||
# define DECLARE_DEPRECATED(f) f;
|
||||
#endif
|
||||
|
||||
#ifndef OPENSSL_MIN_API
|
||||
#define OPENSSL_MIN_API 0
|
||||
#endif
|
||||
|
||||
#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
|
||||
#undef OPENSSL_API_COMPAT
|
||||
#define OPENSSL_API_COMPAT OPENSSL_MIN_API
|
||||
#endif
|
||||
|
||||
#if OPENSSL_API_COMPAT < 0x10100000L
|
||||
# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
|
||||
#else
|
||||
# define DEPRECATEDIN_1_1_0(f)
|
||||
#endif
|
||||
|
||||
#if OPENSSL_API_COMPAT < 0x10000000L
|
||||
# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)
|
||||
#else
|
||||
# define DEPRECATEDIN_1_0_0(f)
|
||||
#endif
|
||||
|
||||
#if OPENSSL_API_COMPAT < 0x00908000L
|
||||
# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)
|
||||
#else
|
||||
# define DEPRECATEDIN_0_9_8(f)
|
||||
#endif
|
||||
|
||||
/* Generate 80386 code? */
|
||||
{- $config{processor} eq "386" ? "#define" : "#undef" -} I386_ONLY
|
||||
|
||||
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
|
||||
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
|
||||
#define ENGINESDIR {- quotify1($config{enginesdir}) -}
|
||||
#define OPENSSLDIR {- quotify1($config{openssldir}) -}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef OPENSSL_UNISTD
|
||||
#define OPENSSL_UNISTD {- $target{unistd} -}
|
||||
|
||||
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
|
||||
{- $config{export_var_as_fn} ? "#define OPENSSL_EXPORT_VAR_AS_FUNCTION" : "" -}
|
||||
|
||||
/*
|
||||
* The following are cipher-specific, but are part of the public API.
|
||||
*/
|
||||
|
||||
#define OSSL_DES_LONG {- $config{des_int} -}
|
||||
|
||||
#if !defined(OPENSSL_SYS_UEFI)
|
||||
{- $config{bn_ll} ? "#define" : "#undef" -} BN_LLONG
|
||||
|
||||
/* Only one for the following should be defined */
|
||||
{- $config{b64l} ? "#define" : "#undef" -} SIXTY_FOUR_BIT_LONG
|
||||
{- $config{b64} ? "#define" : "#undef" -} SIXTY_FOUR_BIT
|
||||
{- $config{b32} ? "#define" : "#undef" -} THIRTY_TWO_BIT
|
||||
#endif
|
||||
|
||||
# define RC2_INT {- $config{rc2_int} -}
|
||||
# define IDEA_INT {- $config{idea_int} -}
|
||||
# define MD2_INT {- $config{md2_int} -}
|
||||
# define RC4_INT {- $config{rc4_int} -}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user