This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
# HG changeset patch # User Michael Hope <michael.hope@linaro.org> # Date 1318994616 -46800 # Node ID 5b1330e7264a72b0b50243394469606ef0f76351 # Parent a31d097e28cd73d07a5484129929a500b4d58efa scripts: support an empty vendor string For Linux and other targets, config.sub defaults to 'unknown' if no vendor was specified. This patch supplies a fake vendor and then strips it out afterwards. This is needed to have an Ubuntu style vendorless tuple such as arm-linux-gnueabi. Other features like the alias and sed transform don't cover it. Signed-off-by: Michael Hope <michael.hope@linaro.org> diff -r a31d097e28cd -r 5b1330e7264a scripts/functions --- a/scripts/functions Wed Oct 19 15:27:32 2011 +1300 +++ b/scripts/functions Wed Oct 19 16:23:36 2011 +1300 @@ -944,6 +944,20 @@ fi } +# Computes the target tuple from the configuration and the supplied +# vendor string +CT_BuildOneTargetTuple() { + local vendor="${1}" + local target + + target="${CT_TARGET_ARCH}" + target="${target}${vendor:+-${vendor}}" + target="${target}${CT_TARGET_KERNEL:+-${CT_TARGET_KERNEL}}" + target="${target}${CT_TARGET_SYS:+-${CT_TARGET_SYS}}" + + echo "${target}" +} + # Compute the target tuple from what is provided by the user # Usage: CT_DoBuildTargetTuple # In fact this function takes the environment variables to build the target @@ -994,10 +1008,7 @@ CT_DoKernelTupleValues # Finish the target tuple construction - CT_TARGET="${CT_TARGET_ARCH}" - CT_TARGET="${CT_TARGET}${CT_TARGET_VENDOR:+-${CT_TARGET_VENDOR}}" - CT_TARGET="${CT_TARGET}${CT_TARGET_KERNEL:+-${CT_TARGET_KERNEL}}" - CT_TARGET="${CT_TARGET}${CT_TARGET_SYS:+-${CT_TARGET_SYS}}" + CT_TARGET=$(CT_BuildOneTargetTuple "${CT_TARGET_VENDOR}") # Sanity checks __sed_alias="" @@ -1012,7 +1023,14 @@ esac # Canonicalise it - CT_TARGET=$(CT_DoConfigSub "${CT_TARGET}") + if [ -n "${CT_TARGET_VENDOR}" ]; then + CT_TARGET=$(CT_DoConfigSub "${CT_TARGET}") + else + # Canonicalise with a fake vendor string then strip it out + local target=$(CT_BuildOneTargetTuple "CT_INVALID") + CT_TARGET=$(CT_DoConfigSub "${target}" |sed -r -s s:CT_INVALID-::) + fi + # Prepare the target CFLAGS CT_ARCH_TARGET_CFLAGS="${CT_ARCH_TARGET_CFLAGS} ${CT_ARCH_ENDIAN_CFLAG}" CT_ARCH_TARGET_CFLAGS="${CT_ARCH_TARGET_CFLAGS} ${CT_ARCH_ARCH_CFLAG}" -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |