FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Catalyst

 
 
LinkBack Thread Tools
 
Old 06-26-2011, 02:04 AM
Sebastian Pipping
 
Default Compile flag derivation logic (catalyst 2.x)

Hello!


It seems that in order to get your own compile flags applied for a
stage3 or stage4 build you need to append a "CFLAGS=" line to
/etc/make.conf from within the envscript - quite a dirty workaround not
to mention the fact that the envscript is sourced multiple times.

This is how final CFLAGS seem to be derived (numbers indicate order so
higher numbers win):

Targets "stage1, "stage2"
1) key "CFLAGS" subarch defaults
2) key "CFLAGS" earlier /etc/make.conf
3) key "cflags" conf file
4) key "cflags" spec file

Targets "stage3", "stage4", "generic_stage"
1) key "CFLAGS" subarch defaults
2) key "CFLAGS" earlier /etc/make.conf

That explains why my stage4 "subarch: core2" isn't really changing
anything: it gets overriden by the /etc/make.conf from the stage3 I am
using.

Is that what you are expecting?

Is my picture broken - are you experiencing something else with your
stage builds?

Can you thing of reasons to not allow overriding CFLAGS and friends for
stage3 and stage4 builds?

Best,



Sebastian
 
Old 06-26-2011, 02:33 AM
Matt Turner
 
Default Compile flag derivation logic (catalyst 2.x)

On Sat, Jun 25, 2011 at 10:04 PM, Sebastian Pipping <sping@gentoo.org> wrote:
> Hello!
>
>
> It seems that in order to get your own compile flags applied for a
> stage3 or stage4 build you need to append a "CFLAGS=" line to
> /etc/make.conf from within the envscript - quite a dirty workaround not
> to mention the fact that the envscript is sourced multiple times.
>
> This is how final CFLAGS seem to be derived (numbers indicate order so
> higher numbers win):
>
> *Targets "stage1, "stage2"
> * *1) key "CFLAGS" subarch defaults
> * *2) key "CFLAGS" earlier /etc/make.conf
> * *3) key "cflags" conf file
> * *4) key "cflags" spec file
>
> *Targets "stage3", "stage4", "generic_stage"
> * *1) key "CFLAGS" subarch defaults
> * *2) key "CFLAGS" earlier /etc/make.conf
>
> That explains why my stage4 "subarch: core2" isn't really changing
> anything: it gets overriden by the /etc/make.conf from the stage3 I am
> using.
>
> Is that what you are expecting?
>
> Is my picture broken - are you experiencing something else with your
> stage builds?
>
> Can you thing of reasons to not allow overriding CFLAGS and friends for
> stage3 and stage4 builds?

Thanks for writing this up. This has always been a maze to me, so this
is very useful.

I can't think of a situation where CFLAGS specified in the spec or
conf file should be overridden by the CFLAGS in /etc/make.conf. So,
this seems wrong.

Are you saying that cflags specified in the spec file are totally
ignored for stage3 and stage4? That seems totally broken.

Matt
 
Old 06-26-2011, 02:43 AM
Sebastian Pipping
 
Default Compile flag derivation logic (catalyst 2.x)

On 06/26/2011 04:33 AM, Matt Turner wrote:
>> Targets "stage1, "stage2"
>> 1) key "CFLAGS" subarch defaults
>> 2) key "CFLAGS" earlier /etc/make.conf
>> 3) key "cflags" conf file
>> 4) key "cflags" spec file

I think I need to correct this one to:

Targets "stage1, "stage2"
1) key "CFLAGS" subarch defaults
2) key "cflags" conf file
3) key "cflags" spec file

So no affect from /etc/make.conf in that case. The file is read but the
code applying its settings is override in classes stage1_target and
stage2_target (without calling the original code).


>> Targets "stage3", "stage4", "generic_stage"
>> 1) key "CFLAGS" subarch defaults
>> 2) key "CFLAGS" earlier /etc/make.conf
>>
>> [..]
>
> [..]
>
> Are you saying that cflags specified in the spec file are totally
> ignored for stage3 and stage4? That seems totally broken.

That's my impression, yes.

Best,



Sebastian
 

Thread Tools




All times are GMT. The time now is 04:23 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org