@@ -108,18 +108,21 @@ if [ "$2" = "c_sharp" ]; then
108108 mv ./-out:csharpldk.dll csharpldk.dll # Mono is braindead, apparently
109109
110110 echo " Building C# bindings..."
111- COMPILE=" $COMMON_COMPILE -mcpu=$LDK_TARGET_CPU -Isrc/main/jni -pthread -ldl -shared -fPIC"
111+ COMPILE=" $COMMON_COMPILE -mcpu=$LDK_TARGET_CPU -Isrc/main/jni -pthread -fPIC"
112+ LINK=" -ldl -shared"
112113 [ " $IS_MAC " = " false" ] && COMPILE=" $COMPILE -Wl,--no-undefined"
113114 [ " $IS_MAC " = " true" ] && COMPILE=" $COMPILE -mmacosx-version-min=10.9"
114- [ " $IS_MAC " = " true" -a " $IS_APPLE_CLANG " = " false" ] && COMPILE =" $COMPILE -fuse-ld=lld"
115+ [ " $IS_MAC " = " true" -a " $IS_APPLE_CLANG " = " false" ] && LINK =" $LINK -fuse-ld=lld"
115116 [ " $IS_MAC " = " true" -a " $IS_APPLE_CLANG " = " false" ] && echo " WARNING: Need at least upstream clang 13!"
116117 [ " $IS_MAC " = " false" -a " $3 " != " false" ] && COMPILE=" $COMPILE -Wl,-wrap,calloc -Wl,-wrap,realloc -Wl,-wrap,malloc -Wl,-wrap,free"
117118
118119 exit 0 # Sadly compilation doesn't currently work
119120 if [ " $3 " = " true" ]; then
120- $COMPILE -o liblightningjni_debug$LDK_TARGET_SUFFIX .so -g -fsanitize=address -shared-libasan -rdynamic -I" $1 " /lightning-c-bindings/include/ $2 c_sharp/bindings.c " $1 " /lightning-c-bindings/target/$LDK_TARGET /debug/libldk.a -lm
121+ $COMPILE $LINK -o liblightningjni_debug$LDK_TARGET_SUFFIX .so -g -fsanitize=address -shared-libasan -rdynamic -I" $1 " /lightning-c-bindings/include/ $2 c_sharp/bindings.c " $1 " /lightning-c-bindings/target/$LDK_TARGET /debug/libldk.a -lm
121122 else
122- $COMPILE -o liblightningjni_release$LDK_TARGET_SUFFIX .so -s -flto -O3 -Wl,--version-script=c_sharp/libcode.version -I" $1 " /lightning-c-bindings/include/ $2 c_sharp/bindings.c " $1 " /lightning-c-bindings/target/$LDK_TARGET /release/libldk.a -lm
123+ $COMPILE -o bindings.o -c -flto -O3 -Wl,--version-script=c_sharp/libcode.version -I" $1 " /lightning-c-bindings/include/ $2 c_sharp/bindings.c
124+ $COMPILE $LINK -o liblightningjni_release$LDK_TARGET_SUFFIX .so -flto -O3 -Wl,--lto-O3 -Wl,-O3 -Wl,--version-script=c_sharp/libcode.version -I" $1 " /lightning-c-bindings/include/ $2 bindings.o " $1 " /lightning-c-bindings/target/$LDK_TARGET /release/libldk.a -lm
125+ llvm-strip liblightningjni_release$LDK_TARGET_SUFFIX .so
123126 fi
124127elif [ " $2 " = " wasm" ]; then
125128 echo " Creating TS bindings..."
@@ -244,14 +247,15 @@ else
244247 [ " $( $CC --version | grep " Apple clang version" ) " != " " ] && IS_APPLE_CLANG=true
245248
246249 echo " Building Java bindings..."
247- COMPILE=" $COMMON_COMPILE -mcpu=$LDK_TARGET_CPU -Isrc/main/jni -pthread -ldl -shared -fPIC"
250+ COMPILE=" $COMMON_COMPILE -mcpu=$LDK_TARGET_CPU -Isrc/main/jni -pthread -fPIC"
251+ LINK=" -ldl -shared"
248252 [ " $IS_MAC " = " false" ] && COMPILE=" $COMPILE -Wl,--no-undefined"
249253 [ " $IS_MAC " = " true" ] && COMPILE=" $COMPILE -mmacosx-version-min=10.9"
250- [ " $IS_MAC " = " true" -a " $IS_APPLE_CLANG " = " false" ] && COMPILE =" $COMPILE -fuse-ld=lld"
254+ [ " $IS_MAC " = " true" -a " $IS_APPLE_CLANG " = " false" ] && LINK =" $LINK -fuse-ld=lld"
251255 [ " $IS_MAC " = " true" -a " $IS_APPLE_CLANG " = " false" ] && echo " WARNING: Need at least upstream clang 13!"
252256 [ " $IS_MAC " = " false" -a " $3 " != " false" ] && COMPILE=" $COMPILE -Wl,-wrap,calloc -Wl,-wrap,realloc -Wl,-wrap,malloc -Wl,-wrap,free"
253257 if [ " $3 " = " true" ]; then
254- $COMPILE -o liblightningjni_debug$LDK_TARGET_SUFFIX .so -g -fsanitize=address -shared-libasan -rdynamic -I" $1 " /lightning-c-bindings/include/ $2 src/main/jni/bindings.c " $1 " /lightning-c-bindings/target/$LDK_TARGET /debug/libldk.a -lm
258+ $COMPILE $LINK -o liblightningjni_debug$LDK_TARGET_SUFFIX .so -g -fsanitize=address -shared-libasan -rdynamic -I" $1 " /lightning-c-bindings/include/ $2 src/main/jni/bindings.c " $1 " /lightning-c-bindings/target/$LDK_TARGET /debug/libldk.a -lm
255259 else
256260 LDK_LIB=" $1 " /lightning-c-bindings/target/$LDK_TARGET /release/libldk.a
257261 if [ " $IS_MAC " = " false" -a " $4 " = " false" ]; then
296300 popd
297301 LDK_LIB=" tmp/libldk.bc tmp/libldk.a"
298302 fi
299- $COMPILE -o liblightningjni_release$LDK_TARGET_SUFFIX .so -s -flto -O3 -I" $1 " /lightning-c-bindings/include/ $2 src/main/jni/bindings.c $LDK_LIB -lm
303+ $COMPILE -o bindings.o -c -flto -O3 -I" $1 " /lightning-c-bindings/include/ $2 src/main/jni/bindings.c
304+ $COMPILE $LINK -o liblightningjni_release$LDK_TARGET_SUFFIX .so -flto -Wl,--lto-O3 -Wl,-O3 -O3 -I" $1 " /lightning-c-bindings/include/ $2 bindings.o $LDK_LIB -lm
305+ llvm-strip liblightningjni_release$LDK_TARGET_SUFFIX .so
300306 if [ " $IS_MAC " = " false" -a " $4 " = " false" ]; then
301307 GLIBC_SYMBS=" $( objdump -T liblightningjni_release$LDK_TARGET_SUFFIX .so | grep GLIBC_ | grep -v " GLIBC_2\.2\." | grep -v " GLIBC_2\.3\(\.\| \)" | grep -v " GLIBC_2.\(14\|17\) " || echo) "
302308 if [ " $GLIBC_SYMBS " != " " ]; then
0 commit comments