public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
From: Bryan Hundven <bryanhundven@gmail.com>
To: Michael Hope <michael.hope@linaro.org>
Cc: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>,
	crossgcc@sourceware.org
Subject: Re: [PATCH] scripts: support an empty vendor string
Date: Wed, 19 Oct 2011 06:18:00 -0000	[thread overview]
Message-ID: <CAJ+oik3rn9v-9tsCj+h3BPzP=ZAW1PTGQikY6WC+hVxUV0FDtQ@mail.gmail.com> (raw)
In-Reply-To: <5b1330e7264a72b0b502.1318994645@crucis>

On Tue, Oct 18, 2011 at 8:24 PM, Michael Hope <michael.hope@linaro.org> wrote:
> # 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>
>

imo, this functionality should be optional to:
   Allow empty vendor string (enabled)
or
   revert to the previous default of 'unknown'. (disabled)

I think some components that crosstool-ng builds depend on having
a vendor string.

http://sourceware.org/cgi-bin/search.cgi?q=vendor&cmd=Search%21&form=extended&m=all&ps=10&fmt=long&wm=wrd&sp=1&sy=1&wf=2221&type=&GroupBySite=no&ul=%2Fml%2Fcrossgcc%2F%25

or

http://goo.gl/BFVyU

My only real reference there was the uClibc vendor string problem,
so if ! LIBC_UCLIBC_CONFIG_FILE(or any better test), then this
option can be enabled, otherwise revert to current default.

The other side of the idea is support older configurations, as users
move to newer versions of ctng, their configs will still build and work.
If they did before. You obviously know you want this option and will
enable it in your config. :-)

-Bryan

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

--
For unsubscribe information see http://sourceware.org/lists.html#faq

  reply	other threads:[~2011-10-19  6:18 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-19  3:24 Michael Hope
2011-10-19  6:18 ` Bryan Hundven [this message]
2011-10-20  0:36   ` Michael Hope
2011-10-20  1:28     ` Michael Hope
2011-10-20  8:32       ` Bryan Hundven
2011-10-20 22:02       ` Yann E. MORIN
2014-07-28  7:47         ` Bryan Hundven
2014-07-29 20:16           ` Bryan Hundven
2011-10-20 21:54     ` Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ+oik3rn9v-9tsCj+h3BPzP=ZAW1PTGQikY6WC+hVxUV0FDtQ@mail.gmail.com' \
    --to=bryanhundven@gmail.com \
    --cc=crossgcc@sourceware.org \
    --cc=michael.hope@linaro.org \
    --cc=yann.morin.1998@anciens.enib.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).