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] |
On Wed, Oct 19, 2011 at 6:28 PM, Michael Hope <michael.hope@linaro.org> wrote: > On 20/10/11 13:35, Michael Hope wrote: >> >> 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. > > scripts: support an empty vendor string > > For Linux and other targets, config.sub defaults to 'unknown' > if no vendor was specified. ?If enabled, 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> Reviewed-by: Bryan Hundven <bryanhundven@gmail.com> > > diff --git a/config/toolchain.in b/config/toolchain.in > index d034315..94755fd 100644 > --- a/config/toolchain.in > +++ b/config/toolchain.in > @@ -111,6 +111,18 @@ > > ? ? ? Keep the default (unknown) if you don't know better. > > +config ALLOW_NO_VENDOR > + ? ?bool > + ? ?prompt "Allow tuples with no vendor" > + ? ?default n > + ? ?help > + ? ? ?Set this and set the vendor string to an empty string to allow > + ? ? ?tuples with no vendor component such as 'arm-linux-gnueabi' > + ? ? ?instead of the default 'arm-unknown-linux-gnueabi'. > + > + ? ? ?This is a backwards compatibility option for earlier > + ? ? ?configurations that used an empty string to mean 'unknown'. > + > ?config TARGET_ALIAS_SED_EXPR > ? ? string > ? ? prompt "Tuple's sed transform" > diff --git a/scripts/functions b/scripts/functions > index 789b622..2ac4c50 100644 > --- a/scripts/functions > +++ b/scripts/functions > @@ -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 > @@ -993,10 +1007,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="" > @@ -1010,8 +1021,15 @@ > ? ? ? :*:*:*" "*:) CT_Abort "Don't use spaces in the target sed transform, > it breaks things.";; > ? ? esac > > - ? ?# Canonicalise it > - ? ?CT_TARGET=$(CT_DoConfigSub "${CT_TARGET}") > + ? ?if [ "${CT_ALLOW_NO_VENDOR}" = "y" -a -z "${CT_TARGET_VENDOR}" ]; then > + ? ? ? ?# 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-::) > + ? ?else > + ? ? ? ?# Canonicalise it > + ? ? ? ?CT_TARGET=$(CT_DoConfigSub "${CT_TARGET}") > + ? ?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}" > Thanks, Michael! -Bryan -- 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] |