opensslconf.h.in 3.7 KB
Newer Older
R
Rich Salz 已提交
1 2 3
/*
 * {- join("\n * ", @autowarntext) -}
 */
R
Rich Salz 已提交
4 5 6 7

#ifdef  __cplusplus
extern "C" {
#endif
R
Rich Salz 已提交
8 9 10 11 12 13 14 15 16 17

#ifdef OPENSSL_ALGORITHM_DEFINES
# error OPENSSL_ALGORITHM_DEFINES no longer supported
#endif

/*
 * OpenSSL was configured with the following options:
 */

{- if (@{$config{openssl_sys_defines}}) {
R
Rich Salz 已提交
18 19 20 21 22 23 24 25 26
      foreach (@{$config{openssl_sys_defines}}) {
	$OUT .= "#ifndef $_\n";
	$OUT .= "# define $_ 1\n";
	$OUT .= "#endif\n";
      }
    }
    if (@{$config{openssl_experimental_defines}}) {
      foreach (@{$config{openssl_experimental_defines}}) {
	(my $ex = $_) =~ s/_NO_/_EXPERIMENTAL_/;
R
Rich Salz 已提交
27 28 29 30
	$OUT .= "# ifndef $ex\n";
	$OUT .= "#  ifndef $_\n";
	$OUT .= "#   define $_\n";
	$OUT .= "#  endif\n";
R
Rich Salz 已提交
31 32 33 34 35
	$OUT .= "# endif\n";
      }
    }
    foreach (@{$config{openssl_api_defines}}) {
        (my $macro, my $value) = $_ =~ /^(.*?)=(.*?)$/;
R
Rich Salz 已提交
36
        $OUT .= "# define OPENSSL_MIN_API $value\n";
R
Rich Salz 已提交
37 38 39
    }
    if (@{$config{openssl_algorithm_defines}}) {
      foreach (@{$config{openssl_algorithm_defines}}) {
R
Rich Salz 已提交
40 41 42
	$OUT .= "# ifndef $_\n";
	$OUT .= "#  define $_\n";
	$OUT .= "# endif\n";
R
Rich Salz 已提交
43 44
      }
    }
R
Rich Salz 已提交
45 46 47
    if ($OUT) {
        $OUT = <<"EOF";
#ifndef OPENSSL_DOING_MAKEDEPEND
R
Rich Salz 已提交
48

R
Rich Salz 已提交
49
$OUT
R
Rich Salz 已提交
50
#endif /* OPENSSL_DOING_MAKEDEPEND */
R
Rich Salz 已提交
51 52 53 54
EOF
    }
    "";
-}
R
Rich Salz 已提交
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88

{-
    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";
      }
    }
    "";
-}

/*
 * 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
R
Rich Salz 已提交
89
# define OPENSSL_MIN_API 0
R
Rich Salz 已提交
90 91 92
#endif

#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
R
Rich Salz 已提交
93 94
# undef OPENSSL_API_COMPAT
# define OPENSSL_API_COMPAT OPENSSL_MIN_API
R
Rich Salz 已提交
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
#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

R
Rich Salz 已提交
115 116
{- $target{cpuid_obj} ne "mem_clr.o" ? "#define OPENSSL_CPUID_OBJ" : "" -}

R
Rich Salz 已提交
117 118 119
/* Generate 80386 code? */
{- $config{processor} eq "386" ? "#define" : "#undef" -} I386_ONLY

R
Rich Salz 已提交
120 121 122 123 124
#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
R
Rich Salz 已提交
125 126 127 128 129
#endif

#undef OPENSSL_UNISTD
#define OPENSSL_UNISTD {- $target{unistd} -}

R
Rich Salz 已提交
130
{- $config{export_var_as_fn} ? "#define" : "#undef" -} OPENSSL_EXPORT_VAR_AS_FUNCTION
R
Rich Salz 已提交
131 132 133 134 135

/*
 * The following are cipher-specific, but are part of the public API.
 */
#if !defined(OPENSSL_SYS_UEFI)
R
Rich Salz 已提交
136
{- $config{bn_ll} ? "# define" : "# undef" -} BN_LLONG
R
Rich Salz 已提交
137
/* Only one for the following should be defined */
R
Rich Salz 已提交
138 139 140
{- $config{b64l} ? "# define" : "# undef" -} SIXTY_FOUR_BIT_LONG
{- $config{b64}  ? "# define" : "# undef" -} SIXTY_FOUR_BIT
{- $config{b32}  ? "# define" : "# undef" -} THIRTY_TWO_BIT
R
Rich Salz 已提交
141 142
#endif

R
Rich Salz 已提交
143
#define RC4_INT {- $config{rc4_int} -}
R
Rich Salz 已提交
144 145 146 147

#ifdef  __cplusplus
}
#endif