classes/cargo: revert to utilizing compiler/linker wrappers
Don't supply the linker arguments via rustflags and then mangle with the RUSTFLAGS environment variable. This is also a parial reversion of4e1bda643eand5afc0cc471. These changes are reverted since it assumed people would build with cargo and not directly with rustc. ref #116.
This commit is contained in:
+2
-13
@@ -46,29 +46,18 @@ replace-with = "local"
|
|||||||
registry = "https://github.com/rust-lang/crates.io-index"
|
registry = "https://github.com/rust-lang/crates.io-index"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# We need to use the real Yocto linker and get the linker
|
|
||||||
# flags to it. Yocto has the concept of BUILD and TARGET
|
|
||||||
# and uses HOST to be the currently selected one. However
|
|
||||||
# LDFLAGS and TOOLCHAIN_OPTIONS are not prefixed with HOST
|
|
||||||
echo "[build]" >> ${CARGO_HOME}/config
|
|
||||||
echo "rustflags = [" >> ${CARGO_HOME}/config
|
|
||||||
echo "'-C'," >> ${CARGO_HOME}/config
|
|
||||||
echo "'link-args=${LDFLAGS}${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}'," >> ${CARGO_HOME}/config
|
|
||||||
for p in ${RUSTFLAGS}; do
|
|
||||||
printf "'%s'\n" "$p"
|
|
||||||
done | sed -e 's/$/,/' >> ${CARGO_HOME}/config
|
|
||||||
echo "]" >> ${CARGO_HOME}/config
|
|
||||||
echo "[target.${HOST_SYS}]" >> ${CARGO_HOME}/config
|
echo "[target.${HOST_SYS}]" >> ${CARGO_HOME}/config
|
||||||
echo "linker = '${RUST_TARGET_CCLD}'" >> ${CARGO_HOME}/config
|
echo "linker = '${RUST_TARGET_CCLD}'" >> ${CARGO_HOME}/config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RUSTFLAGS ??= ""
|
||||||
CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} --release"
|
CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} --release"
|
||||||
|
|
||||||
# This is based on the content of CARGO_BUILD_FLAGS and generally will need to
|
# This is based on the content of CARGO_BUILD_FLAGS and generally will need to
|
||||||
# change if CARGO_BUILD_FLAGS changes.
|
# change if CARGO_BUILD_FLAGS changes.
|
||||||
CARGO_TARGET_SUBDIR="${HOST_SYS}/release"
|
CARGO_TARGET_SUBDIR="${HOST_SYS}/release"
|
||||||
oe_cargo_build () {
|
oe_cargo_build () {
|
||||||
unset RUSTFLAGS
|
export RUSTFLAGS="${RUSTFLAGS}"
|
||||||
bbnote "cargo = $(which cargo)"
|
bbnote "cargo = $(which cargo)"
|
||||||
bbnote "rustc = $(which rustc)"
|
bbnote "rustc = $(which rustc)"
|
||||||
bbnote "${CARGO} build ${CARGO_BUILD_FLAGS} $@"
|
bbnote "${CARGO} build ${CARGO_BUILD_FLAGS} $@"
|
||||||
|
|||||||
Reference in New Issue
Block a user