On 2/3/17 8:58 pm, Dimitry Andric wrote:
On 2 Mar 2017, at 12:02, Mingo Rrubioer <mingorrubi...@gmail.com> wrote:
I would like to see how well FreeBSD does as a workstation OS in the
HPC world due to its stability and reliability, as well as LLVM/clang.
I would like to know if FreeBSD has something similar to Gentoo's
/etc/portage/make.conf file and /etc/portage/package.use/* files in
order to compile certain ports with certain compiler flags.
It doesn't, though it would certainly be nice to have something like it
at some point.  The current idiom is to put something similar to the
following in your /etc/make.conf:

.if ${.CURDIR:M/usr/ports/foo/bar}
CFLAGS+= [... flags for the foo/bar port ...]

.if ${.CURDIR:M/usr/ports/what/ever}
CFLAGS+= [... flags for the what/ever port ...]

Regarding LLVM/clang, I've been reading the documentation and found
these flags: -arch=<whatever>, -march=<whatever>, -mcpu=<whatever>,
--target=<whatever>, target-cpu <whatever>. I'm not quite sure which
one would be the one to use. In case someone wants to know, my initial
play/test machine has this processor:

CPU: Intel(R) Core(TM) i7-3820 CPU @ 3.60GHz (3600.11-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x206d7  Family=0x6  Model=0x2d  Stepping=7

And I'm currently running: 11.0-RELEASE-p8.

So I imagine I should use something like CFLAGS+= -march=corei7-avx
-march=sandybridge -target-cpu. Is that correct?
Don't specify -march or -mcpu directly, but add the following line to

CPUTYPE?= native

This will take care of everything automatically.  See also make.conf(5).


Many many 3rd party packages use a consistent set of variables fed into the automumble tools. Only today I was pleasantly surprised to see the lftp port pick up my CFLAGS and LDFLAGS changes without me having to change anything in the ports themselves..

we should investigate what these defacto stndards are and document them

freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to