freebsd-skq/share/examples/etc/make.conf

282 lines
10 KiB
Plaintext
Raw Permalink Normal View History

1999-08-27 23:37:10 +00:00
# $FreeBSD$
#
# NOTE: Please would any committer updating this file also update the
# make.conf(5) manual page, if necessary, which is located in
# src/share/man/man5/make.conf.5.
#
# /etc/make.conf, if present, will be read by make (see
# /usr/share/mk/sys.mk). It allows you to override macro definitions
# to make without changing your source tree, or anything the source
# tree installs.
#
# This file must be in valid Makefile syntax.
#
# There are additional things you can put into /etc/make.conf.
# You have to find those in the Makefiles and documentation of
# the source tree.
#
# Note, that you should not set MAKEOBJDIRPREFIX or MAKEOBJDIR
# from make.conf (or as command line variables to make).
# Both variables are environment variables for make and must be used as:
#
# env MAKEOBJDIRPREFIX=/big/directory make
#
Overhaul the MACHINE_CPU behaviour: * Rip out MACHINE_CPU stuff from sys.mk and include a new <bsd.cpu.mk> after we pull in /etc/make.conf. We need to do it afterwards so we can react to the user setting of the: * CPUTYPE variable, which contains the CPU type which the user wants to optimize for. For example, if you want your binaries to only run on an i686-class machine (or higher), set this to i686. If you want to support running binaries on a variety of CPU generations, set this to the lowest common denominator. Supported values are listed in make.conf. * bsd.cpu.mk does the expansion of CPUTYPE into MACHINE_CPU using the (hopefully) correct unordered list of CPU types which should be used on that CPU. For example, an AMD k6 CPU wants any of the following: k6 k5 i586 i486 i386 This is still an unordered list so the client makefile logic is simple - client makefiles need to test for the various elements of the set in decreasing order of priority using ${MACHINE_CPU:M<foo>}, as before. The various MACHINE_CPU lists are believed to be correct, but should be checked. * If NO_CPU_CFLAGS is not defined, add relevant gcc compiler optimization settings by default (e.g. -karch=k6 for CPUTYPE=k6, etc). Release builders and developers of third-party software need to make sure not to enable CPU-specific optimization when generating code intended to be portable. We probably need to move to an /etc/world.conf to allow the optimization stuff to be applied separately to world/kernel and external compilations, but it's not any worse a problem than it was before. * Add coverage for the ia64/itanium MACHINE_ARCH/CPUTYPE. * Add CPUTYPE support for all of the CPU types supported by FreeBSD and gcc (only i386, alpha and ia64 first, since those are the minimally-working ports. Other architecture porters, please feel free to add the relevant gunk for your platform). Reviewed by: jhb, obrien
2001-02-22 11:14:25 +00:00
#
# The CPUTYPE variable controls which processor should be targeted for
Overhaul the MACHINE_CPU behaviour: * Rip out MACHINE_CPU stuff from sys.mk and include a new <bsd.cpu.mk> after we pull in /etc/make.conf. We need to do it afterwards so we can react to the user setting of the: * CPUTYPE variable, which contains the CPU type which the user wants to optimize for. For example, if you want your binaries to only run on an i686-class machine (or higher), set this to i686. If you want to support running binaries on a variety of CPU generations, set this to the lowest common denominator. Supported values are listed in make.conf. * bsd.cpu.mk does the expansion of CPUTYPE into MACHINE_CPU using the (hopefully) correct unordered list of CPU types which should be used on that CPU. For example, an AMD k6 CPU wants any of the following: k6 k5 i586 i486 i386 This is still an unordered list so the client makefile logic is simple - client makefiles need to test for the various elements of the set in decreasing order of priority using ${MACHINE_CPU:M<foo>}, as before. The various MACHINE_CPU lists are believed to be correct, but should be checked. * If NO_CPU_CFLAGS is not defined, add relevant gcc compiler optimization settings by default (e.g. -karch=k6 for CPUTYPE=k6, etc). Release builders and developers of third-party software need to make sure not to enable CPU-specific optimization when generating code intended to be portable. We probably need to move to an /etc/world.conf to allow the optimization stuff to be applied separately to world/kernel and external compilations, but it's not any worse a problem than it was before. * Add coverage for the ia64/itanium MACHINE_ARCH/CPUTYPE. * Add CPUTYPE support for all of the CPU types supported by FreeBSD and gcc (only i386, alpha and ia64 first, since those are the minimally-working ports. Other architecture porters, please feel free to add the relevant gunk for your platform). Reviewed by: jhb, obrien
2001-02-22 11:14:25 +00:00
# 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 cc.
Overhaul the MACHINE_CPU behaviour: * Rip out MACHINE_CPU stuff from sys.mk and include a new <bsd.cpu.mk> after we pull in /etc/make.conf. We need to do it afterwards so we can react to the user setting of the: * CPUTYPE variable, which contains the CPU type which the user wants to optimize for. For example, if you want your binaries to only run on an i686-class machine (or higher), set this to i686. If you want to support running binaries on a variety of CPU generations, set this to the lowest common denominator. Supported values are listed in make.conf. * bsd.cpu.mk does the expansion of CPUTYPE into MACHINE_CPU using the (hopefully) correct unordered list of CPU types which should be used on that CPU. For example, an AMD k6 CPU wants any of the following: k6 k5 i586 i486 i386 This is still an unordered list so the client makefile logic is simple - client makefiles need to test for the various elements of the set in decreasing order of priority using ${MACHINE_CPU:M<foo>}, as before. The various MACHINE_CPU lists are believed to be correct, but should be checked. * If NO_CPU_CFLAGS is not defined, add relevant gcc compiler optimization settings by default (e.g. -karch=k6 for CPUTYPE=k6, etc). Release builders and developers of third-party software need to make sure not to enable CPU-specific optimization when generating code intended to be portable. We probably need to move to an /etc/world.conf to allow the optimization stuff to be applied separately to world/kernel and external compilations, but it's not any worse a problem than it was before. * Add coverage for the ia64/itanium MACHINE_ARCH/CPUTYPE. * Add CPUTYPE support for all of the CPU types supported by FreeBSD and gcc (only i386, alpha and ia64 first, since those are the minimally-working ports. Other architecture porters, please feel free to add the relevant gunk for your platform). Reviewed by: jhb, obrien
2001-02-22 11:14:25 +00:00
# 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:
2020-01-09 20:07:38 +00:00
# (AMD CPUs) znver2, znver1, bdver4, bdver3, bdver2, bdver1,
# btver2, btver1, amdfam10, opteron-sse3, athlon64-sse3,
# k8-sse3, opteron, athlon64, athlon-fx, k8, athlon-mp,
# athlon-xp, athlon-4, athlon-tbird, athlon, k7, geode,
# k6-3, k6-2, k6
# (Intel CPUs) tigerlake, cooperlake, cascadelake, tremont,
# goldmont-plus, icelake-server, icelake-client,
# cannonlake, knm, skylake-avx512, knl, goldmont,
# skylake, broadwell, haswell, ivybridge, sandybridge,
# westmere, nehalem, silvermont, bonnell, core2, core,
# nocona, pentium4m, pentium4, prescott, pentium3m,
# pentium3, pentium-m, pentium2, pentiumpro, pentium-mmx,
# pentium, i486
# (VIA CPUs) c7, c3-2, c3
# ARM architecture: armv5, armv5te, armv6, armv6t2, arm1176jzf-s, armv7,
# armv7-a, armv7ve, generic-armv7-a, cortex-a5,
# cortex-a7, cortex-a8, cortex-a9, cortex-a12,
# cortex-a15, cortex-a17
# ARM64 architechture: cortex-a53, cortex-a57, cortex-a72,
# exynos-m1
Overhaul the MACHINE_CPU behaviour: * Rip out MACHINE_CPU stuff from sys.mk and include a new <bsd.cpu.mk> after we pull in /etc/make.conf. We need to do it afterwards so we can react to the user setting of the: * CPUTYPE variable, which contains the CPU type which the user wants to optimize for. For example, if you want your binaries to only run on an i686-class machine (or higher), set this to i686. If you want to support running binaries on a variety of CPU generations, set this to the lowest common denominator. Supported values are listed in make.conf. * bsd.cpu.mk does the expansion of CPUTYPE into MACHINE_CPU using the (hopefully) correct unordered list of CPU types which should be used on that CPU. For example, an AMD k6 CPU wants any of the following: k6 k5 i586 i486 i386 This is still an unordered list so the client makefile logic is simple - client makefiles need to test for the various elements of the set in decreasing order of priority using ${MACHINE_CPU:M<foo>}, as before. The various MACHINE_CPU lists are believed to be correct, but should be checked. * If NO_CPU_CFLAGS is not defined, add relevant gcc compiler optimization settings by default (e.g. -karch=k6 for CPUTYPE=k6, etc). Release builders and developers of third-party software need to make sure not to enable CPU-specific optimization when generating code intended to be portable. We probably need to move to an /etc/world.conf to allow the optimization stuff to be applied separately to world/kernel and external compilations, but it's not any worse a problem than it was before. * Add coverage for the ia64/itanium MACHINE_ARCH/CPUTYPE. * Add CPUTYPE support for all of the CPU types supported by FreeBSD and gcc (only i386, alpha and ia64 first, since those are the minimally-working ports. Other architecture porters, please feel free to add the relevant gunk for your platform). Reviewed by: jhb, obrien
2001-02-22 11:14:25 +00:00
#
# (?= allows to buildworld for a different CPUTYPE.)
#
#CPUTYPE?=pentium3
#NO_CPU_CFLAGS= # Don't add -march=<cpu> to CFLAGS automatically
#
2000-03-27 02:48:12 +00:00
# CFLAGS controls the compiler settings used when compiling C code.
# Note that optimization settings other than -O and -O2 are not recommended
2000-03-27 02:48:12 +00:00
# or supported for compiling the world or the kernel - please revert any
# nonstandard optimization settings
# before submitting bug reports without patches to the developers.
#
2017-12-16 12:23:59 +00:00
# CFLAGS.arch provides a mechanism for applying CFLAGS only when building
# the given architecture. This is useful primarily on a system used for
# cross-building, when you have a set of flags to apply to the TARGET_ARCH
# being cross-built but don't want those settings applied to building the
# cross-tools or other components that run on the build host machine.
#
# CXXFLAGS controls the compiler settings used when compiling C++ code.
# Note that CXXFLAGS is initially set to the value of CFLAGS. If you wish
# to add to CXXFLAGS value, "+=" must be used rather than "=". Using "="
# alone will remove the often needed contents of CFLAGS from CXXFLAGS.
#
# Additional compiler flags can be specified that extend or override
# default ones. However, neither the base system nor ports are guaranteed
# to build and function without problems with non-default settings.
#
# CFLAGS+= -msse3
# CXXFLAGS+= -msse3
# CFLAGS.armv6+= -mfloat-abi=softfp
#
# MAKE_SHELL controls the shell used internally by make(1) to process the
# command scripts in makefiles. Three shells are supported, sh, ksh, and
# csh. Using sh is most common, and advised. Using ksh *may* work, but is
# not guaranteed to. Using csh is absurd. The default is to use sh.
#
#MAKE_SHELL?=sh
#
# BDECFLAGS are a set of gcc warning settings that Bruce Evans has suggested
# for use in developing FreeBSD and testing changes. They can be used by
# putting "CFLAGS+=${BDECFLAGS}" in /etc/make.conf. -Wconversion is not
# included here due to compiler bugs, e.g., mkdir()'s mode_t argument.
#
#BDECFLAGS= -W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
# -Wcast-qual -Wchar-subscripts -Winline \
# -Wmissing-prototypes -Wnested-externs -Wpointer-arith \
# -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
#
# To compile just the kernel with special optimizations, you should use
# this instead of CFLAGS (which is not applicable to kernel builds anyway).
# There is very little to gain by using higher optimization levels, and doing
# so can cause problems.
#
#COPTFLAGS= -O -pipe
#
# Compare before install.
#INSTALL+= -C
#
# Mtree will follow symlinks.
#MTREE_FOLLOWS_SYMLINKS= -L
#
# To enable installing newgrp(1) with the setuid bit turned on.
# Without the setuid bit, newgrp cannot change users' groups.
#ENABLE_SUID_NEWGRP=
#
# To avoid building various parts of the base system:
#NO_MODULES= # do not build modules with the kernel
2004-12-21 12:13:23 +00:00
#NO_SHARE= # do not go into the share subdir
#NO_SHARED= # build /bin and /sbin statically linked (bad idea)
#
# Variables that control how ppp(8) is built.
#PPP_NO_NAT= # do not build with NAT support (see make.conf(5))
#PPP_NO_NETGRAPH= # do not build with Netgraph support
#PPP_NO_RADIUS= # do not build with RADIUS support
#PPP_NO_SUID= # build with normal permissions
#
2004-12-21 12:44:20 +00:00
#TRACEROUTE_NO_IPSEC= # do not build traceroute(8) with IPSEC support
#
# To build sys/modules when building the world (our old way of doing things).
#MODULES_WITH_WORLD= # do not build modules when building kernel
#
# The list of modules to build instead of all of them.
#MODULES_OVERRIDE= linux ipfw
#
# The list of modules to never build, applied *after* MODULES_OVERRIDE.
#WITHOUT_MODULES= plip
#
# If you do not want unformatted manual pages to be compressed
# when they are installed:
#
#WITHOUT_MANCOMPRESS=t
#
#
# Default format for system documentation, depends on your printer.
# Set this to "ascii" for simple printers or screen.
#
#PRINTERDEVICE= ps
#
#
1996-02-15 21:14:36 +00:00
# How long to wait for a console keypress before booting the default kernel.
# This value is approximately in milliseconds. Keypresses are accepted by the
# BIOS before booting from disk, making it possible to give custom boot
# parameters even when this is set to 0.
#
#BOOTWAIT=0
#BOOTWAIT=30000
#
# By default, the system will always use the keyboard/video card as system
1997-06-09 05:38:41 +00:00
# console. However, the boot blocks may be dynamically configured to use a
# serial port in addition to or instead of the keyboard/video console.
#
# By default we use COM1 as our serial console port *if* we're going to use
# a serial port as our console at all. Alter as necessary.
#
# COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
#
1996-10-14 17:27:53 +00:00
#BOOT_COMCONSOLE_PORT= 0x3F8
#
1997-06-09 05:38:41 +00:00
# The default serial console speed is 9600. Set the speed to a larger value
# for better interactive response.
#
1997-06-09 05:38:41 +00:00
#BOOT_COMCONSOLE_SPEED= 115200
#
# By default the 'pxeboot' loader retrieves the kernel via NFS. Defining
# this and recompiling /usr/src/stand will cause it to retrieve the kernel
# via TFTP. This allows pxeboot to load a custom BOOTP diskless kernel yet
# still mount the server's '/' (i.e. rather than load the server's kernel).
#
#LOADER_TFTP_SUPPORT= YES
1996-10-14 17:27:53 +00:00
#
#
# Kerberos 5 su (k5su)
# If you want to use the k5su utility, define this to have it installed
# set-user-ID.
#ENABLE_SUID_K5SU=
#
#
# top(1) uses a hash table for the user names. The size of this hash
# can be tuned to match the number of local users. The table size should
# be a prime number approximately twice as large as the number of lines in
# /etc/passwd. The default number is 20011.
#
#TOP_TABLE_SIZE= 101
#
# Documentation
#
# The list of languages and encodings to build and install.
#
2001-06-11 01:26:52 +00:00
#DOC_LANG= en_US.ISO8859-1 ru_RU.KOI8-R
#
#
# sendmail
#
# The following sets the default m4 configuration file to use at
# install time. Use with caution as a make install will overwrite
# any existing /etc/mail/sendmail.cf. Note that SENDMAIL_CF is now
# deprecated. The value should be a fully qualified path name.
#
#SENDMAIL_MC=/etc/mail/myconfig.mc
#
# The following sets the default m4 configuration file for mail
# submission to use at install time. Use with caution as a make
# install will overwrite any existing /etc/mail/submit.cf. The
# value should be a fully qualified path name.
#
#SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc
#
# If you need to build additional .cf files during a make buildworld,
# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
#
#SENDMAIL_ADDITIONAL_MC=/etc/mail/foo.mc /etc/mail/bar.mc
#
# The following overrides the default location for the m4 configuration
# files used to build a .cf file from a .mc file.
#
#SENDMAIL_CF_DIR=/usr/local/share/sendmail/cf
#
# Setting the following variable modifies the flags passed to m4 when
# building a .cf file from a .mc file. It can be used to enable
# features disabled by default.
#
#SENDMAIL_M4_FLAGS=
#
2001-06-27 01:48:02 +00:00
# Setting the following variables modifies the build environment for
# sendmail and its related utilities. For example, SASL support can be
# added with settings such as:
#
# with SASLv1:
# SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
# SENDMAIL_LDADD=/usr/local/lib/libsasl.so
#
# with SASLv2:
# SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2
# SENDMAIL_LDADD=/usr/local/lib/libsasl2.so
#
# Note: If you are using Cyrus SASL with other applications which require
# access to the sasldb file, you should add the following to your
# sendmail.mc file:
#
# define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')
#
#SENDMAIL_CFLAGS=
#SENDMAIL_LDFLAGS=
#SENDMAIL_LDADD=
#SENDMAIL_DPADD=
#
# Setting SENDMAIL_SET_USER_ID will install the sendmail binary as a
# set-user-ID root binary instead of a set-group-ID smmsp binary and will
# prevent the installation of /etc/mail/submit.cf.
# This is a deprecated mode of operation. See etc/mail/README for more
# information.
#
#SENDMAIL_SET_USER_ID=
#
# The permissions to use on alias and map databases generated using
# /etc/mail/Makefile. Defaults to 0640.
#
#SENDMAIL_MAP_PERMS=
2011-01-25 15:06:50 +00:00
#
#
# It is also possible to set variables in make.conf which will only be
# used when compiling a specific port. For more details see make(1).
#
#.if ${.CURDIR:M*/irc/irssi-devel*}
#WITH_DEBUG=YES
#.endif
#
# Another approach is to use /usr/ports/ports-mgmt/portconf which has
# its own config file for port specific options.