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