From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web08.5795.1652157626609748840 for ; Mon, 09 May 2022 21:40:33 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=nbM16djR; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: yi1.li@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652157632; x=1683693632; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=51oylOwNawIp3WYBdbtoiN0bvJgVjGRpJLaytxP3/Mc=; b=nbM16djRtr9V+dwA+xKBRQs5xQ4cWu6WjD0NRX8EU3t5SadjgfNdin8B d8gJtMWAn9N6gVUUu62GV2lfABd7EGMDf7+MYFGYs5b6q5Ji6cHaFJmL2 VaeU+mQEfyLGVxzONXFvj6UrXmqcC6QkvJsooNylVoYmh4yY3zyU3whU5 pYCAh+Vw2Z7JnVut6nhT2Y9y3re5swcqmyEdxyTtUoceNm9Z9i8xTxm3F NOPykIl47G4Y0jXCOn9O3O/d7ViIO9ISTcJqyjedQB7DXJboc6vaD4qGk YlxBWaIKrMkNWxlh9o7TOI8FQZaMdU2UVgu/w/E2zJYYslyAE+HeSDCGS g==; X-IronPort-AV: E=McAfee;i="6400,9594,10342"; a="268099688" X-IronPort-AV: E=Sophos;i="5.91,213,1647327600"; d="scan'208";a="268099688" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 May 2022 21:40:32 -0700 X-IronPort-AV: E=Sophos;i="5.91,213,1647327600"; d="scan'208";a="593269301" Received: from shwdejointd178.ccr.corp.intel.com ([10.239.153.103]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 May 2022 21:40:30 -0700 From: "yi1 li" To: devel@edk2.groups.io Cc: Yi Li , Jiewen Yao , Jian J Wang , Xiaoyu Lu , Guomin Jiang , Gerd Hoffmann Subject: [PATCH V2 2/5] CryptoPkg: Separate auto-generated openssl config and edk2 openssl config Date: Tue, 10 May 2022 12:40:13 +0800 Message-Id: X-Mailer: git-send-email 2.31.1.windows.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Move auto-generated openssl config to opensslconf_generated.h, And opensslconf.h will contain both edk2 conditional openssl feature and opensslconf_generated.h. Will make two part more clear. New conditional feture code in opensslconf.h will look like: /* Autogenerated conditional openssl feature list starts here */ [.....] /* Autogenerated conditional openssl feature list ends here */ Signed-off-by: Yi Li Cc: Jiewen Yao Cc: Jian J Wang Cc: Xiaoyu Lu Cc: Guomin Jiang Cc: Gerd Hoffmann --- .../Library/Include/openssl/opensslconf.h | 331 +---------------- .../Include/openssl/opensslconf_generated.h | 349 ++++++++++++++++++ 2 files changed, 352 insertions(+), 328 deletions(-) create mode 100644 CryptoPkg/Library/Include/openssl/opensslconf_generated.h diff --git a/CryptoPkg/Library/Include/openssl/opensslconf.h b/CryptoPkg/Library/Include/openssl/opensslconf.h index 22a7216cc46c..98962e0fe378 100644 --- a/CryptoPkg/Library/Include/openssl/opensslconf.h +++ b/CryptoPkg/Library/Include/openssl/opensslconf.h @@ -10,339 +10,14 @@ * https://www.openssl.org/source/license.html */ #include -#include +#include #ifdef __cplusplus extern "C" { #endif -#ifdef OPENSSL_ALGORITHM_DEFINES - #error OPENSSL_ALGORITHM_DEFINES no longer supported -#endif - -/* - * OpenSSL was configured with the following options: - */ - -#ifndef OPENSSL_SYS_UEFI -#define OPENSSL_SYS_UEFI 1 -#endif -#define OPENSSL_MIN_API 0x10100000L -#ifndef OPENSSL_NO_BF -#define OPENSSL_NO_BF -#endif -#ifndef OPENSSL_NO_BLAKE2 -#define OPENSSL_NO_BLAKE2 -#endif -#ifndef OPENSSL_NO_CAMELLIA -#define OPENSSL_NO_CAMELLIA -#endif -#ifndef OPENSSL_NO_CAST -#define OPENSSL_NO_CAST -#endif -#ifndef OPENSSL_NO_CHACHA -#define OPENSSL_NO_CHACHA -#endif -#ifndef OPENSSL_NO_CMS -#define OPENSSL_NO_CMS -#endif -#ifndef OPENSSL_NO_CT -#define OPENSSL_NO_CT -#endif -#ifndef OPENSSL_NO_DES -#define OPENSSL_NO_DES -#endif -#ifndef OPENSSL_NO_DSA -#define OPENSSL_NO_DSA -#endif -#if !FixedPcdGetBool (PcdOpensslEcEnabled) - #ifndef OPENSSL_NO_EC -#define OPENSSL_NO_EC - #endif -#endif -#ifndef OPENSSL_NO_IDEA -#define OPENSSL_NO_IDEA -#endif -#ifndef OPENSSL_NO_MD2 -#define OPENSSL_NO_MD2 -#endif -#ifndef OPENSSL_NO_MD4 -#define OPENSSL_NO_MD4 -#endif -#ifndef OPENSSL_NO_MDC2 -#define OPENSSL_NO_MDC2 -#endif -#ifndef OPENSSL_NO_POLY1305 -#define OPENSSL_NO_POLY1305 -#endif -#ifndef OPENSSL_NO_RC2 -#define OPENSSL_NO_RC2 -#endif -#ifndef OPENSSL_NO_RC4 -#define OPENSSL_NO_RC4 -#endif -#ifndef OPENSSL_NO_RC5 -#define OPENSSL_NO_RC5 -#endif -#ifndef OPENSSL_NO_RMD160 -#define OPENSSL_NO_RMD160 -#endif -#ifndef OPENSSL_NO_SEED -#define OPENSSL_NO_SEED -#endif -#ifndef OPENSSL_NO_SM2 -#define OPENSSL_NO_SM2 -#endif -#ifndef OPENSSL_NO_SRP -#define OPENSSL_NO_SRP -#endif -#ifndef OPENSSL_NO_TS -#define OPENSSL_NO_TS -#endif -#ifndef OPENSSL_NO_WHIRLPOOL -#define OPENSSL_NO_WHIRLPOOL -#endif -#ifndef OPENSSL_RAND_SEED_NONE -#define OPENSSL_RAND_SEED_NONE -#endif -#ifndef OPENSSL_NO_AFALGENG -#define OPENSSL_NO_AFALGENG -#endif -#ifndef OPENSSL_NO_APPS -#define OPENSSL_NO_APPS -#endif -#ifndef OPENSSL_NO_ASAN -#define OPENSSL_NO_ASAN -#endif -#ifndef OPENSSL_NO_ASYNC -#define OPENSSL_NO_ASYNC -#endif -#ifndef OPENSSL_NO_AUTOERRINIT -#define OPENSSL_NO_AUTOERRINIT -#endif -#ifndef OPENSSL_NO_AUTOLOAD_CONFIG -#define OPENSSL_NO_AUTOLOAD_CONFIG -#endif -#ifndef OPENSSL_NO_CAPIENG -#define OPENSSL_NO_CAPIENG -#endif -#ifndef OPENSSL_NO_CRYPTO_MDEBUG -#define OPENSSL_NO_CRYPTO_MDEBUG -#endif -#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE -#define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE -#endif -#ifndef OPENSSL_NO_DEPRECATED -#define OPENSSL_NO_DEPRECATED -#endif -#ifndef OPENSSL_NO_DEVCRYPTOENG -#define OPENSSL_NO_DEVCRYPTOENG -#endif -#ifndef OPENSSL_NO_DGRAM -#define OPENSSL_NO_DGRAM -#endif -#ifndef OPENSSL_NO_DTLS -#define OPENSSL_NO_DTLS -#endif -#ifndef OPENSSL_NO_DTLS1 -#define OPENSSL_NO_DTLS1 -#endif -#ifndef OPENSSL_NO_DTLS1_2 -#define OPENSSL_NO_DTLS1_2 -#endif -#ifndef OPENSSL_NO_EC2M -#define OPENSSL_NO_EC2M -#endif -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -#define OPENSSL_NO_EC_NISTP_64_GCC_128 -#endif -#ifndef OPENSSL_NO_ECDH -#define OPENSSL_NO_ECDH -#endif -#ifndef OPENSSL_NO_ECDSA -#define OPENSSL_NO_ECDSA -#endif -#ifndef OPENSSL_NO_EGD -#define OPENSSL_NO_EGD -#endif -#ifndef OPENSSL_NO_ENGINE -#define OPENSSL_NO_ENGINE -#endif -#ifndef OPENSSL_NO_ERR -#define OPENSSL_NO_ERR -#endif -#ifndef OPENSSL_NO_EXTERNAL_TESTS -#define OPENSSL_NO_EXTERNAL_TESTS -#endif -#ifndef OPENSSL_NO_FILENAMES -#define OPENSSL_NO_FILENAMES -#endif -#ifndef OPENSSL_NO_FUZZ_AFL -#define OPENSSL_NO_FUZZ_AFL -#endif -#ifndef OPENSSL_NO_FUZZ_LIBFUZZER -#define OPENSSL_NO_FUZZ_LIBFUZZER -#endif -#ifndef OPENSSL_NO_GOST -#define OPENSSL_NO_GOST -#endif -#ifndef OPENSSL_NO_HEARTBEATS -#define OPENSSL_NO_HEARTBEATS -#endif -#ifndef OPENSSL_NO_HW -#define OPENSSL_NO_HW -#endif -#ifndef OPENSSL_NO_MSAN -#define OPENSSL_NO_MSAN -#endif -#ifndef OPENSSL_NO_OCB -#define OPENSSL_NO_OCB -#endif -#ifndef OPENSSL_NO_POSIX_IO -#define OPENSSL_NO_POSIX_IO -#endif -#ifndef OPENSSL_NO_RFC3779 -#define OPENSSL_NO_RFC3779 -#endif -#ifndef OPENSSL_NO_SCRYPT -#define OPENSSL_NO_SCRYPT -#endif -#ifndef OPENSSL_NO_SCTP -#define OPENSSL_NO_SCTP -#endif -#ifndef OPENSSL_NO_SOCK -#define OPENSSL_NO_SOCK -#endif -#ifndef OPENSSL_NO_SSL_TRACE -#define OPENSSL_NO_SSL_TRACE -#endif -#ifndef OPENSSL_NO_SSL3 -#define OPENSSL_NO_SSL3 -#endif -#ifndef OPENSSL_NO_SSL3_METHOD -#define OPENSSL_NO_SSL3_METHOD -#endif -#ifndef OPENSSL_NO_STDIO -#define OPENSSL_NO_STDIO -#endif -#ifndef OPENSSL_NO_TESTS -#define OPENSSL_NO_TESTS -#endif -#ifndef OPENSSL_NO_TLS1_3 -#define OPENSSL_NO_TLS1_3 -#endif -#ifndef OPENSSL_NO_UBSAN -#define OPENSSL_NO_UBSAN -#endif -#ifndef OPENSSL_NO_UI_CONSOLE -#define OPENSSL_NO_UI_CONSOLE -#endif -#ifndef OPENSSL_NO_UNIT_TEST -#define OPENSSL_NO_UNIT_TEST -#endif -#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS -#define OPENSSL_NO_WEAK_SSL_CIPHERS -#endif -#ifndef OPENSSL_NO_DYNAMIC_ENGINE -#define OPENSSL_NO_DYNAMIC_ENGINE -#endif - -/* - * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers - * don't like that. This will hopefully silence them. - */ -#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; - -/* - * Applications should use -DOPENSSL_API_COMPAT= to suppress the - * declarations of functions deprecated in or before . Otherwise, they - * still won't see them if the library has been built to disable deprecated - * functions. - */ -#ifndef DECLARE_DEPRECATED -#define DECLARE_DEPRECATED(f) f; - #ifdef __GNUC__ - #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) - #undef DECLARE_DEPRECATED -#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); - #endif - #elif defined (__SUNPRO_C) - #if (__SUNPRO_C >= 0x5130) - #undef DECLARE_DEPRECATED -#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); - #endif - #endif -#endif - -#ifndef OPENSSL_FILE - #ifdef OPENSSL_NO_FILENAMES -#define OPENSSL_FILE "" -#define OPENSSL_LINE 0 - #else -#define OPENSSL_FILE __FILE__ -#define OPENSSL_LINE __LINE__ - #endif -#endif - -#ifndef OPENSSL_MIN_API -#define OPENSSL_MIN_API 0 -#endif - -#if !defined (OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API - #undef OPENSSL_API_COMPAT -#define OPENSSL_API_COMPAT OPENSSL_MIN_API -#endif - -/* - * Do not deprecate things to be deprecated in version 1.2.0 before the - * OpenSSL version number matches. - */ -#if OPENSSL_VERSION_NUMBER < 0x10200000L -#define DEPRECATEDIN_1_2_0(f) f; -#elif OPENSSL_API_COMPAT < 0x10200000L -#define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) -#else -#define DEPRECATEDIN_1_2_0(f) -#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 - -/* Generate 80386 code? */ -#undef I386_ONLY - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION - -/* - * The following are cipher-specific, but are part of the public API. - */ -#if !defined (OPENSSL_SYS_UEFI) - #undef BN_LLONG -/* Only one for the following should be defined */ - #undef SIXTY_FOUR_BIT_LONG - #undef SIXTY_FOUR_BIT -#define THIRTY_TWO_BIT -#endif - -#define RC4_INT unsigned int +/* Autogenerated conditional openssl feature list starts here */ +/* Autogenerated conditional openssl feature list ends here */ #ifdef __cplusplus } diff --git a/CryptoPkg/Library/Include/openssl/opensslconf_generated.h b/CryptoPkg/Library/Include/openssl/opensslconf_generated.h new file mode 100644 index 000000000000..22a7216cc46c --- /dev/null +++ b/CryptoPkg/Library/Include/openssl/opensslconf_generated.h @@ -0,0 +1,349 @@ +/* + * WARNING: do not edit! + * Generated from include/openssl/opensslconf.h.in + * + * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OPENSSL_ALGORITHM_DEFINES + #error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_SYS_UEFI +#define OPENSSL_SYS_UEFI 1 +#endif +#define OPENSSL_MIN_API 0x10100000L +#ifndef OPENSSL_NO_BF +#define OPENSSL_NO_BF +#endif +#ifndef OPENSSL_NO_BLAKE2 +#define OPENSSL_NO_BLAKE2 +#endif +#ifndef OPENSSL_NO_CAMELLIA +#define OPENSSL_NO_CAMELLIA +#endif +#ifndef OPENSSL_NO_CAST +#define OPENSSL_NO_CAST +#endif +#ifndef OPENSSL_NO_CHACHA +#define OPENSSL_NO_CHACHA +#endif +#ifndef OPENSSL_NO_CMS +#define OPENSSL_NO_CMS +#endif +#ifndef OPENSSL_NO_CT +#define OPENSSL_NO_CT +#endif +#ifndef OPENSSL_NO_DES +#define OPENSSL_NO_DES +#endif +#ifndef OPENSSL_NO_DSA +#define OPENSSL_NO_DSA +#endif +#if !FixedPcdGetBool (PcdOpensslEcEnabled) + #ifndef OPENSSL_NO_EC +#define OPENSSL_NO_EC + #endif +#endif +#ifndef OPENSSL_NO_IDEA +#define OPENSSL_NO_IDEA +#endif +#ifndef OPENSSL_NO_MD2 +#define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_MD4 +#define OPENSSL_NO_MD4 +#endif +#ifndef OPENSSL_NO_MDC2 +#define OPENSSL_NO_MDC2 +#endif +#ifndef OPENSSL_NO_POLY1305 +#define OPENSSL_NO_POLY1305 +#endif +#ifndef OPENSSL_NO_RC2 +#define OPENSSL_NO_RC2 +#endif +#ifndef OPENSSL_NO_RC4 +#define OPENSSL_NO_RC4 +#endif +#ifndef OPENSSL_NO_RC5 +#define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_NO_RMD160 +#define OPENSSL_NO_RMD160 +#endif +#ifndef OPENSSL_NO_SEED +#define OPENSSL_NO_SEED +#endif +#ifndef OPENSSL_NO_SM2 +#define OPENSSL_NO_SM2 +#endif +#ifndef OPENSSL_NO_SRP +#define OPENSSL_NO_SRP +#endif +#ifndef OPENSSL_NO_TS +#define OPENSSL_NO_TS +#endif +#ifndef OPENSSL_NO_WHIRLPOOL +#define OPENSSL_NO_WHIRLPOOL +#endif +#ifndef OPENSSL_RAND_SEED_NONE +#define OPENSSL_RAND_SEED_NONE +#endif +#ifndef OPENSSL_NO_AFALGENG +#define OPENSSL_NO_AFALGENG +#endif +#ifndef OPENSSL_NO_APPS +#define OPENSSL_NO_APPS +#endif +#ifndef OPENSSL_NO_ASAN +#define OPENSSL_NO_ASAN +#endif +#ifndef OPENSSL_NO_ASYNC +#define OPENSSL_NO_ASYNC +#endif +#ifndef OPENSSL_NO_AUTOERRINIT +#define OPENSSL_NO_AUTOERRINIT +#endif +#ifndef OPENSSL_NO_AUTOLOAD_CONFIG +#define OPENSSL_NO_AUTOLOAD_CONFIG +#endif +#ifndef OPENSSL_NO_CAPIENG +#define OPENSSL_NO_CAPIENG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG +#define OPENSSL_NO_CRYPTO_MDEBUG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#endif +#ifndef OPENSSL_NO_DEPRECATED +#define OPENSSL_NO_DEPRECATED +#endif +#ifndef OPENSSL_NO_DEVCRYPTOENG +#define OPENSSL_NO_DEVCRYPTOENG +#endif +#ifndef OPENSSL_NO_DGRAM +#define OPENSSL_NO_DGRAM +#endif +#ifndef OPENSSL_NO_DTLS +#define OPENSSL_NO_DTLS +#endif +#ifndef OPENSSL_NO_DTLS1 +#define OPENSSL_NO_DTLS1 +#endif +#ifndef OPENSSL_NO_DTLS1_2 +#define OPENSSL_NO_DTLS1_2 +#endif +#ifndef OPENSSL_NO_EC2M +#define OPENSSL_NO_EC2M +#endif +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +#define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_ECDH +#define OPENSSL_NO_ECDH +#endif +#ifndef OPENSSL_NO_ECDSA +#define OPENSSL_NO_ECDSA +#endif +#ifndef OPENSSL_NO_EGD +#define OPENSSL_NO_EGD +#endif +#ifndef OPENSSL_NO_ENGINE +#define OPENSSL_NO_ENGINE +#endif +#ifndef OPENSSL_NO_ERR +#define OPENSSL_NO_ERR +#endif +#ifndef OPENSSL_NO_EXTERNAL_TESTS +#define OPENSSL_NO_EXTERNAL_TESTS +#endif +#ifndef OPENSSL_NO_FILENAMES +#define OPENSSL_NO_FILENAMES +#endif +#ifndef OPENSSL_NO_FUZZ_AFL +#define OPENSSL_NO_FUZZ_AFL +#endif +#ifndef OPENSSL_NO_FUZZ_LIBFUZZER +#define OPENSSL_NO_FUZZ_LIBFUZZER +#endif +#ifndef OPENSSL_NO_GOST +#define OPENSSL_NO_GOST +#endif +#ifndef OPENSSL_NO_HEARTBEATS +#define OPENSSL_NO_HEARTBEATS +#endif +#ifndef OPENSSL_NO_HW +#define OPENSSL_NO_HW +#endif +#ifndef OPENSSL_NO_MSAN +#define OPENSSL_NO_MSAN +#endif +#ifndef OPENSSL_NO_OCB +#define OPENSSL_NO_OCB +#endif +#ifndef OPENSSL_NO_POSIX_IO +#define OPENSSL_NO_POSIX_IO +#endif +#ifndef OPENSSL_NO_RFC3779 +#define OPENSSL_NO_RFC3779 +#endif +#ifndef OPENSSL_NO_SCRYPT +#define OPENSSL_NO_SCRYPT +#endif +#ifndef OPENSSL_NO_SCTP +#define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SOCK +#define OPENSSL_NO_SOCK +#endif +#ifndef OPENSSL_NO_SSL_TRACE +#define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL3 +#define OPENSSL_NO_SSL3 +#endif +#ifndef OPENSSL_NO_SSL3_METHOD +#define OPENSSL_NO_SSL3_METHOD +#endif +#ifndef OPENSSL_NO_STDIO +#define OPENSSL_NO_STDIO +#endif +#ifndef OPENSSL_NO_TESTS +#define OPENSSL_NO_TESTS +#endif +#ifndef OPENSSL_NO_TLS1_3 +#define OPENSSL_NO_TLS1_3 +#endif +#ifndef OPENSSL_NO_UBSAN +#define OPENSSL_NO_UBSAN +#endif +#ifndef OPENSSL_NO_UI_CONSOLE +#define OPENSSL_NO_UI_CONSOLE +#endif +#ifndef OPENSSL_NO_UNIT_TEST +#define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +#define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif +#ifndef OPENSSL_NO_DYNAMIC_ENGINE +#define OPENSSL_NO_DYNAMIC_ENGINE +#endif + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#ifndef DECLARE_DEPRECATED +#define DECLARE_DEPRECATED(f) f; + #ifdef __GNUC__ + #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) + #undef DECLARE_DEPRECATED +#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); + #endif + #elif defined (__SUNPRO_C) + #if (__SUNPRO_C >= 0x5130) + #undef DECLARE_DEPRECATED +#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); + #endif + #endif +#endif + +#ifndef OPENSSL_FILE + #ifdef OPENSSL_NO_FILENAMES +#define OPENSSL_FILE "" +#define OPENSSL_LINE 0 + #else +#define OPENSSL_FILE __FILE__ +#define OPENSSL_LINE __LINE__ + #endif +#endif + +#ifndef OPENSSL_MIN_API +#define OPENSSL_MIN_API 0 +#endif + +#if !defined (OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API + #undef OPENSSL_API_COMPAT +#define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +/* + * Do not deprecate things to be deprecated in version 1.2.0 before the + * OpenSSL version number matches. + */ +#if OPENSSL_VERSION_NUMBER < 0x10200000L +#define DEPRECATEDIN_1_2_0(f) f; +#elif OPENSSL_API_COMPAT < 0x10200000L +#define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) +#else +#define DEPRECATEDIN_1_2_0(f) +#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 + +/* Generate 80386 code? */ +#undef I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined (OPENSSL_SYS_UEFI) + #undef BN_LLONG +/* Only one for the following should be defined */ + #undef SIXTY_FOUR_BIT_LONG + #undef SIXTY_FOUR_BIT +#define THIRTY_TWO_BIT +#endif + +#define RC4_INT unsigned int + +#ifdef __cplusplus +} +#endif -- 2.31.1.windows.1