From da692fd3dab91dcf52376a5ecbe4f4314fcdb6d5 Mon Sep 17 00:00:00 2001 From: Adrien Beraud <adrien.beraud@savoirfairelinux.com> Date: Sun, 8 Jan 2023 19:21:06 -0500 Subject: [PATCH] contrib/libressl: disable asm on android-x86_64 Includes duplicate symbols, from asm code in both libressl and gnutls, for instance gcm_gmult_4bit. The implementation and abi of the two versions are different so it's not possible to force ignoring the duplicate symbol error. Change-Id: I2882e41bf0841cbbfec22eb473a906448d704ec5 --- contrib/src/libressl/rules.mak | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/contrib/src/libressl/rules.mak b/contrib/src/libressl/rules.mak index bb8cede613..a30cf60b77 100644 --- a/contrib/src/libressl/rules.mak +++ b/contrib/src/libressl/rules.mak @@ -34,20 +34,31 @@ libressl: $(LIBRESSL_VERSION).tar.gz $(UNPACK) $(MOVE) +LIBRESSL_CONF := \ + -DLIBRESSL_TESTS=Off \ + -DLIBRESSL_APPS=Off \ + -DDESTDIR=$(PREFIX) + +ifdef HAVE_ANDROID +ifeq ($(ARCH),x86_64) +LIBRESSL_CONF += -DENABLE_ASM=Off +endif +else ifeq ($(IOS_TARGET_PLATFORM),iPhoneOS) +LIBRESSL_CONF += -DCMAKE_C_FLAGS='-miphoneos-version-min=9.3 -fembed-bitcode -arch arm64' +else ifeq ($(IOS_TARGET_PLATFORM),iPhoneSimulator) +LIBRESSL_CONF += -DCMAKE_C_FLAGS='-miphoneos-version-min=9.3 -fembed-bitcode -arch x86_64' +else ifeq ($(HOST_ARCH),arm-linux-gnueabihf) +LIBRESSL_CONF += -DCMAKE_SYSTEM_PROCESSOR=arm -DENABLE_ASM=Off -DCMAKE_C_FLAGS='-march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard' +endif + .libressl: libressl .sum-libressl mkdir -p "$(PREFIX)/include" ifdef HAVE_WIN32 cd $< && $(HOSTVARS) CPPFLAGS=-D__MINGW_USE_VC2005_COMPAT ./configure $(HOSTCONF) && $(MAKE) && $(MAKE) install else ifdef HAVE_WIN64 cd $< && $(HOSTVARS) ./configure $(HOSTCONF) && $(MAKE) && $(MAKE) install -else ifeq ($(IOS_TARGET_PLATFORM),iPhoneOS) - cd $< && mkdir -p build && cd build && $(CMAKE) -DLIBRESSL_TESTS=Off -DLIBRESSL_APPS=Off -DDESTDIR=$(PREFIX) -DCMAKE_C_FLAGS='-miphoneos-version-min=9.3 -fembed-bitcode -arch arm64' .. && $(MAKE) && $(MAKE) install -else ifeq ($(IOS_TARGET_PLATFORM),iPhoneSimulator) - cd $< && mkdir -p build && cd build && $(CMAKE) -DLIBRESSL_TESTS=Off -DLIBRESSL_APPS=Off -DDESTDIR=$(PREFIX) -DCMAKE_C_FLAGS='-miphoneos-version-min=9.3 -fembed-bitcode -arch x86_64' .. && $(MAKE) && $(MAKE) install -else ifeq ($(HOST_ARCH),arm-linux-gnueabihf) - cd $< && mkdir -p build && cd build && $(CMAKE) -DLIBRESSL_TESTS=Off -DLIBRESSL_APPS=Off -DDESTDIR=$(PREFIX) -DCMAKE_SYSTEM_PROCESSOR=arm -DENABLE_ASM=Off -DCMAKE_C_FLAGS='-march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard' .. && $(MAKE) && $(MAKE) install else - cd $< && mkdir -p build && cd build && $(CMAKE) -DLIBRESSL_TESTS=Off -DLIBRESSL_APPS=Off -DDESTDIR=$(PREFIX) .. && $(MAKE) && $(MAKE) install + cd $< && mkdir -p build && cd build && $(CMAKE) $(LIBRESSL_CONF) .. && $(MAKE) && $(MAKE) install endif rm -rf $(PREFIX)/lib/*.so $(PREFIX)/lib/*.so.* touch $@ -- GitLab