cmake: add more build options in line with automake

Updates
  - ~100 individual options added (ciphers, TLS features, debug/test, caches,
  kernel-module, key-size numerics, asm) + fixed WOLFSSL_32BIT's missing define.
  - 37 app-integration bundles (openssh, nginx, haproxy, openvpn, wpas,
  apachehttpd, jni, wolfclu, wolfsentry, ...) - each force-enables its
  sub-options and emits its defines; all build clean and match ./configure
  --enable-X exactly (miss=0/extra=0).
  - Each option wired in 3 places: add_option + define in CMakeLists.txt,
  #cmakedefine in options.h.in, source selection where needed. Verified by real
  libwolfssl.so builds.
This commit is contained in:
Sean Parkinson
2026-07-02 10:34:28 +10:00
parent 4de819075f
commit 7a1513468d
3 changed files with 1755 additions and 8 deletions
+1227 -8
View File
File diff suppressed because it is too large Load Diff
+110
View File
@@ -9,6 +9,35 @@ function(override_cache VAR VAL)
set_property(CACHE ${VAR} PROPERTY VALUE ${VAL})
endfunction()
# Record that an option must be forced to a given value by a dependency (e.g. an
# application bundle enabling the algorithms it needs). The force is applied by
# add_option() when the option is later defined, so it must be recorded before
# that add_option() call runs. This keeps the option's declared type and help
# text intact (unlike creating the cache entry early), and makes the dependency
# explicit rather than relying on cross-file cache-precedence side effects.
function(force_option NAME VALUE)
set_property(GLOBAL PROPERTY "WOLFSSL_FORCE_${NAME}" "${VALUE}")
# Track pending forces so an unconsumed one (no matching add_option) can be
# reported by wolfssl_warn_unconsumed_forces() -- a force on an option that
# is not declared via add_option() would otherwise be silently ignored.
set_property(GLOBAL APPEND PROPERTY WOLFSSL_FORCE_PENDING "${NAME}")
endfunction()
# Warn about any force_option() whose target option was never declared with
# add_option() (so the force never took effect). Call after all options are
# defined and before generate_build_flags().
function(wolfssl_warn_unconsumed_forces)
get_property(_pending GLOBAL PROPERTY WOLFSSL_FORCE_PENDING)
if(_pending)
list(REMOVE_DUPLICATES _pending)
foreach(_n ${_pending})
message(WARNING
"force_option(${_n}) had no effect: no add_option(\"${_n}\") "
"was declared to consume it.")
endforeach()
endif()
endfunction()
function(add_option NAME HELP_STRING DEFAULT VALUES)
if(VALUES STREQUAL "yes;no")
# Set the default value for the option.
@@ -20,6 +49,20 @@ function(add_option NAME HELP_STRING DEFAULT VALUES)
set_property(CACHE ${NAME} PROPERTY STRINGS ${VALUES})
endif()
# Apply any dependency force recorded via force_option(). Done after the
# cache entry is created (so its BOOL/STRING type and help are preserved)
# and before the reduction below, so the forced value drives this option's
# own define/source emission just as an explicit setting would.
get_property(_wolfssl_forced GLOBAL PROPERTY "WOLFSSL_FORCE_${NAME}" SET)
if(_wolfssl_forced)
get_property(_wolfssl_force_val GLOBAL PROPERTY "WOLFSSL_FORCE_${NAME}")
override_cache(${NAME} "${_wolfssl_force_val}")
# Mark this force as consumed so it is not reported as unconsumed.
get_property(_pending GLOBAL PROPERTY WOLFSSL_FORCE_PENDING)
list(REMOVE_ITEM _pending "${NAME}")
set_property(GLOBAL PROPERTY WOLFSSL_FORCE_PENDING "${_pending}")
endif()
if(DEFINED ${NAME})
list(FIND VALUES ${${NAME}} IDX)
#
@@ -336,6 +379,19 @@ function(generate_build_flags)
set(BUILD_DEBUG "yes" PARENT_SCOPE)
endif()
set(BUILD_RC2 ${WOLFSSL_RC2} PARENT_SCOPE)
if(WOLFSSL_ASCON OR WOLFSSL_USER_SETTINGS)
set(BUILD_ASCON "yes" PARENT_SCOPE)
endif()
if(WOLFSSL_SM2 OR WOLFSSL_USER_SETTINGS)
set(BUILD_SM2 "yes" PARENT_SCOPE)
endif()
if(WOLFSSL_SM3 OR WOLFSSL_USER_SETTINGS)
set(BUILD_SM3 "yes" PARENT_SCOPE)
endif()
if(WOLFSSL_SM4_CBC OR WOLFSSL_SM4_CTR OR WOLFSSL_SM4_ECB OR WOLFSSL_SM4_GCM OR
WOLFSSL_SM4_CCM OR WOLFSSL_USER_SETTINGS)
set(BUILD_SM4 "yes" PARENT_SCOPE)
endif()
if(WOLFSSL_CAAM)
set(BUILD_CAAM "yes" PARENT_SCOPE)
endif()
@@ -880,6 +936,56 @@ function(generate_lib_src_list LIB_SOURCES)
list(APPEND LIB_SOURCES wolfcrypt/src/blake2s.c)
endif()
if(BUILD_RC2)
list(APPEND LIB_SOURCES wolfcrypt/src/rc2.c)
endif()
if(BUILD_ASCON)
list(APPEND LIB_SOURCES wolfcrypt/src/ascon.c)
endif()
# ShangMi SM2/SM3/SM4. The implementation files are provided by the
# external wolfsm add-on (the in-tree files are stubs that #error
# without it), matching automake's --enable-sm* behaviour. src/include.am
# guards all three with !BUILD_FIPS_V2_PLUS (excludes FIPS v2 AND v5), so
# reproduce that here (the enclosing scope is only NOT BUILD_FIPS_RAND).
if(NOT BUILD_FIPS_V2 AND NOT BUILD_FIPS_V5)
if(BUILD_SM2)
list(APPEND LIB_SOURCES wolfcrypt/src/sm2.c)
if(BUILD_SP)
if(BUILD_SP_C)
list(APPEND LIB_SOURCES
wolfcrypt/src/sp_sm2_c32.c
wolfcrypt/src/sp_sm2_c64.c)
endif()
if(BUILD_SP_X86_64)
list(APPEND LIB_SOURCES wolfcrypt/src/sp_sm2_x86_64.c)
if(WOLFSSL_X86_64_BUILD_ASM)
list(APPEND LIB_SOURCES wolfcrypt/src/sp_sm2_x86_64_asm.S)
endif()
endif()
if(BUILD_SP_ARM32)
list(APPEND LIB_SOURCES wolfcrypt/src/sp_sm2_arm32.c)
endif()
if(BUILD_SP_ARM_THUMB)
list(APPEND LIB_SOURCES wolfcrypt/src/sp_sm2_armthumb.c)
endif()
if(BUILD_SP_ARM64)
list(APPEND LIB_SOURCES wolfcrypt/src/sp_sm2_arm64.c)
endif()
if(BUILD_SP_ARM_CORTEX)
list(APPEND LIB_SOURCES wolfcrypt/src/sp_sm2_cortexm.c)
endif()
endif()
endif()
if(BUILD_SM3)
list(APPEND LIB_SOURCES wolfcrypt/src/sm3.c)
endif()
if(BUILD_SM4)
list(APPEND LIB_SOURCES wolfcrypt/src/sm4.c)
endif()
endif()
if(BUILD_CHACHA)
list(APPEND LIB_SOURCES wolfcrypt/src/chacha.c)
@@ -1240,6 +1346,10 @@ function(set_wolfssl_definitions SEARCH_VALUE RESULT)
message(STATUS "Enabling ${SEARCH_VALUE}")
list(APPEND WOLFSSL_DEFINITIONS "-D${SEARCH_VALUE}")
# Propagate the appended flag to the caller so it actually reaches the
# compile line (without PARENT_SCOPE the append is confined to this
# function). Duplicates are collapsed later by list(REMOVE_DUPLICATES).
set(WOLFSSL_DEFINITIONS "${WOLFSSL_DEFINITIONS}" PARENT_SCOPE)
set(${SEARCH_VALUE} 1 PARENT_SCOPE)
# override_cache("${SEARCH_VALUE}" "yes")
# Need to check that value is settable
+418
View File
@@ -241,6 +241,8 @@ extern "C" {
#cmakedefine USE_FAST_MATH
#undef WC_16BIT_CPU
#cmakedefine WC_16BIT_CPU
#undef WC_32BIT_CPU
#cmakedefine WC_32BIT_CPU
#undef WC_ECC_NONBLOCK
#cmakedefine WC_ECC_NONBLOCK
#undef WC_NO_ASYNC_THREADING
@@ -424,6 +426,422 @@ extern "C" {
#undef WOLFSSL_EXTRA_PQC_HYBRIDS
#cmakedefine WOLFSSL_EXTRA_PQC_HYBRIDS
/* Parity with configure.ac -- additional options */
#undef WOLFSSL_KERNEL_BENCHMARKS
#cmakedefine WOLFSSL_KERNEL_BENCHMARKS
#undef WOLFSSL_KERNEL_VERBOSE_DEBUG
#cmakedefine WOLFSSL_KERNEL_VERBOSE_DEBUG
#undef WOLFSSL_KERNEL_STACK_DEBUG
#cmakedefine WOLFSSL_KERNEL_STACK_DEBUG
#undef WOLFSSL_KERNEL_MODE_DEFAULTS
#cmakedefine WOLFSSL_KERNEL_MODE_DEFAULTS
#undef WC_SYM_RELOC_TABLES
#cmakedefine WC_SYM_RELOC_TABLES
#undef WOLFSSL_LINUXKM_BENCHMARKS
#cmakedefine WOLFSSL_LINUXKM_BENCHMARKS
#undef WOLFSSL_DEBUG_CODEPOINTS
#cmakedefine WOLFSSL_DEBUG_CODEPOINTS
#undef WOLFSSL_MEMORY_LOG
#cmakedefine WOLFSSL_MEMORY_LOG
#undef WOLFSSL_STACK_LOG
#cmakedefine WOLFSSL_STACK_LOG
#undef HAVE_CAMELLIA
#cmakedefine HAVE_CAMELLIA
#undef HAVE_BLAKE2B
#cmakedefine HAVE_BLAKE2B
#undef HAVE_BLAKE2S
#cmakedefine HAVE_BLAKE2S
#undef WC_RC2
#cmakedefine WC_RC2
#undef HAVE_ASCON
#cmakedefine HAVE_ASCON
#undef WOLFSSL_AES_EAX
#cmakedefine WOLFSSL_AES_EAX
#undef WOLFSSL_AES_CBC_LENGTH_CHECKS
#cmakedefine WOLFSSL_AES_CBC_LENGTH_CHECKS
#undef HAVE_INTEL_RDRAND
#cmakedefine HAVE_INTEL_RDRAND
#undef HAVE_INTEL_RDSEED
#cmakedefine HAVE_INTEL_RDSEED
#undef HAVE_AMD_RDSEED
#cmakedefine HAVE_AMD_RDSEED
#undef TITAN_SESSION_CACHE
#cmakedefine TITAN_SESSION_CACHE
#undef HUGE_SESSION_CACHE
#cmakedefine HUGE_SESSION_CACHE
#undef BIG_SESSION_CACHE
#cmakedefine BIG_SESSION_CACHE
#undef SMALL_SESSION_CACHE
#cmakedefine SMALL_SESSION_CACHE
#undef PERSIST_SESSION_CACHE
#cmakedefine PERSIST_SESSION_CACHE
#undef PERSIST_CERT_CACHE
#cmakedefine PERSIST_CERT_CACHE
#undef WOLFSSL_ALLOW_TLSV10
#cmakedefine WOLFSSL_ALLOW_TLSV10
#undef HAVE_RENEGOTIATION_INDICATION
#cmakedefine HAVE_RENEGOTIATION_INDICATION
#undef HAVE_FALLBACK_SCSV
#cmakedefine HAVE_FALLBACK_SCSV
#undef HAVE_WRITE_DUP
#cmakedefine HAVE_WRITE_DUP
#undef ATOMIC_USER
#cmakedefine ATOMIC_USER
#undef WOLFSSL_USE_RWLOCK
#cmakedefine WOLFSSL_USE_RWLOCK
#undef WOLFSSL_DTLS_MTU
#cmakedefine WOLFSSL_DTLS_MTU
#undef WOLFSSL_HMAC_COPY_HASH
#cmakedefine WOLFSSL_HMAC_COPY_HASH
#undef WOLFSSL_CERT_SIGN_CB
#cmakedefine WOLFSSL_CERT_SIGN_CB
#undef WOLFSSL_SEP
#cmakedefine WOLFSSL_SEP
#undef KEEP_PEER_CERT
#cmakedefine KEEP_PEER_CERT
#undef WOLFSSL_ASN_PRINT
#cmakedefine WOLFSSL_ASN_PRINT
#undef ASN_BER_TO_DER
#cmakedefine ASN_BER_TO_DER
#undef WOLFSSL_TEST_CERT
#cmakedefine WOLFSSL_TEST_CERT
#undef WOLFCRYPT_HAVE_SRP
#cmakedefine WOLFCRYPT_HAVE_SRP
#undef HAVE_MOSQUITTO
#cmakedefine HAVE_MOSQUITTO
#undef HAVE_WEBSERVER
#cmakedefine HAVE_WEBSERVER
#undef HAVE_HTTP_CLIENT
#cmakedefine HAVE_HTTP_CLIENT
#undef WC_CUDA
#cmakedefine WC_CUDA
#undef HAVE_CUDA
#cmakedefine HAVE_CUDA
#undef WOLF_C89
#cmakedefine WOLF_C89
#undef WOLFSSL_AUTOSAR
#cmakedefine WOLFSSL_AUTOSAR
#undef WOLFSSL_HASH_FLAGS
#cmakedefine WOLFSSL_HASH_FLAGS
#undef WOLFSSL_XILINX
#cmakedefine WOLFSSL_XILINX
#undef WOLFSSL_XILINX_CRYPT
#cmakedefine WOLFSSL_XILINX_CRYPT
#undef WOLFSSL_CHECK_SIG_FAULTS
#cmakedefine WOLFSSL_CHECK_SIG_FAULTS
#undef WOLFSSL_CHECK_VER_FAULTS
#cmakedefine WOLFSSL_CHECK_VER_FAULTS
#undef WC_SHA3_FAULT_HARDEN
#cmakedefine WC_SHA3_FAULT_HARDEN
#undef WC_MLKEM_FAULT_HARDEN
#cmakedefine WC_MLKEM_FAULT_HARDEN
#undef WC_MLDSA_FAULT_HARDEN
#cmakedefine WC_MLDSA_FAULT_HARDEN
#undef WOLFSSL_SM3
#cmakedefine WOLFSSL_SM3
#undef WOLFSSL_SM3_SMALL
#cmakedefine WOLFSSL_SM3_SMALL
#undef WOLFSSL_TRACK_MEMORY
#cmakedefine WOLFSSL_TRACK_MEMORY
#undef WOLFSSL_DEBUG_MEMORY
#cmakedefine WOLFSSL_DEBUG_MEMORY
#undef WOLFSSL_FORCE_MALLOC_FAIL_TEST
#cmakedefine WOLFSSL_FORCE_MALLOC_FAIL_TEST
#undef WOLFSSL_DEBUG_TRACE_ERROR_CODES
#cmakedefine WOLFSSL_DEBUG_TRACE_ERROR_CODES
#undef WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES
#cmakedefine WOLFSSL_DEBUG_BACKTRACE_ERROR_CODES
#undef HAVE_DO178
#cmakedefine HAVE_DO178
#undef NO_DO178
#cmakedefine NO_DO178
/* parity: dependency/value options (wave A) */
#undef HAVE_XCHACHA
#cmakedefine HAVE_XCHACHA
#undef HAVE_CMAC_KDF
#cmakedefine HAVE_CMAC_KDF
#undef FP_ECC
#cmakedefine FP_ECC
#undef WC_RNG_BANK_SUPPORT
#cmakedefine WC_RNG_BANK_SUPPORT
#undef HAVE_VALGRIND
#cmakedefine HAVE_VALGRIND
#undef HAVE_CRL_MONITOR
#cmakedefine HAVE_CRL_MONITOR
#undef WOLFSSL_TRACK_MEMORY_VERBOSE
#cmakedefine WOLFSSL_TRACK_MEMORY_VERBOSE
#undef HAVE_STACK_SIZE
#cmakedefine HAVE_STACK_SIZE
#undef HAVE_STACK_SIZE_VERBOSE
#cmakedefine HAVE_STACK_SIZE_VERBOSE
#undef MAX_EX_DATA
#cmakedefine MAX_EX_DATA @MAX_EX_DATA@
#undef ECC_MIN_KEY_SZ
#cmakedefine ECC_MIN_KEY_SZ @ECC_MIN_KEY_SZ@
/* parity: crypto/TLS feature options (wave B) */
#undef WOLFSSL_MD2
#cmakedefine WOLFSSL_MD2
#undef WOLFSSL_RIPEMD
#cmakedefine WOLFSSL_RIPEMD
#undef WOLFSSL_BASE16
#cmakedefine WOLFSSL_BASE16
#undef WOLFSSL_PSK_ONE_ID
#cmakedefine WOLFSSL_PSK_ONE_ID
#undef WOLFSSL_RSA_PUBLIC_ONLY
#cmakedefine WOLFSSL_RSA_PUBLIC_ONLY
#undef WOLFSSL_RSA_VERIFY_ONLY
#cmakedefine WOLFSSL_RSA_VERIFY_ONLY
#undef WOLFSSL_RSA_VERIFY_INLINE
#cmakedefine WOLFSSL_RSA_VERIFY_INLINE
#undef NO_SIG_WRAPPER
#cmakedefine NO_SIG_WRAPPER
#undef NO_CHECK_PRIVATE_KEY
#cmakedefine NO_CHECK_PRIVATE_KEY
#undef WOLFSSL_ALLOW_SSLV3
#cmakedefine WOLFSSL_ALLOW_SSLV3
#undef WOLFSSL_SMALL_STACK_CACHE
#cmakedefine WOLFSSL_SMALL_STACK_CACHE
#undef WOLFSSL_SMALL_STACK
#cmakedefine WOLFSSL_SMALL_STACK
#undef SESSION_CERTS
#cmakedefine SESSION_CERTS
#undef HAVE_SECURE_RENEGOTIATION
#cmakedefine HAVE_SECURE_RENEGOTIATION
#undef HAVE_SERVER_RENEGOTIATION_INFO
#cmakedefine HAVE_SERVER_RENEGOTIATION_INFO
#undef ERROR_QUEUE_PER_THREAD
#cmakedefine ERROR_QUEUE_PER_THREAD
#undef HAVE_ANON
#cmakedefine HAVE_ANON
#undef WOLFSSL_EARLY_DATA
#cmakedefine WOLFSSL_EARLY_DATA
#undef WOLFSSL_EARLY_DATA_GROUP
#cmakedefine WOLFSSL_EARLY_DATA_GROUP
#undef WOLFSSL_SM2
#cmakedefine WOLFSSL_SM2
#undef WOLFSSL_SM4
#cmakedefine WOLFSSL_SM4
#undef WOLFSSL_SM4_CBC
#cmakedefine WOLFSSL_SM4_CBC
#undef WOLFSSL_SM4_CTR
#cmakedefine WOLFSSL_SM4_CTR
#undef WOLFSSL_SM4_ECB
#cmakedefine WOLFSSL_SM4_ECB
#undef WOLFSSL_SM4_GCM
#cmakedefine WOLFSSL_SM4_GCM
#undef WOLFSSL_SM4_CCM
#cmakedefine WOLFSSL_SM4_CCM
#undef WOLFSSL_SM4_SMALL
#cmakedefine WOLFSSL_SM4_SMALL
#undef WOLFSSL_STATIC_MEMORY
#cmakedefine WOLFSSL_STATIC_MEMORY
#undef WOLFSSL_STATIC_MEMORY_LEAN
#cmakedefine WOLFSSL_STATIC_MEMORY_LEAN
#undef WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK
#cmakedefine WOLFSSL_STATIC_MEMORY_DEBUG_CALLBACK
#undef NO_TLS
#cmakedefine NO_TLS
#undef NO_SHA256
#cmakedefine NO_SHA256
#undef NO_PKCS8
#cmakedefine NO_PKCS8
#undef NO_OLD_MD5_NAME
#cmakedefine NO_OLD_MD5_NAME
/* parity: value/dep feature options (wave C) */
#undef OPENSSL_COEXIST
#cmakedefine OPENSSL_COEXIST
#undef WC_AES_BITSLICED
#cmakedefine WC_AES_BITSLICED
#undef HAVE_ECC_ENCRYPT
#cmakedefine HAVE_ECC_ENCRYPT
#undef WOLFSSL_ECIES_OLD
#cmakedefine WOLFSSL_ECIES_OLD
#undef WOLFSSL_ECIES_ISO18033
#cmakedefine WOLFSSL_ECIES_ISO18033
#undef WOLFSSL_ECIES_GEN_IV
#cmakedefine WOLFSSL_ECIES_GEN_IV
#undef WOLFSSL_EXTRA_ALERTS
#cmakedefine WOLFSSL_EXTRA_ALERTS
#undef WOLFSSL_CHECK_ALERT_ON_ERR
#cmakedefine WOLFSSL_CHECK_ALERT_ON_ERR
#undef HAVE_LIBZ
#cmakedefine HAVE_LIBZ
#undef WOLFSSL_HARDEN_TLS
#cmakedefine WOLFSSL_HARDEN_TLS @WOLFSSL_HARDEN_TLS@
/* parity: maximum key size options (wave D) */
#undef RSA_MAX_SIZE
#cmakedefine RSA_MAX_SIZE @RSA_MAX_SIZE@
#undef MAX_ECC_BITS
#cmakedefine MAX_ECC_BITS @MAX_ECC_BITS@
#undef FP_MAX_BITS
#cmakedefine FP_MAX_BITS @FP_MAX_BITS@
#undef SP_INT_BITS
#cmakedefine SP_INT_BITS @SP_INT_BITS@
/* parity: assembly options (wave E) */
#undef WOLFSSL_RISCV_ASM
#cmakedefine WOLFSSL_RISCV_ASM
#undef WOLFSSL_PPC32_ASM
#cmakedefine WOLFSSL_PPC32_ASM
#undef WOLFSSL_PPC64_ASM
#cmakedefine WOLFSSL_PPC64_ASM
/* parity: application bundle orphan defines */
#undef FORTRESS
#cmakedefine FORTRESS
#undef HAVE_COMP_KEY
#cmakedefine HAVE_COMP_KEY
#undef HAVE_CTS
#cmakedefine HAVE_CTS
#undef HAVE_EXT_CACHE
#cmakedefine HAVE_EXT_CACHE
#undef HAVE_LIBEST
#cmakedefine HAVE_LIBEST
#undef HAVE_LIGHTY
#cmakedefine HAVE_LIGHTY
#undef HAVE_MEMCACHED
#cmakedefine HAVE_MEMCACHED
#undef HAVE_OCSP_RESPONDER
#cmakedefine HAVE_OCSP_RESPONDER
#undef HAVE_OPENSSL_CMD
#cmakedefine HAVE_OPENSSL_CMD
#undef HAVE_SBLIM_SFCB
#cmakedefine HAVE_SBLIM_SFCB
#undef HAVE_STUNNEL
#cmakedefine HAVE_STUNNEL
#undef HAVE_WOLFSSL_SSL_H
#cmakedefine HAVE_WOLFSSL_SSL_H @HAVE_WOLFSSL_SSL_H@
#undef KEEP_OUR_CERT
#cmakedefine KEEP_OUR_CERT
#undef OPENSSL_COMPATIBLE_DEFAULTS
#cmakedefine OPENSSL_COMPATIBLE_DEFAULTS
#undef OPENSSL_EXTRA_X509_SMALL
#cmakedefine OPENSSL_EXTRA_X509_SMALL
#undef OPENSSL_NO_COMP
#cmakedefine OPENSSL_NO_COMP
#undef WC_CTC_NAME_SIZE
#cmakedefine WC_CTC_NAME_SIZE @WC_CTC_NAME_SIZE@
#undef WC_RNG_SEED_CB
#cmakedefine WC_RNG_SEED_CB
#undef WC_SIG_MIN_HASH_TYPE
#cmakedefine WC_SIG_MIN_HASH_TYPE @WC_SIG_MIN_HASH_TYPE@
#undef WOLFSSL_ACME_OID
#cmakedefine WOLFSSL_ACME_OID
#undef WOLFSSL_AESGCM_STREAM
#cmakedefine WOLFSSL_AESGCM_STREAM
#undef WOLFSSL_ALLOW_RC4
#cmakedefine WOLFSSL_ALLOW_RC4
#undef WOLFSSL_ALWAYS_KEEP_SNI
#cmakedefine WOLFSSL_ALWAYS_KEEP_SNI
#undef WOLFSSL_ALWAYS_VERIFY_CB
#cmakedefine WOLFSSL_ALWAYS_VERIFY_CB
#undef WOLFSSL_CERT_SETUP_CB
#cmakedefine WOLFSSL_CERT_SETUP_CB
#undef WOLFSSL_CIPHER_INTERNALNAME
#cmakedefine WOLFSSL_CIPHER_INTERNALNAME
#undef WOLFSSL_DER_LOAD
#cmakedefine WOLFSSL_DER_LOAD
#undef WOLFSSL_DSA_768_MODULUS
#cmakedefine WOLFSSL_DSA_768_MODULUS
#undef WOLFSSL_DTLS_DROP_STATS
#cmakedefine WOLFSSL_DTLS_DROP_STATS
#undef WOLFSSL_KEEP_RNG_SEED_FD_OPEN
#cmakedefine WOLFSSL_KEEP_RNG_SEED_FD_OPEN
#undef WOLFSSL_LOG_PRINTF
#cmakedefine WOLFSSL_LOG_PRINTF
#undef WOLFSSL_NO_INIT_CTX_KEY
#cmakedefine WOLFSSL_NO_INIT_CTX_KEY
#undef WOLFSSL_NO_OCSP_ISSUER_CHECK
#cmakedefine WOLFSSL_NO_OCSP_ISSUER_CHECK
#undef WOLFSSL_PRIORITIZE_PSK
#cmakedefine WOLFSSL_PRIORITIZE_PSK
#undef WOLFSSL_PSS_SALT_LEN_DISCOVER
#cmakedefine WOLFSSL_PSS_SALT_LEN_DISCOVER
#undef WOLFSSL_PUBLIC_ECC_ADD_DBL
#cmakedefine WOLFSSL_PUBLIC_ECC_ADD_DBL
#undef WOLFSSL_SESSION_ID_CTX
#cmakedefine WOLFSSL_SESSION_ID_CTX
#undef WOLFSSL_SIGNER_DER_CERT
#cmakedefine WOLFSSL_SIGNER_DER_CERT
#undef WOLFSSL_TLS13_MIDDLEBOX_COMPAT
#cmakedefine WOLFSSL_TLS13_MIDDLEBOX_COMPAT
#undef WOLFSSL_TLS13_NO_PEEK_HANDSHAKE_DONE
#cmakedefine WOLFSSL_TLS13_NO_PEEK_HANDSHAKE_DONE
#undef WOLFSSL_TRUST_PEER_CERT
#cmakedefine WOLFSSL_TRUST_PEER_CERT
#undef WOLFSSL_VALIDATE_ECC_IMPORT
#cmakedefine WOLFSSL_VALIDATE_ECC_IMPORT
/* parity: application bundle defines */
#undef HAVE_OID_ENCODING
#cmakedefine HAVE_OID_ENCODING
#undef HAVE_PK_CALLBACKS
#cmakedefine HAVE_PK_CALLBACKS
#undef SINGLE_THREADED
#cmakedefine SINGLE_THREADED
#undef WOLFSSL_ALT_NAMES
#cmakedefine WOLFSSL_ALT_NAMES
#undef WOLFSSL_APACHE_HTTPD
#cmakedefine WOLFSSL_APACHE_HTTPD
#undef WOLFSSL_BIND
#cmakedefine WOLFSSL_BIND
#undef WOLFSSL_HAPROXY
#cmakedefine WOLFSSL_HAPROXY
#undef WOLFSSL_HITCH
#cmakedefine WOLFSSL_HITCH
#undef WOLFSSL_JNI
#cmakedefine WOLFSSL_JNI
#undef WOLFSSL_NGINX
#cmakedefine WOLFSSL_NGINX
#undef WOLFSSL_NO_ASN_STRICT
#cmakedefine WOLFSSL_NO_ASN_STRICT
#undef WOLFSSL_OPENSSH
#cmakedefine WOLFSSL_OPENSSH
#undef WOLFSSL_OPENVPN
#cmakedefine WOLFSSL_OPENVPN
#undef WOLFSSL_QT
#cmakedefine WOLFSSL_QT
#undef WOLFSSL_RSYSLOG
#cmakedefine WOLFSSL_RSYSLOG
#undef WOLFSSL_WPAS
#cmakedefine WOLFSSL_WPAS
/* parity: application bundle defines (batch 2) */
#undef HAVE_EX_DATA_CLEANUP_HOOKS
#cmakedefine HAVE_EX_DATA_CLEANUP_HOOKS
#undef HAVE_NULL_CIPHER
#cmakedefine HAVE_NULL_CIPHER
#undef HAVE_SMIME
#cmakedefine HAVE_SMIME
#undef LARGE_STATIC_BUFFERS
#cmakedefine LARGE_STATIC_BUFFERS
#undef OPENSSL_NO_EC
#cmakedefine OPENSSL_NO_EC
#undef WOLFSSL_HAVE_WOLFSCEP
#cmakedefine WOLFSSL_HAVE_WOLFSCEP
#undef WOLFSSL_IOTSAFE
#cmakedefine WOLFSSL_IOTSAFE
#undef WOLFSSL_KRB
#cmakedefine WOLFSSL_KRB
#undef WOLFSSL_LIBWEBSOCKETS
#cmakedefine WOLFSSL_LIBWEBSOCKETS
#undef WOLFSSL_MULTICAST
#cmakedefine WOLFSSL_MULTICAST
#undef WOLFSSL_OLD_EXTDATA_FMT
#cmakedefine WOLFSSL_OLD_EXTDATA_FMT
#undef WOLFSSL_SIGNAL
#cmakedefine WOLFSSL_SIGNAL
#undef WOLFSSL_STATIC_PSK
#cmakedefine WOLFSSL_STATIC_PSK
#undef WOLFSSL_STATIC_RSA
#cmakedefine WOLFSSL_STATIC_RSA
#undef WOLFSSL_WOLFSENTRY_HOOKS
#cmakedefine WOLFSSL_WOLFSENTRY_HOOKS
#ifdef __cplusplus
}
#endif