Properly controlling CFLAGS/CXXFLAGS
Garrett Cooper
youshi10 at u.washington.edu
Fri Dec 22 13:07:04 PST 2006
Oliver Fromme wrote:
> Garrett Cooper wrote:
> > I was wondering (looking at the make.conf manpage), what's the
> > best way to control one's CFLAGS/CXXFLAGS. I'd prefer if only a few
> > ports would have optimized compiler flags, while the rest of the system
> > used a safe set of compiler flags.
>
> The simplest way is to use conditionals in /etc/make.conf
> depending on the ports directory:
>
> .if ${.CURDIR:M*/somecategory/someport}
> CFLAGS= -O3 -pipe
> CFLAGS+= -DSOMETHING
> .endif
>
> > CFLAGS= -O2 -pipe
>
> Using -O2 without -fno-strict-aliasing will break certain
> programs. The default is -O2 -fno-strict-aliasing -pipe
> and it is _not_ recommended to override it globally, or
> otherwise you're guaranteed to shoot yourself in the foot,
> sooner or later.
>
> > COPTFLAGS= ${CFLAGS} -msse -msse2 -mfpmath=sse,387
>
> That will break kernel compiles. Again, you should not
> override COPTFLAGS, unless you know exactly what you're
> doing.
>
> Best regards
> Oliver
>
>
Interesting. No wonder I didn't have it in my Gentoo /etc/make.conf. It
appears (from what I see) that maybe -fno-strict-aliasing has been
enabled by default (at least it doesn't show up in the GCC 4.1.1 manpage
on FC5).
-Garrett
More information about the freebsd-hackers
mailing list