build/cargo-linker
author André Bargull <andre.bargull@gmail.com>
Thu, 11 Apr 2019 21:07:00 +0000
changeset 469128 0b0a39e79b6e4c96aede5823b97ceb9b66e8e010
parent 465641 fc6f661f4113fa38c6e44663c404edc7e3ceadec
permissions -rwxr-xr-x
Bug 1539694 - Part 3: Update xray tests for Promise. r=peterv Differential Revision: https://phabricator.services.mozilla.com/D26144

#!/bin/sh

# If you want to use a custom linker with Cargo, Cargo requires that you
# specify it in Cargo.toml or via the matching environment variable.
# Passing extra options to the linker is possible with Cargo via
# RUSTFLAGS='-C link-args', but testing showed that doing this reliably
# was difficult.
#
# Our solution to these problems is to use this wrapper script.  We pass
# in the LD and the LDFLAGS to use via environment variables.  Note that
# we do *not* quote either MOZ_CARGO_WRAP variable:
#
# * MOZ_CARGO_WRAP_LD is equivalent to CC on Unix-y platforms, and CC
#   frequently has additional arguments in addition to the compiler
#   itself.
# * MOZ_CARGO_WRAP_LDFLAGS contains space-separated arguments to pass,
#   and not quoting it ensures that each of those arguments is passed
#   as a separate argument to the actual LD.
#
# $@ is doubly quoted for the eval. See bug 1418598.

eval ${MOZ_CARGO_WRAP_LD} ${MOZ_CARGO_WRAP_LDFLAGS} '"$@"'