Enable X-lang LTO for Windows x86-64 builds (or any extra build)
[ldk-c-bindings] / genbindings.sh
index dd76e3040304b16a1218904a27c520172b5dde17..6007f721f2954e98682d9cc990e85c46d280ed4a 100755 (executable)
@@ -552,6 +552,7 @@ fi
 
 EXTRA_TARGETS=( $LDK_C_BINDINGS_EXTRA_TARGETS )
 EXTRA_CCS=( $LDK_C_BINDINGS_EXTRA_TARGET_CCS )
+EXTRA_LINK_LTO=( $LDK_C_BINDINGS_EXTRA_TARGET_LINK_LTO )
 
 if [ ${#EXTRA_TARGETS[@]} != ${#EXTRA_CCS[@]} ]; then
        echo "LDK_C_BINDINGS_EXTRA_TARGETS and LDK_C_BINDINGS_EXTRA_TARGET_CCS didn't have the same number of elements!"
@@ -569,6 +570,7 @@ for IDX in ${!EXTRA_TARGETS[@]}; do
                        EXTRA_RUSTFLAGS="-C target-cpu=sandybridge"
                        ;;
        esac
+       [ "${EXTRA_LINK_LTO[$IDX]}" != "" ] && EXTRA_RUSTFLAGS="-C linker-plugin-lto"
        RUSTFLAGS="$BASE_RUSTFLAGS -C embed-bitcode=yes -C lto -C linker=${EXTRA_CCS[$IDX]} $EXTRA_RUSTFLAGS" CARGO_PROFILE_RELEASE_LTO=true cargo build $CARGO_BUILD_ARGS -v --release --target "${EXTRA_TARGETS[$IDX]}"
 done