X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=deterministic-build-wrappers%2Frustc;h=b05d3407a9f14c39cad0f6a1a26104d49c97a46e;hb=refs%2Fheads%2Fmain;hp=eba9cdad3940e73621325d33bb750144b62c842f;hpb=872c15fe4e2a2d8e467992565ddd05fdeb4390b9;p=ldk-c-bindings diff --git a/deterministic-build-wrappers/rustc b/deterministic-build-wrappers/rustc index eba9cda..7acc9c4 100755 --- a/deterministic-build-wrappers/rustc +++ b/deterministic-build-wrappers/rustc @@ -7,13 +7,21 @@ # ever (indirectly) depend on multiple versions of the same crate. args=("$@") IS_LIGHTNING=false +SKIP_EMBED_BITCODE=false for ((i=0; i<"${#args[@]}"; ++i)); do case ${args[i]} in --crate-name) - if [ "${args[i+1]}" = "lightning" -o "${args[i+1]}" = "lightning_background_processor" -o "${args[i+1]}" = "lightning_invoice" -o "${args[i+1]}" = "lightning_persister" ]; then + if [ "${args[i+1]}" = "lightning" -o "${args[i+1]}" = "lightning_background_processor" -o "${args[i+1]}" = "lightning_invoice" -o "${args[i+1]}" = "lightning_persister" -o "${args[i+1]}" = "lightning_rapid_gossip_sync" -o "${args[i+1]}" = "lightning_transaction_sync" -o "${args[i+1]}" = "ldk" ]; then IS_LIGHTNING=true fi ;; + --crate-type) + if [ "${args[i+1]}" = "proc-macro" ]; then + # If we're building a proc-macro, rustc incorrectly passes our RUSTFLAGS containing + # embed-bitcode=yes, which we don't want. + SKIP_EMBED_BITCODE=true + fi + ;; esac done for ((i=0; i<"${#args[@]}"; ++i)); do @@ -24,7 +32,16 @@ for ((i=0; i<"${#args[@]}"; ++i)); do args[i]="metadata=42" fi ;; + embed-bitcode=yes) + if [ "$SKIP_EMBED_BITCODE" = "true" ]; then + args[i]="embed-bitcode=no" + fi + ;; + lto) + if [ "$SKIP_EMBED_BITCODE" = "true" ]; then + args[i]="lto=no" + fi + ;; esac done - -/usr/bin/rustc "${args[@]}" +$LDK_RUSTC_PATH "${args[@]}"