From 7063f30193454d6a315baa5b4d1b8823b6fdadaf Mon Sep 17 00:00:00 2001 From: Fs Date: Sun, 24 Mar 2024 10:35:17 +0800 Subject: [PATCH] include objects when enabled, remove rc4 asm workaround --- providers/legacy/CMakeLists.txt | 125 +++++++++++++++++++------------- 1 file changed, 76 insertions(+), 49 deletions(-) diff --git a/providers/legacy/CMakeLists.txt b/providers/legacy/CMakeLists.txt index 3800261..f5e2bdf 100644 --- a/providers/legacy/CMakeLists.txt +++ b/providers/legacy/CMakeLists.txt @@ -170,62 +170,90 @@ if (OPENSSL_MODULE AND BUILD_SHARED_LIBS) include("../../crypto/_cryptoDir/objects.cmake") set(LIBLEGACY_SOURCES_MODULE ${LIBLEGACY_SOURCES_MODULE} ${OPENSSL_CPUID_SRCS}) - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/des/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${OPENSSL_DES_ASM_SRCS}) - - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/md5/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) - - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/rc4/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) - - if (NOT OPENSSL_DEPRECATED_3_0) + if (OPENSSL_DES) set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/bf/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) - - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/cast/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) - - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/idea/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) - - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/md2/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) - - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/md4/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) - - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/mdc2/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) - - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/rc2/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) - - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/rc5/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + include("../../crypto/des/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${OPENSSL_DES_ASM_SRCS}) + endif() + if (OPENSSL_MD5) set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/ripemd/objects.cmake") + include("../../crypto/md5/objects.cmake") set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + if (OPENSSL_RC4) set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/seed/objects.cmake") + include("../../crypto/rc4/objects.cmake") set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() - set(LIBCRYPTO_CURRENTDIR_SOURCES) - include("../../crypto/whrlpool/objects.cmake") - set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + if (NOT OPENSSL_DEPRECATED_3_0) + if (OPENSSL_BF) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/bf/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_CAST) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/cast/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_IDEA) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/idea/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_MD2) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/md2/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_MD4) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/md4/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_MDC2) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/mdc2/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_RC2) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/rc2/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_RC5) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/rc5/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_RMD160) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/ripemd/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_SEED) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/seed/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() + + if (OPENSSL_WHIRLPOOL) + set(LIBCRYPTO_CURRENTDIR_SOURCES) + include("../../crypto/whrlpool/objects.cmake") + set(LIBLEGACY_SOURCES ${LIBLEGACY_SOURCES} ${LIBCRYPTO_CURRENTDIR_SOURCES}) + endif() endif() endif() @@ -289,7 +317,6 @@ target_include_directories(legacy # workaround! set(LIBLEGACY_CFLAGS ${LIBCRYPTO_CFLAGS}) -list(REMOVE_ITEM LIBLEGACY_CFLAGS "RC4_ASM" "-DRC4_ASM") target_compile_definitions(legacy PRIVATE ${LIBLEGACY_CFLAGS}