aboutsummaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2021-09-07 09:14:10 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2021-09-19 09:03:22 +0000
commit93924a20b38e7856dc1a0df0c4514eaecdb624be (patch)
tree90b639f9c707ad0eafd02828a0b0f509b7d3a1f1 /Mk
parent4e617b25b87c681c05e6575d6ffec2fc1c86fd5b (diff)
downloadports-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.mk7
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