X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=genbindings.sh;h=731ff9a55f65e14c0ce3d52f67df207958bb9f1c;hb=4d63ad47ee49d1fb467dfd448c030aedfbcbec2f;hp=f26ea5d38057ca2c81813a9ef3f2cf8da954d50f;hpb=9e987fe5ab25056efb317eaa2dd1f320ecc7161f;p=ldk-c-bindings diff --git a/genbindings.sh b/genbindings.sh index f26ea5d..731ff9a 100755 --- a/genbindings.sh +++ b/genbindings.sh @@ -183,14 +183,14 @@ echo > /tmp/crate-source.txt if [ "$2" = "true" ]; then add_crate lightning lightning --features=std add_crate "lightning-persister" "lightning_persister" - add_crate "lightning-background-processor" "lightning_background_processor" + add_crate "lightning-background-processor" "lightning_background_processor" --features=std add_crate "lightning-invoice" "lightning_invoice" --features=std add_crate "lightning-rapid-gossip-sync" "lightning_rapid_gossip_sync" CARGO_BUILD_ARGS="--features=std" else add_crate lightning lightning --features=no-std drop_crate "lightning-persister" - drop_crate "lightning-background-processor" + add_crate "lightning-background-processor" "lightning_background_processor" add_crate "lightning-rapid-gossip-sync" "lightning_rapid_gossip_sync" --features=no-std add_crate "lightning-invoice" "lightning_invoice" --features=no-std CARGO_BUILD_ARGS="--features=no-std" @@ -336,9 +336,9 @@ fi if [ "$2" = "true" ]; then clang++ $LOCAL_CFLAGS -std=c++11 demo.cpp target/debug/libldk.a -ldl strip ./a.out + time ./a.out echo " C++ Bin size and runtime w/o optimization:" ls -lha a.out - time ./a.out > /dev/null fi # Then, check with memory sanitizer, if we're on Linux and have rustc nightly @@ -490,9 +490,9 @@ if [ "$2" = "true" ]; then fi strip ./a.out +time ./a.out echo "C++ Bin size and runtime with only RL (LTO) optimized:" ls -lha a.out -time ./a.out > /dev/null if [ "$CLANGPP" != "" ]; then # If we can use cross-language LTO, use it for building C dependencies (i.e. libsecp256k1) as well @@ -559,16 +559,17 @@ if [ "$CLANGPP" != "" -a "$LLD" != "" ]; then CARGO_PROFILE_RELEASE_LTO=true RUSTFLAGS="$RUSTFLAGS -C embed-bitcode=yes -C linker-plugin-lto -C lto -C linker=$CLANG $LINK_ARG_FLAGS -C link-arg=-march=sandybridge -C link-arg=-mcpu=sandybridge -C link-arg=-mtune=sandybridge" cargo build $CARGO_BUILD_ARGS -v --release if [ "$2" = "true" ]; then - $CLANGPP $LOCAL_CFLAGS -flto -fuse-ld=$LLD -O2 demo.cpp target/release/libldk.a -ldl + $CLANGPP $LOCAL_CFLAGS -flto -fuse-ld=$LLD -O2 -c demo.cpp -o demo.o + $CLANGPP $LOCAL_CFLAGS -flto -fuse-ld=$LLD -Wl,--lto-O2 -Wl,-O2 -O2 demo.o target/release/libldk.a -ldl strip ./a.out + time ./a.out echo "C++ Bin size and runtime with cross-language LTO:" ls -lha a.out - time ./a.out > /dev/null fi fi else if [ "$CFLAGS_aarch64_apple_darwin" != "" ]; then RUSTFLAGS="$BASE_RUSTFLAGS -C embed-bitcode=yes -C lto -C target-cpu=apple-a14" CARGO_PROFILE_RELEASE_LTO=true cargo build $CARGO_BUILD_ARGS -v --release --target aarch64-apple-darwin fi - echo "WARNING: Building with cross-language LTO is not avilable without clang-$RUSTC_LLVM_V" + echo "WARNING: Building with cross-language LTO is not avilable without clang-$RUSTC_LLVM_V and lld-$RUSTC_LLVM_V" fi