Properly controlling CFLAGS/CXXFLAGS
Garrett Cooper
youshi10 at u.washington.edu
Thu Dec 21 09:42:40 PST 2006
Freddie Cash wrote:
> On Wednesday 20 December 2006 07:57 pm, Garrett Cooper wrote:
>
>> Hello,
>> Coming from Gentoo we were taught how to 'rice' our machines.
>> Based on my experience though with FreeBSD, this is an improper
>> methodology for one to use.
>> 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.
>> So, I was wondering what the best course of action for setting
>> variables in /etc/make.conf would be? Is this proper given what I'm
>> trying to accomplish:
>>
>> /etc/make.conf snippet:
>> CFLAGS= -O2 -pipe
>> CXXFLAGS= ${CFLAGS}
>> COPTFLAGS= ${CFLAGS} -msse -msse2 -mfpmath=sse,387
>>
>> NO_CPU_CFLAGS="YES"
>> NO_CPU_COPTFLAGS="YES"
>>
>> CPUTYPE?=pentium4
>>
>
> My suggestion is to leave all mention of *CFLAGS out of /etc/make.conf to
> use the system defaults (-O2 -pipe -fno-strict-aliasing), set CPUTYPE
> accordingly, and install sysutils/portconf.
>
> That gives you a separate /usr/local/etc/ports.conf file where you can set
> global and per-port settings that are only used when compiling things
> under /usr/ports (actually $PORTSDIR).
>
Yeah, I realized that I accidentally deleted CPUTYPE after the fact
sometime in the past few weeks ><.
Wasn't sure whether or not this topic really fit in the -hackers list,
but it seemed more technical than many of the posts made to -questions.
Also, (as make complained) the above setup with CXXFLAGS and COPTFLAGS
is recursive (didn't realize that CFLAGS pulled in COPTFLAGS by
default), and won't allow me to build much of anything. Lol.
I appreciate the help though, a lot, because I want to determine what in
the world is causing issues with Thunderbird, gtk, screen redraw, and a
few other things on my desktop.
-Garrett
More information about the freebsd-hackers
mailing list