Skip to content

Commit eb8f269

Browse files
committed
Move the options.h.in template for cmake into new location. Added note about adding new options.
1 parent f744043 commit eb8f269

5 files changed

Lines changed: 380 additions & 339 deletions

File tree

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2324,7 +2324,8 @@ foreach(DEF IN LISTS WOLFSSL_DEFINITIONS)
23242324
endif()
23252325
endforeach()
23262326

2327-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/wolfssl/options.h.in ${OPTION_FILE})
2327+
# If new build options are added please update the cmake/options.h.in
2328+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/options.h.in ${OPTION_FILE})
23282329

23292330
set_target_properties(wolfssl
23302331
PROPERTIES

cmake/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ This directory contains some supplementary functions for the [CMakeLists.txt](..
44

55
See also cmake notes in the [INSTALL](../INSTALL) documentation file.
66

7-
7+
If new CMake build options are added `cmake/options.h.in` must also be updated.

cmake/include.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ EXTRA_DIST += cmake/README.md
22
EXTRA_DIST += cmake/Config.cmake.in
33
EXTRA_DIST += cmake/config.in
44
EXTRA_DIST += cmake/functions.cmake
5+
EXTRA_DIST += cmake/options.h.in
56
EXTRA_DIST += cmake/modules/FindARIA.cmake
67
EXTRA_DIST += cmake/modules/FindOQS.cmake

cmake/options.h.in

Lines changed: 376 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,376 @@
1+
/* options.h.in
2+
*
3+
* Copyright (C) 2006-2024 wolfSSL Inc.
4+
*
5+
* This file is part of wolfSSL.
6+
*
7+
* wolfSSL is free software; you can redistribute it and/or modify
8+
* it under the terms of the GNU General Public License as published by
9+
* the Free Software Foundation; either version 2 of the License, or
10+
* (at your option) any later version.
11+
*
12+
* wolfSSL is distributed in the hope that it will be useful,
13+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
* GNU General Public License for more details.
16+
*
17+
* You should have received a copy of the GNU General Public License
18+
* along with this program; if not, write to the Free Software
19+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
20+
*/
21+
22+
23+
/* cmake template for options.h */
24+
25+
#ifndef WOLFSSL_OPTIONS_H
26+
#define WOLFSSL_OPTIONS_H
27+
28+
29+
#ifdef __cplusplus
30+
extern "C" {
31+
#endif
32+
33+
#ifndef WOLFSSL_OPTIONS_IGNORE_SYS
34+
#undef _GNU_SOURCE
35+
#cmakedefine _GNU_SOURCE
36+
#undef _POSIX_THREADS
37+
#cmakedefine _POSIX_THREADS
38+
#endif
39+
#undef ASIO_USE_WOLFSSL
40+
#cmakedefine ASIO_USE_WOLFSSL
41+
#undef BOOST_ASIO_USE_WOLFSSL
42+
#cmakedefine BOOST_ASIO_USE_WOLFSSL
43+
#undef CURVE25519_SMALL
44+
#cmakedefine CURVE25519_SMALL
45+
#undef CURVE448_SMALL
46+
#cmakedefine CURVE448_SMALL
47+
#undef DEBUG
48+
#cmakedefine DEBUG
49+
#undef DEBUG_WOLFSSL
50+
#cmakedefine DEBUG_WOLFSSL
51+
#undef ECC_SHAMIR
52+
#cmakedefine ECC_SHAMIR
53+
#undef ECC_TIMING_RESISTANT
54+
#cmakedefine ECC_TIMING_RESISTANT
55+
#undef ED25519_SMALL
56+
#cmakedefine ED25519_SMALL
57+
#undef ED448_SMALL
58+
#cmakedefine ED448_SMALL
59+
#undef GCM_SMALL
60+
#cmakedefine GCM_SMALL
61+
#undef GCM_TABLE
62+
#cmakedefine GCM_TABLE
63+
#undef GCM_TABLE_4BIT
64+
#cmakedefine GCM_TABLE_4BIT
65+
#undef GCM_WORD32
66+
#cmakedefine GCM_WORD32
67+
#undef HAVE___UINT128_T
68+
#cmakedefine HAVE___UINT128_T
69+
#undef HAVE_AES_KEYWRAP
70+
#cmakedefine HAVE_AES_KEYWRAP
71+
#undef HAVE_AESCCM
72+
#cmakedefine HAVE_AESCCM
73+
#undef HAVE_AESGCM
74+
#cmakedefine HAVE_AESGCM
75+
#undef HAVE_ALPN
76+
#cmakedefine HAVE_ALPN
77+
#undef HAVE_ARIA
78+
#cmakedefine HAVE_ARIA
79+
#undef HAVE_CERTIFICATE_STATUS_REQUEST
80+
#cmakedefine HAVE_CERTIFICATE_STATUS_REQUEST
81+
#undef HAVE_CERTIFICATE_STATUS_REQUEST_V2
82+
#cmakedefine HAVE_CERTIFICATE_STATUS_REQUEST_V2
83+
#undef HAVE_CHACHA
84+
#cmakedefine HAVE_CHACHA
85+
#undef HAVE_CRL
86+
#cmakedefine HAVE_CRL
87+
#undef HAVE_CRL_IO
88+
#cmakedefine HAVE_CRL_IO
89+
#undef HAVE_CURVE25519
90+
#cmakedefine HAVE_CURVE25519
91+
#undef HAVE_CURVE448
92+
#cmakedefine HAVE_CURVE448
93+
#undef HAVE_DH_DEFAULT_PARAMS
94+
#cmakedefine HAVE_DH_DEFAULT_PARAMS
95+
#undef HAVE_ECC
96+
#cmakedefine HAVE_ECC
97+
#undef HAVE_ECH
98+
#cmakedefine HAVE_ECH
99+
#undef HAVE_ED25519
100+
#cmakedefine HAVE_ED25519
101+
#undef HAVE_ED448
102+
#cmakedefine HAVE_ED448
103+
#undef HAVE_ENCRYPT_THEN_MAC
104+
#cmakedefine HAVE_ENCRYPT_THEN_MAC
105+
#undef HAVE_EX_DATA
106+
#cmakedefine HAVE_EX_DATA
107+
#undef HAVE_EXTENDED_MASTER
108+
#cmakedefine HAVE_EXTENDED_MASTER
109+
#undef HAVE_FFDHE_2048
110+
#cmakedefine HAVE_FFDHE_2048
111+
#undef HAVE_HASHDRBG
112+
#cmakedefine HAVE_HASHDRBG
113+
#undef HAVE_HKDF
114+
#cmakedefine HAVE_HKDF
115+
#undef HAVE_HPKE
116+
#cmakedefine HAVE_HPKE
117+
#undef HAVE_KEYING_MATERIAL
118+
#cmakedefine HAVE_KEYING_MATERIAL
119+
#undef HAVE_LIBOQS
120+
#cmakedefine HAVE_LIBOQS
121+
#undef HAVE_MAX_FRAGMENT
122+
#cmakedefine HAVE_MAX_FRAGMENT
123+
#undef HAVE_OCSP
124+
#cmakedefine HAVE_OCSP
125+
#undef HAVE_ONE_TIME_AUTH
126+
#cmakedefine HAVE_ONE_TIME_AUTH
127+
#undef HAVE_PKCS7
128+
#cmakedefine HAVE_PKCS7
129+
#undef HAVE_POLY1305
130+
#cmakedefine HAVE_POLY1305
131+
#undef HAVE_PTHREAD
132+
#cmakedefine HAVE_PTHREAD
133+
#undef HAVE_REPRODUCIBLE_BUILD
134+
#cmakedefine HAVE_REPRODUCIBLE_BUILD
135+
#undef HAVE_SESSION_TICKET
136+
#cmakedefine HAVE_SESSION_TICKET
137+
#undef HAVE_SNI
138+
#cmakedefine HAVE_SNI
139+
#undef HAVE_SUPPORTED_CURVES
140+
#cmakedefine HAVE_SUPPORTED_CURVES
141+
#undef HAVE_THREAD_LS
142+
#cmakedefine HAVE_THREAD_LS
143+
#undef HAVE_TLS_EXTENSIONS
144+
#cmakedefine HAVE_TLS_EXTENSIONS
145+
#undef HAVE_TRUNCATED_HMAC
146+
#cmakedefine HAVE_TRUNCATED_HMAC
147+
#undef HAVE_TRUSTED_CA
148+
#cmakedefine HAVE_TRUSTED_CA
149+
#undef HAVE_X963_KDF
150+
#cmakedefine HAVE_X963_KDF
151+
#undef NO_AES
152+
#cmakedefine NO_AES
153+
#undef NO_AES_CBC
154+
#cmakedefine NO_AES_CBC
155+
#undef NO_ASN
156+
#cmakedefine NO_ASN
157+
#undef NO_ASN_CRYPT
158+
#cmakedefine NO_ASN_CRYPT
159+
#undef NO_BIG_INT
160+
#cmakedefine NO_BIG_INT
161+
#undef NO_CERTS
162+
#cmakedefine NO_CERTS
163+
#undef NO_CHACHA_ASM
164+
#cmakedefine NO_CHACHA_ASM
165+
#undef NO_CODING
166+
#cmakedefine NO_CODING
167+
#undef NO_CURVED25519_128BIT
168+
#cmakedefine NO_CURVED25519_128BIT
169+
#undef NO_CURVED448_128BIT
170+
#cmakedefine NO_CURVED448_128BIT
171+
#undef NO_DES3
172+
#cmakedefine NO_DES3
173+
#undef NO_DH
174+
#cmakedefine NO_DH
175+
#undef NO_DSA
176+
#cmakedefine NO_DSA
177+
#undef NO_ERROR_QUEUE
178+
#cmakedefine NO_ERROR_QUEUE
179+
#undef NO_ERROR_STRINGS
180+
#cmakedefine NO_ERROR_STRINGS
181+
#undef NO_FILESYSTEM
182+
#cmakedefine NO_FILESYSTEM
183+
#undef NO_INLINE
184+
#cmakedefine NO_INLINE
185+
#undef NO_MD4
186+
#cmakedefine NO_MD4
187+
#undef NO_MD5
188+
#cmakedefine NO_MD5
189+
#undef NO_OLD_RNGNAME
190+
#cmakedefine NO_OLD_RNGNAME
191+
#undef NO_OLD_SHA_NAMES
192+
#cmakedefine NO_OLD_SHA_NAMES
193+
#undef NO_OLD_SSL_NAMES
194+
#cmakedefine NO_OLD_SSL_NAMES
195+
#undef NO_OLD_TLS
196+
#cmakedefine NO_OLD_TLS
197+
#undef NO_OLD_WC_NAMES
198+
#cmakedefine NO_OLD_WC_NAMES
199+
#undef NO_PKCS12
200+
#cmakedefine NO_PKCS12
201+
#undef NO_PSK
202+
#cmakedefine NO_PSK
203+
#undef NO_PWDBASED
204+
#cmakedefine NO_PWDBASED
205+
#undef NO_RC4
206+
#cmakedefine NO_RC4
207+
#undef NO_RSA
208+
#cmakedefine NO_RSA
209+
#undef NO_SESSION_CACHE_REF
210+
#cmakedefine NO_SESSION_CACHE_REF
211+
#undef NO_SHA
212+
#cmakedefine NO_SHA
213+
#undef NO_WOLFSSL_MEMORY
214+
#cmakedefine NO_WOLFSSL_MEMORY
215+
#undef OPENSSL_ALL
216+
#cmakedefine OPENSSL_ALL
217+
#undef OPENSSL_EXTRA
218+
#cmakedefine OPENSSL_EXTRA
219+
#undef OPENSSL_NO_SSL2
220+
#cmakedefine OPENSSL_NO_SSL2
221+
#undef OPENSSL_NO_SSL3
222+
#cmakedefine OPENSSL_NO_SSL3
223+
#undef SSL_TXT_TLSV1_2
224+
#cmakedefine SSL_TXT_TLSV1_2
225+
#undef TFM_ECC256
226+
#cmakedefine TFM_ECC256
227+
#undef TFM_NO_ASM
228+
#cmakedefine TFM_NO_ASM
229+
#undef TFM_TIMING_RESISTANT
230+
#cmakedefine TFM_TIMING_RESISTANT
231+
#undef USE_FAST_MATH
232+
#cmakedefine USE_FAST_MATH
233+
#undef WC_16BIT_CPU
234+
#cmakedefine WC_16BIT_CPU
235+
#undef WC_ECC_NONBLOCK
236+
#cmakedefine WC_ECC_NONBLOCK
237+
#undef WC_NO_ASYNC_THREADING
238+
#cmakedefine WC_NO_ASYNC_THREADING
239+
#undef WC_NO_HARDEN
240+
#cmakedefine WC_NO_HARDEN
241+
#undef WC_NO_HASHDRBG
242+
#cmakedefine WC_NO_HASHDRBG
243+
#undef WC_NO_RNG
244+
#cmakedefine WC_NO_RNG
245+
#undef WC_NO_RSA_OAEP
246+
#cmakedefine WC_NO_RSA_OAEP
247+
#undef WC_RSA_BLINDING
248+
#cmakedefine WC_RSA_BLINDING
249+
#undef WC_RSA_NO_PADDING
250+
#cmakedefine WC_RSA_NO_PADDING
251+
#undef WC_RSA_PSS
252+
#cmakedefine WC_RSA_PSS
253+
#undef WOLF_CRYPTO_CB
254+
#cmakedefine WOLF_CRYPTO_CB
255+
#undef WOLFSSL_AARCH64_BUILD
256+
#cmakedefine WOLFSSL_AARCH64_BUILD
257+
#undef WOLFSSL_AES_CFB
258+
#cmakedefine WOLFSSL_AES_CFB
259+
#undef WOLFSSL_AES_COUNTER
260+
#cmakedefine WOLFSSL_AES_COUNTER
261+
#undef WOLFSSL_AES_DIRECT
262+
#cmakedefine WOLFSSL_AES_DIRECT
263+
#undef WOLFSSL_AES_OFB
264+
#cmakedefine WOLFSSL_AES_OFB
265+
#undef WOLFSSL_AES_SIV
266+
#cmakedefine WOLFSSL_AES_SIV
267+
#undef WOLFSSL_ALT_CERT_CHAINS
268+
#cmakedefine WOLFSSL_ALT_CERT_CHAINS
269+
#undef WOLFSSL_APPLE_NATIVE_CERT_VALIDATION
270+
#cmakedefine WOLFSSL_APPLE_NATIVE_CERT_VALIDATION
271+
#undef WOLFSSL_ASIO
272+
#cmakedefine WOLFSSL_ASIO
273+
#undef WOLFSSL_BASE64_ENCODE
274+
#cmakedefine WOLFSSL_BASE64_ENCODE
275+
#undef WOLFSSL_CAAM
276+
#cmakedefine WOLFSSL_CAAM
277+
#undef WOLFSSL_CERT_EXT
278+
#cmakedefine WOLFSSL_CERT_EXT
279+
#undef WOLFSSL_CERT_GEN
280+
#cmakedefine WOLFSSL_CERT_GEN
281+
#undef WOLFSSL_CERT_GEN_CACHE
282+
#cmakedefine WOLFSSL_CERT_GEN_CACHE
283+
#undef WOLFSSL_CERT_NAME_ALL
284+
#cmakedefine WOLFSSL_CERT_NAME_ALL
285+
#undef WOLFSSL_CERT_REQ
286+
#cmakedefine WOLFSSL_CERT_REQ
287+
#undef WOLFSSL_CMAC
288+
#cmakedefine WOLFSSL_CMAC
289+
#undef WOLFSSL_DES_ECB
290+
#cmakedefine WOLFSSL_DES_ECB
291+
#undef WOLFSSL_DH_CONST
292+
#cmakedefine WOLFSSL_DH_CONST
293+
#undef WOLFSSL_DTLS
294+
#cmakedefine WOLFSSL_DTLS
295+
#undef WOLFSSL_DTLS_CID
296+
#cmakedefine WOLFSSL_DTLS_CID
297+
#undef WOLFSSL_DTLS13
298+
#cmakedefine WOLFSSL_DTLS13
299+
#undef WOLFSSL_EITHER_SIDE
300+
#cmakedefine WOLFSSL_EITHER_SIDE
301+
#undef WOLFSSL_ENCRYPTED_KEYS
302+
#cmakedefine WOLFSSL_ENCRYPTED_KEYS
303+
#undef WOLFSSL_ERROR_CODE_OPENSSL
304+
#cmakedefine WOLFSSL_ERROR_CODE_OPENSSL
305+
#undef WOLFSSL_IP_ALT_NAME
306+
#cmakedefine WOLFSSL_IP_ALT_NAME
307+
#undef WOLFSSL_KEY_GEN
308+
#cmakedefine WOLFSSL_KEY_GEN
309+
#undef WOLFSSL_NO_ASM
310+
#cmakedefine WOLFSSL_NO_ASM
311+
#undef WOLFSSL_NO_SHAKE128
312+
#cmakedefine WOLFSSL_NO_SHAKE128
313+
#undef WOLFSSL_NO_SHAKE256
314+
#cmakedefine WOLFSSL_NO_SHAKE256
315+
#undef WOLFSSL_NO_TLS12
316+
#cmakedefine WOLFSSL_NO_TLS12
317+
#undef WOLFSSL_POST_HANDSHAKE_AUTH
318+
#cmakedefine WOLFSSL_POST_HANDSHAKE_AUTH
319+
#undef WOLFSSL_PSS_LONG_SALT
320+
#cmakedefine WOLFSSL_PSS_LONG_SALT
321+
#undef WOLFSSL_PUBLIC_MP
322+
#cmakedefine WOLFSSL_PUBLIC_MP
323+
#undef WOLFSSL_QUIC
324+
#cmakedefine WOLFSSL_QUIC
325+
#undef WOLFSSL_SEND_HRR_COOKIE
326+
#cmakedefine WOLFSSL_SEND_HRR_COOKIE
327+
#undef WOLFSSL_SHA224
328+
#cmakedefine WOLFSSL_SHA224
329+
#undef WOLFSSL_SHA3
330+
#cmakedefine WOLFSSL_SHA3
331+
#undef WOLFSSL_SHA3_SMALL
332+
#cmakedefine WOLFSSL_SHA3_SMALL
333+
#undef WOLFSSL_SHA384
334+
#cmakedefine WOLFSSL_SHA384
335+
#undef WOLFSSL_SHA512
336+
#cmakedefine WOLFSSL_SHA512
337+
#undef WOLFSSL_SHAKE128
338+
#cmakedefine WOLFSSL_SHAKE128
339+
#undef WOLFSSL_SHAKE256
340+
#cmakedefine WOLFSSL_SHAKE256
341+
#undef WOLFSSL_SRTP
342+
#cmakedefine WOLFSSL_SRTP
343+
#undef WOLFSSL_SYS_CA_CERTS
344+
#cmakedefine WOLFSSL_SYS_CA_CERTS
345+
#undef WOLFSSL_TICKET_HAVE_ID
346+
#cmakedefine WOLFSSL_TICKET_HAVE_ID
347+
#undef WOLFSSL_TICKET_NONCE_MALLOC
348+
#cmakedefine WOLFSSL_TICKET_NONCE_MALLOC
349+
#undef WOLFSSL_TLS13
350+
#cmakedefine WOLFSSL_TLS13
351+
#undef WOLFSSL_USE_ALIGN
352+
#cmakedefine WOLFSSL_USE_ALIGN
353+
#undef WOLFSSL_USER_SETTINGS_ASM
354+
#cmakedefine WOLFSSL_USER_SETTINGS_ASM
355+
#undef WOLFSSL_W64_WRAPPER
356+
#cmakedefine WOLFSSL_W64_WRAPPER
357+
#undef WOLFSSL_WOLFSSH
358+
#cmakedefine WOLFSSL_WOLFSSH
359+
#undef WOLFSSL_X86_64_BUILD
360+
#cmakedefine WOLFSSL_X86_64_BUILD
361+
#undef NO_DES3_TLS_SUITES
362+
#cmakedefine NO_DES3_TLS_SUITES
363+
#undef WOLFSSL_EXPERIMENTAL_SETTINGS
364+
#cmakedefine WOLFSSL_EXPERIMENTAL_SETTINGS
365+
#undef WOLFSSL_HAVE_KYBER
366+
#cmakedefine WOLFSSL_HAVE_KYBER
367+
#undef WOLFSSL_WC_KYBER
368+
#cmakedefine WOLFSSL_WC_KYBER
369+
370+
#ifdef __cplusplus
371+
}
372+
#endif
373+
374+
375+
#endif /* WOLFSSL_OPTIONS_H */
376+

0 commit comments

Comments
 (0)