Skip the strip step on Windows
authorMatt Corallo <git@bluematt.me>
Tue, 12 Mar 2024 14:17:58 +0000 (14:17 +0000)
committerMatt Corallo <git@bluematt.me>
Wed, 13 Mar 2024 14:55:15 +0000 (14:55 +0000)
This partially reverts 5a78aa805d7c550a855d6b589907cab4ab6ca476

genbindings.sh

index 24aafa79367ab356cd9cf184bb45956bd6a1a1e6..3b66af440420d208c87464b6da9210e56bfda000 100755 (executable)
@@ -37,6 +37,9 @@ IS_WIN=false
 IS_APPLE_CLANG=false
 [ "$($CC --version | grep "Apple clang version")" != "" ] && IS_APPLE_CLANG=true
 
+STRIP=llvm-strip
+[ "$IS_APPLE_CLANG" = "true" ] && STRIP=echo
+
 case "$TARGET_STRING" in
        "x86_64-pc-linux"*)
                LDK_TARGET_SUFFIX="_Linux-amd64"
@@ -66,6 +69,8 @@ case "$TARGET_STRING" in
                CS_PLATFORM_NAME="win-x64"
                LDK_JAR_TARGET=true
                IS_WIN=true
+               # llvm-strip currently corrupts DLLs - https://github.com/llvm/llvm-project/issues/63081
+               STRIP=echo
                ;;
        *)
                LDK_TARGET_SUFFIX="_${TARGET_STRING}"
@@ -171,7 +176,7 @@ if [ "$2" = "c_sharp" ]; then
                # so we have to build with faketime.
                faketime -f "2021-01-01 00:00:00" $COMPILE -o bindings.o -c -O3 -I"$1"/lightning-c-bindings/include/ c_sharp/bindings.c
                faketime -f "2021-01-01 00:00:00" $COMPILE $LINK -o libldkcsharp_release$LDK_TARGET_SUFFIX.so -O3 bindings.o $LDK_LIB -lm
-               [ "$IS_APPLE_CLANG" != "true" ] && llvm-strip -R .llvmbc -R .llvmcmd libldkcsharp_release$LDK_TARGET_SUFFIX.so
+               $STRIP -R .llvmbc -R .llvmcmd libldkcsharp_release$LDK_TARGET_SUFFIX.so
 
                if [ "$LDK_JAR_TARGET" = "true" ]; then
                        # Copy resulting native binary for inclusion in release nuget zip
@@ -225,7 +230,7 @@ elif [ "$2" = "python" ]; then
        else
                $COMPILE -o bindings.o -c -flto -O3 -I"$1"/lightning-c-bindings/include/ $2 c_sharp/bindings.c
                $COMPILE $LINK -o liblightningpython_release$LDK_TARGET_SUFFIX.so -Wl,--version-script=python/libcode.version -flto -O3 -Wl,--lto-O3 -Wl,-O3 -I"$1"/lightning-c-bindings/include/ $2 bindings.o "$1"/lightning-c-bindings/target/$LDK_TARGET/release/libldk.a -lm
-               [ "$IS_APPLE_CLANG" != "true" ] && llvm-strip -R .llvmbc -R .llvmcmd liblightningpython_release$LDK_TARGET_SUFFIX.so
+               $STRIP -R .llvmbc -R .llvmcmd liblightningpython_release$LDK_TARGET_SUFFIX.so
        fi
 elif [ "$2" = "wasm" ]; then
        echo "Creating TS bindings..."
@@ -341,7 +346,7 @@ else
 
                $COMPILE -o bindings.o -c -O3 -I"$1"/lightning-c-bindings/include/ $2 src/main/jni/bindings.c
                $COMPILE $LINK -o liblightningjni_release$LDK_TARGET_SUFFIX.so -O3 $2 bindings.o $LDK_LIB -lm
-               [ "$IS_APPLE_CLANG" != "true" ] && llvm-strip -R .llvmbc -R .llvmcmd liblightningjni_release$LDK_TARGET_SUFFIX.so
+               $STRIP -R .llvmbc -R .llvmcmd liblightningjni_release$LDK_TARGET_SUFFIX.so
 
                if [ "$IS_MAC" = "false" -a "$4" = "false" ]; then
                        GLIBC_SYMBS="$(objdump -T liblightningjni_release$LDK_TARGET_SUFFIX.so | grep GLIBC_ | grep -v "GLIBC_2\.\(2\|3\)\(\.\|)\)" | grep -v "GLIBC_2.\(3\.4\|14\|17\|18\|25\|28\|29\|32\|33\|34\|\))" || echo)"