rust: post-link-args, kill RUST_PATH for now

This commit is contained in:
Cody P Schafer
2014-11-20 02:13:48 -05:00
parent 74934547f2
commit 4b198fb3a4
2 changed files with 18 additions and 6 deletions
+1 -1
View File
@@ -63,7 +63,7 @@ RUST_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}:${STAGING_BASE_LIBDIR_NATIVE}"
#RUST_PATH_NATIVE .= ":${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/rustlib/${TARGET_SYS}/lib"
# FIXME: set based on whether we are native vs cross vs buildsdk, etc
export RUST_PATH ??= "${RUST_PATH_NATIVE}"
#export RUST_PATH ??= "${RUST_PATH_NATIVE}"
## This is builtin to rustc with the value "$libdir/rust/targets"
# RUST_TARGET_PATH = "foo:bar"
+17 -5
View File
@@ -58,9 +58,16 @@ HOST_CPPFLAGS ??= "${CPPFLAGS}"
# users of these variables without any backtrace or error message other than
# "failed" (of some form or another). Probably an issue with bitbake attempting
# to track variable users and us having too many dynamic variable names.
TARGET_PRE_LINK_ARGS = "${TARGET_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${TARGET_LDFLAGS} ${PRE_LINK_ARGS[${TARGET_ARCH}]}"
BUILD_PRE_LINK_ARGS = "${BUILD_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${BUILD_LDFLAGS} ${PRE_LINK_ARGS[${BUILD_ARCH}]}"
HOST_PRE_LINK_ARGS = "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${HOST_LDFLAGS} ${PRE_LINK_ARGS[${HOST_ARCH}]}"
TARGET_PRE_LINK_ARGS = "${TARGET_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${PRE_LINK_ARGS[${TARGET_ARCH}]}"
BUILD_PRE_LINK_ARGS = "${BUILD_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${PRE_LINK_ARGS[${BUILD_ARCH}]}"
HOST_PRE_LINK_ARGS = "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${PRE_LINK_ARGS[${HOST_ARCH}]}"
# These LDFLAGS have '-L' options in them. We need these to come last so they
# don't screw up the link order and pull in the wrong rust build/version.
# TODO: may want to strip out all the '-L' flags entirely here
TARGET_POST_LINK_ARGS = "${TARGET_LDFLAGS}"
BUILD_POST_LINK_ARGS = "${BUILD_LDFLAGS}"
HOST_POST_LINK_ARGS = "${HOST_LDFLAGS}"
def arch_for(d, thing):
return d.getVar('{}_ARCH'.format(thing), True)
@@ -126,6 +133,9 @@ def rust_gen_target(d, thing, wd):
pre_link_args = (d.getVar('{}_PRE_LINK_ARGS'.format(thing), True) or "").split()
pre_link_args.extend((d.getVarFlag('PRE_LINK_ARGS', arch, True) or "").split())
post_link_args = (d.getVar('{}_POST_LINK_ARGS'.format(thing), True) or "").split()
post_link_args.extend((d.getVarFlag('POST_LINK_ARGS', arch, True) or "").split())
o.write('''{{
"data-layout": "{}",
"llvm-target": "{}",
@@ -141,7 +151,8 @@ def rust_gen_target(d, thing, wd):
"linker-is-gnu": true,
"has-rpath": true,
"position-independent-executables": true,
"pre-link-args": {}
"pre-link-args": {},
"post-link-args": {}
}}'''.format(
data_layout,
llvm_target,
@@ -149,7 +160,8 @@ def rust_gen_target(d, thing, wd):
arch_to_rust_target_arch(arch),
linker,
features,
as_json(pre_link_args)
as_json(pre_link_args),
as_json(post_link_args),
))
o.close()