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
|