hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
diff -urN -x .git orig/cmake/LibreSSL.cmake patched/cmake/LibreSSL.cmake
--- orig/cmake/LibreSSL.cmake    2020-08-07 21:58:34.660773928 +0900
+++ patched/cmake/LibreSSL.cmake    2020-08-07 22:51:18.620767245 +0900
@@ -18,6 +18,9 @@
 function(use_libre_ssl SOURCE_DIR BINARY_DIR)
     message("Using bundled LibreSSL from release")
     
+    find_package(Patch REQUIRED)
+    set(PATCH "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch")
+
     set(BYPRODUCT_PREFIX "lib" CACHE STRING "" FORCE)
     set(BYPRODUCT_SUFFIX ".a" CACHE STRING "" FORCE)
     
@@ -27,16 +30,29 @@
         set(BYPRODUCT_PREFIX "" CACHE STRING "" FORCE)
     set(BUILD_ARGS " -GVisual Studio 15 2017")
     endif(WIN32)
+
+    set(BYPRODUCTS
+        "lib/${BYPRODUCT_PREFIX}crypto${BYPRODUCT_SUFFIX}"
+        "lib/${BYPRODUCT_PREFIX}ssl${BYPRODUCT_SUFFIX}"
+        "lib/${BYPRODUCT_PREFIX}tls${BYPRODUCT_SUFFIX}"
+    )
+    set(LIBRESSL_INSTALL_DIR "${BINARY_DIR}/thirdparty/libressl-install" CACHE STRING "" FORCE)
+    FOREACH(BYPRODUCT ${BYPRODUCTS})
+        LIST(APPEND LIBRESSL_LIBRARIES_LIST "${LIBRESSL_INSTALL_DIR}/${BYPRODUCT}")
+    ENDFOREACH(BYPRODUCT)
+
     ExternalProject_Add(
     libressl-portable
     URL https://cdn.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://gentoo.osuosl.org/distfiles/libressl-2.8.3.tar.gz
     URL_HASH "SHA256=9b640b13047182761a99ce3e4f000be9687566e0828b4a72709e9e6a3ef98477"
     SOURCE_DIR "${BINARY_DIR}/thirdparty/libressl-src"
+    PATCH_COMMAND ${PATCH}
     CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
                 "-DCMAKE_INSTALL_PREFIX=${BINARY_DIR}/thirdparty/libressl-install"
                 "-DLIBRESSL_APPS=OFF"
                 "-DLIBRESSL_TESTS=OFF"
                 "${BUILD_ARGS}"
+    BUILD_BYPRODUCTS ${LIBRESSL_LIBRARIES_LIST}
     )
 
     add_library(crypto STATIC IMPORTED)