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
This commit is contained in:
Jan Beich 2021-09-07 11:14:10 +02:00 committed by Tobias Kortkamp
parent 4e617b25b8
commit 93924a20b3
No known key found for this signature in database
GPG key ID: A4F09FB73CC51F61

View file

@ -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