### Rozhuk Ivan 2009.07 - 2018 ### make.conf configuration file ### universal # The CPUTYPE variable controls which processor should be targeted for # generated code. This controls processor-specific optimizations in # certain code (currently only OpenSSL) as well as modifying the value # of CFLAGS to contain the appropriate optimization directive to gcc. # The automatic setting of CFLAGS may be overridden using the # NO_CPU_CFLAGS variable below. # Currently the following CPU types are recognized: # Intel x86 architecture: # (AMD CPUs) opteron athlon64 athlon-mp athlon-xp athlon-4 # athlon-tbird athlon k8 k6-3 k6-2 k6 k5 # (Intel CPUs) core2 core nocona pentium4m pentium4 prescott # pentium3m pentium3 pentium-m pentium2 # pentiumpro pentium-mmx pentium i486 i386 # (Via CPUs) c3 c3-2 # Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4 # AMD64 architecture: opteron, athlon64, nocona, prescott, core2 # Intel ia64 architecture: itanium2, itanium # # (?= allows to buildworld for a different CPUTYPE.) #CPUTYPE?= NO_CPU_CFLAGS= # Don't add -march= to CFLAGS automatically NO_CPU_COPTFLAGS= # Don't add -march= to COPTFLAGS automatically # C Lang #CC=clang #CXX=clang++ #CPP=clang-cpp # CFLAGS controls the compiler settings used when compiling C code. # Compiling with -fstrict-aliasing optimization breaks some [notable] ports. # http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options # http://en.gentoo-wiki.com/wiki/Safe_Cflags # '-march' make platform dependet code, '-mtune' just optimize for platform # run on any i686, optimized for a pentium4: -march=i686 -mtune=pentium4 CFLAGS+=-O2 -DSTRIP_FBSDID -pipe # -fsanitize=safe-stack -fstack-check # CXXFLAGS controls the compiler settings used when compiling C++ code. CXXFLAGS+=-DSTRIP_FBSDID # To compile just the kernel with special optimizations, you should use # this instead of CFLAGS (which is not applicable to kernel builds anyway). COPTFLAGS+=-O2 -funroll-loops -DSTRIP_FBSDID -pipe # Hardening # For src.conf:WITH_SSP= and make.conf:WITH_SSP_PORTS=yes SSP_CFLAGS=-fstack-protector-all WITH_SSP=yes WITH_SSP_PORTS=yes # Additional checks CFLAGS+=-D_FORTIFY_SOURCE=2 CXXFLAGS+=-D_FORTIFY_SOURCE=2 COPTFLAGS+=-D_FORTIFY_SOURCE=2 # Retpoline speculative execution vulnerability mitigation (CVE-2017-5715) CFLAGS+=-mretpoline CXXFLAGS+=-mretpoline COPTFLAGS+=-mretpoline # Workstation only modules # Workstation staff MODULES_OVERRIDE+= agp drm/drm drm2/drm2 evdev drm/i915 drm2/i915kms joy drm/radeon drm2/radeonkms drm2/radeonkmsfw # Linux modules for nvidia drivers MODULES_OVERRIDE+= linux linux_common # Sound support MODULES_OVERRIDE+= sound/sound sound/driver/hda sound/driver/ich sound/driver/uaudio # Samba MODULES_OVERRIDE+= libmchain smbfs # Filesystems #MODULES_OVERRIDE+= xfs zfs # Base modules # Ethernet adapters MODULES_OVERRIDE+= mdio mii em igb re rl vmware/vmxnet3 virtio/network # ipfw MODULES_OVERRIDE+= ipfw #MODULES_OVERRIDE+= ipfw_nat ipfw_nat64 ipfw_nptv6 ipfw_pmod libalias # PF MODULES_OVERRIDE+= pf #MODULES_OVERRIDE+= pflog pfsync # TCP MODULES_OVERRIDE+= cc/cc_cdg cc/cc_chd cc/cc_cubic cc/cc_dctcp cc/cc_hd cc/cc_htcp tcp/fastpath khelp # Netgraph MODULES_OVERRIDE+= netgraph/netgraph netgraph/bpf netgraph/bridge netgraph/car netgraph/deflate netgraph/device netgraph/eiface netgraph/etf netgraph/ether netgraph/gif netgraph/gif_demux netgraph/hub netgraph/iface netgraph/ip_input netgraph/ipfw netgraph/ksocket netgraph/l2tp netgraph/mppc netgraph/one2many netgraph/patch netgraph/pipe netgraph/ppp netgraph/pppoe netgraph/pptpgre netgraph/pred1 netgraph/socket netgraph/source netgraph/split netgraph/tag netgraph/tcpmss netgraph/tee netgraph/tty netgraph/vjc netgraph/vlan rc4 # GEOM MODULES_OVERRIDE+= geom/geom_sched # AMD hw MODULES_OVERRIDE+= amd_ecc_inject i2c/controllers/amdpm amdsbwd i2c/controllers/amdsmb amdtemp i2c/controllers/intpm # Intel hw MODULES_OVERRIDE+= coretemp i2c/controllers/ichiic i2c/controllers/ichsmb ichwd i2c/controllers/imcsmb i2c/controllers/ismt # Misc hw MODULES_OVERRIDE+= i2c/jedec_ts i2c/jedec_dimm bios/vpd wbwd # Dev, debug, diagnostic MODULES_OVERRIDE+= filemon hwpmc ksyms proto siftr # NFS MODULES_OVERRIDE+= nfscommon nfscl nfsd nfslock nfslockd nfssvc krpc # MAC MODULES_OVERRIDE+= mac_biba mac_bsdextended mac_lomac mac_mls mac_partition mac_portacl # USB printers MODULES_OVERRIDE+= usb/ulpt # USB ethernet sybsys MODULES_OVERRIDE+= usb/uether usb/urndis # USB ethernet adapters MODULES_OVERRIDE+= usb/aue usb/axe usb/axge usb/mos usb/rue usb/smsc usb/udav usb/ure # USB 3G/4G modems MODULES_OVERRIDE+= usb/cdce usb/u3g usb/umodem # USB serial MODULES_OVERRIDE+= usb/uark usb/ubsa usb/ubser usb/uchcom usb/ucom usb/ucycom usb/uftdi usb/umcs usb/umct usb/umoscom usb/uplcom usb/uslcom usb/uvscom # Disable assertions and statistics gathering in malloc(3). # It also defaults the A and J runtime options to off. MALLOC_PRODUCTION= # Ports tunings PORTSDIR=/usr/ports WRKDIRPREFIX=/tmp/ports DISTDIR=/usr/ports/distfiles DISABLE_VULNERABILITIES=no IGNORE_OSVERSION=yes PORT_DBDIR=/var/db/ports WITH_CCACHE_BUILD=yes CCACHE_DIR=/var/cache/ccache # Ports defaults DEFAULT_VERSIONS+=ssl=libressl DEFAULT_VERSIONS+=perl5=5.26 DEFAULT_VERSIONS+=php=71 OPTIONS_SET+=NLS OPTIONS_UNSET+=DOCS OPTIONS_UNSET+=GTKDOC OPTIONS_UNSET+=EXAMPLES