On Tue, 2006-05-30 at 08:04 +0200, Bo Ørsted Andresen wrote:
> Tuesday 30 May 2006 07:41 skrev Graham Murray:
> > > Besides, by looking at the terminal while merging packages, you will
> > > soon notice, that lot's of packages add their very own CFLAGS to your
> > > default ones. For example mplayer or xine-lib was compiled with '-O3' on
> > > my system, allthough i have '-O2' in my CFLAGS. (As far as i know, "gcc
> > > -O3 -O2" == "gcc -O3").
> >
> > Where packages do this, should they not filter out the appropriate
> > flags from the user's CFLAGS and substitute their flags rather than
> > having both flags on the command line?
> 
> Not in this particular case. xine-lib is a good example. src_compile() 
> contains the following in the ebuild (and more):
> 
> if [[ $(tc-arch) == "x86" ]]; then
>       filter-flags -fforce-addr
>       filter-flags -momit-leaf-frame-pointer
>       is-flag -O? || append-flags -O2
> fi
> 
> On an x86 architecture it filters out -fforce-addr 
> and -momit-leaf-frame-pointer. If the CFLAGS contain any optimizations it 
> just appends -O2 yielding that -O2 will be used as stated by Christian 
> Limberg. In 'man gcc' you find the following statement:
> 
> "If you use multiple -O options, with or without level numbers, the last such 
> option is the one that is effective."
> 
> So this is completely legal.
> 
> And I very much doubt that there are any ebuilds in the portage tree that 
> enforces -O3 or higher...
> 
Well, you are right: However, what i said still applies: Lot's of
packages add their very own CFLAGS (-fomit-frame-pointer,
-ffunction-sections are two examples for xine-lib).

Matthias

-- 
gentoo-user@gentoo.org mailing list

Reply via email to