22dc0c9bfe718a2e209a7638362d53f832c66216
[openssl.git] / include / openssl / opensslconf.h.in
1 {- join("\n",map { "/* $_ */" } @autowarntext) -}
2
3 #ifdef  __cplusplus
4 extern "C" {
5 #endif
6 /* OpenSSL was configured with the following options: */
7 {-
8     if (@{$config{openssl_sys_defines}}) {
9       foreach (@{$config{openssl_sys_defines}}) {
10         $OUT .= "#ifndef $_\n";
11         $OUT .= "# define $_ 1\n";
12         $OUT .= "#endif\n";
13       }
14     }
15     "";
16 -}
17 #ifndef OPENSSL_DOING_MAKEDEPEND
18
19 {-
20     if (@{$config{openssl_experimental_defines}}) {
21       foreach (@{$config{openssl_experimental_defines}}) {
22         (my $ex = $_) =~ s/_NO_/_EXPERIMENTAL_/;
23         $OUT .= "#ifndef $ex\n";
24         $OUT .= "# ifndef $_\n";
25         $OUT .= "#  define $_\n";
26         $OUT .= "# endif\n";
27         $OUT .= "#endif\n";
28       }
29     }
30     "";
31 -}
32 {-
33     foreach (@{$config{openssl_api_defines}}) {
34         (my $macro, my $value) = $_ =~ /^(.*?)=(.*?)$/;
35         $OUT .= "#define OPENSSL_MIN_API $value\n";
36     }
37 -}
38 {-
39     if (@{$config{openssl_algorithm_defines}}) {
40       foreach (@{$config{openssl_algorithm_defines}}) {
41         $OUT .= "#ifndef $_\n";
42         $OUT .= "# define $_\n";
43         $OUT .= "#endif\n";
44       }
45     } else {
46       "   /* no ciphers excluded */\n";
47     }
48 -}
49
50 #endif /* OPENSSL_DOING_MAKEDEPEND */
51
52 {-
53     if (@{$config{openssl_thread_defines}}) {
54       foreach (@{$config{openssl_thread_defines}}) {
55         $OUT .= "#ifndef $_\n";
56         $OUT .= "# define $_\n";
57         $OUT .= "#endif\n";
58       }
59     }
60     "";
61 -}
62 {-
63     if (@{$config{openssl_other_defines}}) {
64       foreach (@{$config{openssl_other_defines}}) {
65         $OUT .= "#ifndef $_\n";
66         $OUT .= "# define $_\n";
67         $OUT .= "#endif\n";
68       }
69     }
70     "";
71 -}
72
73 /* The OPENSSL_NO_* macros are also defined as NO_* if the application
74    asks for it.  This is a transient feature that is provided for those
75    who haven't had the time to do the appropriate changes in their
76    applications.  */
77 #ifdef OPENSSL_ALGORITHM_DEFINES
78 {-
79     if (@{$config{openssl_algorithm_defines}}) {
80       foreach (@{$config{openssl_algorithm_defines}}) {
81         (my $ex = $_) =~ s/^OPENSSL_//;
82         $OUT .= "# if defined($_) \&\& !defined($ex)\n";
83         $OUT .= "#  define $ex\n";
84         $OUT .= "# endif\n";
85       }
86     }
87     "";
88 -}
89 #endif
90
91 {- $target{cpuid_obj} ne "mem_clr.o" ? "#define OPENSSL_CPUID_OBJ" : "" -}
92
93 /*
94  * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
95  * declarations of functions deprecated in or before <version>. Otherwise, they
96  * still won't see them if the library has been built to disable deprecated
97  * functions.
98  */
99 #if defined(OPENSSL_NO_DEPRECATED)
100 # define DECLARE_DEPRECATED(f)
101 #elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
102 # define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
103 #else
104 # define DECLARE_DEPRECATED(f)   f;
105 #endif
106
107 #ifndef OPENSSL_MIN_API
108 #define OPENSSL_MIN_API 0
109 #endif
110
111 #if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
112 #undef OPENSSL_API_COMPAT
113 #define OPENSSL_API_COMPAT OPENSSL_MIN_API
114 #endif
115
116 #if OPENSSL_API_COMPAT < 0x10100000L
117 # define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
118 #else
119 # define DEPRECATEDIN_1_1_0(f)
120 #endif
121
122 #if OPENSSL_API_COMPAT < 0x10000000L
123 # define DEPRECATEDIN_1_0_0(f)   DECLARE_DEPRECATED(f)
124 #else
125 # define DEPRECATEDIN_1_0_0(f)
126 #endif
127
128 #if OPENSSL_API_COMPAT < 0x00908000L
129 # define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
130 #else
131 # define DEPRECATEDIN_0_9_8(f)
132 #endif
133
134 /* Generate 80386 code? */
135 {- $config{processor} eq "386" ? "#define" : "#undef" -} I386_ONLY
136
137 #if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */
138 #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR)
139 #define ENGINESDIR {- quotify1($config{enginesdir}) -}
140 #define OPENSSLDIR {- quotify1($config{openssldir}) -}
141 #endif
142 #endif
143
144 #undef OPENSSL_UNISTD
145 #define OPENSSL_UNISTD {- $target{unistd} -}
146
147 #undef OPENSSL_EXPORT_VAR_AS_FUNCTION
148 {- $config{export_var_as_fn} ? "#define OPENSSL_EXPORT_VAR_AS_FUNCTION" : "" -}
149
150 /*
151  * The following are cipher-specific, but are part of the public API.
152  */
153
154 #if !defined(OPENSSL_SYS_UEFI)
155 {- $config{bn_ll} ? "#define" : "#undef" -} BN_LLONG
156     
157 /* Only one for the following should be defined */
158 {- $config{b64l} ? "#define" : "#undef" -} SIXTY_FOUR_BIT_LONG
159 {- $config{b64}  ? "#define" : "#undef" -} SIXTY_FOUR_BIT
160 {- $config{b32}  ? "#define" : "#undef" -} THIRTY_TWO_BIT
161 #endif
162
163 # define RC4_INT {- $config{rc4_int} -}
164
165 #ifdef  __cplusplus
166 }
167 #endif