Missed an experimental.
[openssl.git] / include / openssl / opensslconf.h.in
1 /*
2  * {- join("\n * ", @autowarntext) -}
3  */
4
5 #ifdef  __cplusplus
6 extern "C" {
7 #endif
8
9 #ifdef OPENSSL_ALGORITHM_DEFINES
10 # error OPENSSL_ALGORITHM_DEFINES no longer supported
11 #endif
12
13 /*
14  * OpenSSL was configured with the following options:
15  */
16
17 {- if (@{$config{openssl_sys_defines}}) {
18       foreach (@{$config{openssl_sys_defines}}) {
19         $OUT .= "#ifndef $_\n";
20         $OUT .= "# define $_ 1\n";
21         $OUT .= "#endif\n";
22       }
23     }
24     foreach (@{$config{openssl_api_defines}}) {
25         (my $macro, my $value) = $_ =~ /^(.*?)=(.*?)$/;
26         $OUT .= "# define OPENSSL_MIN_API $value\n";
27     }
28     if (@{$config{openssl_algorithm_defines}}) {
29       foreach (@{$config{openssl_algorithm_defines}}) {
30         $OUT .= "# ifndef $_\n";
31         $OUT .= "#  define $_\n";
32         $OUT .= "# endif\n";
33       }
34     }
35     "";
36 -}
37
38 {-
39     if (@{$config{openssl_thread_defines}}) {
40       foreach (@{$config{openssl_thread_defines}}) {
41         $OUT .= "#ifndef $_\n";
42         $OUT .= "# define $_\n";
43         $OUT .= "#endif\n";
44       }
45     }
46     if (@{$config{openssl_other_defines}}) {
47       foreach (@{$config{openssl_other_defines}}) {
48         $OUT .= "#ifndef $_\n";
49         $OUT .= "# define $_\n";
50         $OUT .= "#endif\n";
51       }
52     }
53     "";
54 -}
55
56 /*
57  * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
58  * don't like that.  This will hopefully silence them.
59  */
60 #define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
61
62 /*
63  * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
64  * declarations of functions deprecated in or before <version>. Otherwise, they
65  * still won't see them if the library has been built to disable deprecated
66  * functions.
67  */
68 #if defined(OPENSSL_NO_DEPRECATED)
69 # define DECLARE_DEPRECATED(f)
70 #elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
71 # define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
72 #else
73 # define DECLARE_DEPRECATED(f)   f;
74 #endif
75
76 #ifndef OPENSSL_FILE
77 #ifdef OPENSSL_NO_FILENAMES
78 #define OPENSSL_FILE ""
79 #define OPENSSL_LINE 0
80 #else
81 #define OPENSSL_FILE __FILE__
82 #define OPENSSL_LINE __LINE__
83 #endif
84 #endif
85
86 #ifndef OPENSSL_MIN_API
87 # define OPENSSL_MIN_API 0
88 #endif
89
90 #if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
91 # undef OPENSSL_API_COMPAT
92 # define OPENSSL_API_COMPAT OPENSSL_MIN_API
93 #endif
94
95 #if OPENSSL_API_COMPAT < 0x10100000L
96 # define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
97 #else
98 # define DEPRECATEDIN_1_1_0(f)
99 #endif
100
101 #if OPENSSL_API_COMPAT < 0x10000000L
102 # define DEPRECATEDIN_1_0_0(f)   DECLARE_DEPRECATED(f)
103 #else
104 # define DEPRECATEDIN_1_0_0(f)
105 #endif
106
107 #if OPENSSL_API_COMPAT < 0x00908000L
108 # define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
109 #else
110 # define DEPRECATEDIN_0_9_8(f)
111 #endif
112
113 {- $target{cpuid_obj} ne "mem_clr.o" ? "#define OPENSSL_CPUID_OBJ" : "" -}
114
115 /* Generate 80386 code? */
116 {- $config{processor} eq "386" ? "#define" : "#undef" -} I386_ONLY
117
118 #undef OPENSSL_UNISTD
119 #define OPENSSL_UNISTD {- $target{unistd} -}
120
121 {- $config{export_var_as_fn} ? "#define" : "#undef" -} OPENSSL_EXPORT_VAR_AS_FUNCTION
122
123 /*
124  * The following are cipher-specific, but are part of the public API.
125  */
126 #if !defined(OPENSSL_SYS_UEFI)
127 {- $config{bn_ll} ? "# define" : "# undef" -} BN_LLONG
128 /* Only one for the following should be defined */
129 {- $config{b64l} ? "# define" : "# undef" -} SIXTY_FOUR_BIT_LONG
130 {- $config{b64}  ? "# define" : "# undef" -} SIXTY_FOUR_BIT
131 {- $config{b32}  ? "# define" : "# undef" -} THIRTY_TWO_BIT
132 #endif
133
134 #define RC4_INT {- $config{rc4_int} -}
135
136 #ifdef  __cplusplus
137 }
138 #endif