diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2021-09-07 09:14:10 +0000 |
---|---|---|
committer | Tobias Kortkamp <tobik@FreeBSD.org> | 2021-09-19 09:03:22 +0000 |
commit | 93924a20b38e7856dc1a0df0c4514eaecdb624be (patch) | |
tree | 90b639f9c707ad0eafd02828a0b0f509b7d3a1f1 /Mk | |
parent | 4e617b25b87c681c05e6575d6ffec2fc1c86fd5b (diff) | |
download | ports-93924a20b38e7856dc1a0df0c4514eaecdb624be.tar.gz ports-93924a20b38e7856dc1a0df0c4514eaecdb624be.zip |
Uses/cargo: respect CC when --target is passed
devel/cargo-c always passes --target when building consumers.
Some other USES=cargo consumers may also pass --target.
Differential Revision: https://reviews.freebsd.org/D31568
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/Uses/cargo.mk | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk index 987818215665..2e361f771716 100644 --- a/Mk/Uses/cargo.mk +++ b/Mk/Uses/cargo.mk @@ -69,6 +69,9 @@ CARGO_CARGO_BIN?= ${LOCALBASE}/bin/cargo # Location of the cargo output directory. CARGO_TARGET_DIR?= ${WRKDIR}/target +# Default target platform (affects some RUSTFLAGS if passed) +CARGO_BUILD_TARGET?= ${ARCH:S/amd64/x86_64/:S/i386/i686/}-unknown-${OPSYS:tl} + # Environment for cargo # - CARGO_HOME: local cache of the registry index # - CARGO_BUILD_JOBS: configure number of jobs to run @@ -80,11 +83,13 @@ CARGO_TARGET_DIR?= ${WRKDIR}/target CARGO_ENV+= \ CARGO_HOME=${WRKDIR}/cargo-home \ CARGO_BUILD_JOBS=${MAKE_JOBS_NUMBER} \ + CARGO_BUILD_TARGET=${CARGO_BUILD_TARGET} \ CARGO_TARGET_DIR=${CARGO_TARGET_DIR} \ + CARGO_TARGET_${CARGO_BUILD_TARGET:S/-/_/g:tu}_LINKER="${CC}" \ RUST_BACKTRACE=1 \ RUSTC=${LOCALBASE}/bin/rustc \ RUSTDOC=${LOCALBASE}/bin/rustdoc \ - RUSTFLAGS="${RUSTFLAGS} -C linker=${CC:Q} ${LDFLAGS:C/.+/-C link-arg=&/}" + RUSTFLAGS="${RUSTFLAGS} ${LDFLAGS:C/.+/-C link-arg=&/}" # Adjust -C target-cpu if -march/-mcpu is set by bsd.cpu.mk .if ${ARCH} == amd64 || ${ARCH} == i386 |