This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG 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]

Re: [PATCH 05 of 13] cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom


Hi Yann, All,

On 12 October 2012 06:24, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> David, All,
>
> On Thursday 11 October 2012 06:53:14 David Holsgrove wrote:
>> # HG changeset patch
>> # User David Holsgrove <david.holsgrove@xilinx.com>
>> # Date 1349930381 -36000
>> # Node ID f2272ac0f37cedd0bb91346d57681599758ea988
>> # Parent  50674fe47431174aab80d6c01460aa2d6c901306
>> cc/gcc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
> [--SNIP--]
>> diff -r 50674fe47431 -r f2272ac0f37c scripts/build/cc/gcc.sh
>> --- a/scripts/build/cc/gcc.sh Thu Oct 11 14:39:40 2012 +1000
>> +++ b/scripts/build/cc/gcc.sh Thu Oct 11 14:39:41 2012 +1000
> [--SNIP--]
>> @@ -59,7 +61,10 @@
>>
>>  # Extract gcc
>>  do_cc_extract() {
>> -    CT_Extract "gcc-${CT_CC_VERSION}"
>> +    if [ "${CT_CC_CUSTOM}" != "y" \
>> +         -o ! -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
>> +        CT_Extract "gcc-${CT_CC_VERSION}"
>> +    fi
>>      CT_Patch "gcc" "${CT_CC_VERSION}"
>
> That's not how it's done in kernel/linux, where the patching is *not* done
> for the custom location.
>
> I have nothing against trying to patch a component's custom location, but
> is that really what you wanted?
>
> I'd rather that all components behave the same: either all allow patching
> their custom locations, or none does (I'd prefer the latter).
>

I had considered this, but the way the do_kernel_extract step
currently is setup, it will attempt to patch a linux-custom tarball,
after getting through the check that CT_KERNEL_LINUX_CUSTOM_LOCATION
is not a directory.

Personally, I dont think anyone would want, or reasonably expect, a
custom component to be patched, so I'm happy to skip CT_PATCH for
custom components altogether.

I guess the options are to;

match the kernel:

do_cc_extract() {
    # If *not* custom, or custom tarball only
    if [ "${CT_CC_CUSTOM}" != "y" \
         -o ! -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
        CT_Extract "gcc-${CT_CC_VERSION}"
        CT_Patch "gcc" "${CT_CC_VERSION}"
    fi

or avoid CT_PATCH altogether for custom versions:

do_cc_extract() {
    if [ "${CT_CC_CUSTOM}" != "y" \
         -o ! -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then
        CT_Extract "gcc-${CT_CC_VERSION}"
    fi
    # Only attempt to patch non-custom components
    if [ "${CT_CC_CUSTOM}" != "y" ]; then
        CT_Patch "gcc" "${CT_CC_VERSION}"
    fi

Which would you prefer? Even though CT_PATCH is essentially a nop
unless a 'gcc-custom' directory exists, it would be cleaner to not
attempt the step at all.

Thanks again,
David


> Regards,
> Yann E. MORIN.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
>
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq
>

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