Update CI references to 0.0.122
[ldk-java] / genbindings.sh
index 531180141b4ed054fd6cd8af72761f4fc6e0a35b..f3dd774cce752312f6d2c7998a713aa472535ab5 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}"
@@ -76,8 +81,12 @@ fi
 
 COMMON_COMPILE="$CC -std=c11 -Wall -Wextra -Wno-unused-parameter -Wno-ignored-qualifiers -Wno-unused-function -Wno-nullability-completeness -Wno-pointer-sign -Wdate-time -ffile-prefix-map=$(pwd)="
 COMMON_CC=""
-[ "$IS_MAC" = "true" -a "$2" != "wasm" ] && COMMON_CC="$COMMON_CC --target=$TARGET_STRING -mcpu=$LDK_TARGET_CPU"
-[ "$IS_MAC" = "false" -a "$2" != "wasm" ] && COMMON_CC="$COMMON_CC --target=$TARGET_STRING -march=$LDK_TARGET_CPU -mtune=$LDK_TARGET_CPU"
+if [[ "$TARGET_STRING" != *"android" && "$TARGET_STRING" != *"androideabi" ]]; then
+       [[ "$TARGET_STRING" != "x86"* ]] && COMMON_CC="$COMMON_CC --target=$TARGET_STRING"
+       [[ "$TARGET_STRING" = "x86"* ]] && COMMON_CC="$COMMON_CC --target=$TARGET_STRING"
+fi
+[[ "$TARGET_STRING" != "x86"* ]] && COMMON_CC="$COMMON_CC -mcpu=$LDK_TARGET_CPU"
+[[ "$TARGET_STRING" = "x86"* ]] && COMMON_CC="$COMMON_CC -march=$LDK_TARGET_CPU -mtune=$LDK_TARGET_CPU"
 [ "$IS_MAC" = "true" -a "$MACOS_SDK" != "" ] && COMMON_COMPILE="$COMMON_COMPILE -isysroot $MACOS_SDK"
 
 DEBUG_ARG="$3"
@@ -125,11 +134,6 @@ if [ "$2" = "c_sharp" ]; then
        cat header.c >> c_sharp/bindings.c
        cat c_sharp/bindings.c.body >> c_sharp/bindings.c
 
-       IS_MAC=false
-       [ "$($CC --version | grep apple-darwin)" != "" ] && IS_MAC=true
-       IS_APPLE_CLANG=false
-       [ "$($CC --version | grep "Apple clang version")" != "" ] && IS_APPLE_CLANG=true
-
        if is_gnu_sed; then
                sed -i "s/<version>.*<\/version>/<version>${LDK_GARBAGECOLLECTED_GIT_OVERRIDE:1:100}<\/version>/g" c_sharp/packaging_artifacts/org.ldk.nuspec
                sed -i "s/<version>.*<\/version>/<version>${LDK_GARBAGECOLLECTED_GIT_OVERRIDE:1:100}<\/version>/g" c_sharp/packaging_artifacts/package/services/metadata/core-properties/ldk.psmdcp
@@ -176,7 +180,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
@@ -230,7 +234,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..."
@@ -346,7 +350,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)"