1From 4e8e1943541d3b887ba86dc1b488cbb058c7d1cd Mon Sep 17 00:00:00 2001
2From: Yi Zhao <yi.zhao@windriver.com>
3Date: Tue, 19 Mar 2024 20:48:25 +0800
4Subject: [PATCH] Fix osspuuid build
5
6* Specify correct configure options to fix osspuuid cross build.
7* Do not download osspuuid source during compile.
8
9Upstream-Status: Inappropriate [embedded specific]
10
11Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
12---
13 cmake/BundledOSSPUUID.cmake                         | 10 +++++-----
14 .../ossp-uuid/ossp-uuid-cross-compile-fix.patch     | 13 +++++++++++++
15 2 files changed, 18 insertions(+), 5 deletions(-)
16 create mode 100644 thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch
17
18diff --git a/cmake/BundledOSSPUUID.cmake b/cmake/BundledOSSPUUID.cmake
19index c4fa1523..1faf2e5c 100644
20--- a/cmake/BundledOSSPUUID.cmake
21+++ b/cmake/BundledOSSPUUID.cmake
22@@ -23,10 +23,12 @@ function(use_bundled_osspuuid SOURCE_DIR BINARY_DIR)
23     set(PATCH_FILE1 "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
24     set(PATCH_FILE2 "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-no-prog.patch")
25     set(PATCH_FILE3 "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-update-config-guess.patch")
26+    set(PATCH_FILE4 "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch")
27     set(PC ${Bash_EXECUTABLE} -c "set -x &&\
28             (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE1}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE1}\") &&\
29             (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE2}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE2}\") &&\
30-            (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE3}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE3}\") ")
31+            (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE3}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE3}\") &&\
32+            (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE4}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE4}\") ")
33
34     # Define byproducts
35     set(BYPRODUCTS "lib/libuuid.a"
36@@ -39,7 +41,7 @@ function(use_bundled_osspuuid SOURCE_DIR BINARY_DIR)
37     ENDFOREACH(BYPRODUCT)
38
39     # Build project
40-    set(CONFIGURE_COMMAND ./configure "CC=${CMAKE_C_COMPILER}" "CXX=${CMAKE_CXX_COMPILER}" "CFLAGS=${PASSTHROUGH_CMAKE_C_FLAGS} -fPIC" "CXXFLAGS=${PASSTHROUGH_CMAKE_CXX_FLAGS} -fPIC" --enable-shared=no --with-cxx --without-perl --without-php --without-pgsql "--prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install")
41+    set(CONFIGURE_COMMAND ac_cv_va_copy=C99 ./configure --host=${HOST_SYS} --build=${BUILD_SYS} "CC=${CMAKE_C_COMPILER}" "CXX=${CMAKE_CXX_COMPILER}" "CFLAGS=${PASSTHROUGH_CMAKE_C_FLAGS} -fPIC" "CXXFLAGS=${PASSTHROUGH_CMAKE_CXX_FLAGS} -fPIC" --enable-shared=no --with-cxx --without-perl --without-php --without-pgsql "--prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install")
42     string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type)
43     if(NOT build_type MATCHES debug)
44         list(APPEND CONFIGURE_COMMAND --enable-debug=yes)
45@@ -47,10 +49,8 @@ function(use_bundled_osspuuid SOURCE_DIR BINARY_DIR)
46
47     ExternalProject_Add(
48             ossp-uuid-external
49-            URL "https://deb.debian.org/debian/pool/main/o/ossp-uuid/ossp-uuid_1.6.2.orig.tar.gz"
50-            URL_HASH "SHA256=11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0"
51             BUILD_IN_SOURCE true
52-            SOURCE_DIR "${BINARY_DIR}/thirdparty/ossp-uuid-src"
53+            SOURCE_DIR "${SOURCE_DIR}/thirdparty/uuid-1.6.2"
54             BUILD_COMMAND make
55             CMAKE_COMMAND ""
56             UPDATE_COMMAND ""
57diff --git a/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch b/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch
58new file mode 100644
59index 00000000..b8d7b0bb
60--- /dev/null
61+++ b/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch
62@@ -0,0 +1,13 @@
63+diff --git a/shtool b/shtool
64+index a2d2567..ab4fe17 100755
65+--- a/shtool
66++++ b/shtool
67+@@ -1400,7 +1400,7 @@ install )
68+             if [ ".$opt_t" = .yes ]; then
69+                 echo "strip $dsttmp" 1>&2
70+             fi
71+-            strip $dsttmp || shtool_exit $?
72++            $STRIP $dsttmp || shtool_exit $?
73+         fi
74+         if [ ".$opt_o" != . ]; then
75+             if [ ".$opt_t" = .yes ]; then
76--
772.25.1
78
79