The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/conf/kern.opts.mk

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # $FreeBSD: releng/11.0/sys/conf/kern.opts.mk 301814 2016-06-10 19:06:11Z jtl $
    2 
    3 # Options set in the build system that affect the kernel somehow.
    4 
    5 #
    6 # Define MK_* variables (which are either "yes" or "no") for users
    7 # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the
    8 # make(1) environment.
    9 # These should be tested with `== "no"' or `!= "no"' in makefiles.
   10 # The NO_* variables should only be set by makefiles for variables
   11 # that haven't been converted over.
   12 #
   13 
   14 # Note: bsd.own.mk must be included before the rest of kern.opts.mk to make
   15 # building on 10.x and earlier work. This should be removed when that's no
   16 # longer supported since it confounds the defaults (since it uses the host's
   17 # notion of defaults rather than what's default in current when building
   18 # within sys/modules).
   19 .include <bsd.own.mk>
   20 
   21 # These options are used by the kernel build process (kern.mk and kmod.mk)
   22 # They have to be listed here so we can build modules outside of the
   23 # src tree.
   24 
   25 __DEFAULT_YES_OPTIONS = \
   26     AUTOFS \
   27     BHYVE \
   28     BLUETOOTH \
   29     CCD \
   30     CDDL \
   31     CRYPT \
   32     CUSE \
   33     FORMAT_EXTENSIONS \
   34     INET \
   35     INET6 \
   36     IPFILTER \
   37     ISCSI \
   38     KERNEL_SYMBOLS \
   39     NETGRAPH \
   40     PF \
   41     SOURCELESS_HOST \
   42     SOURCELESS_UCODE \
   43     USB_GADGET_EXAMPLES \
   44     ZFS
   45 
   46 __DEFAULT_NO_OPTIONS = \
   47     EISA \
   48     EXTRA_TCP_STACKS \
   49     NAND \
   50     OFED
   51 
   52 # Some options are totally broken on some architectures. We disable
   53 # them. If you need to enable them on an experimental basis, you
   54 # must change this code.
   55 # Note: These only apply to the list of modules we build by default
   56 # and sometimes what is in the opt_*.h files by default.
   57 # Kernel config files are unaffected, though some targets can be
   58 # affected by KERNEL_SYMBOLS, FORMAT_EXTENSIONS, CTF and SSP.
   59 
   60 # Things that don't work based on the CPU
   61 .if ${MACHINE_CPUARCH} == "arm"
   62 . if ${MACHINE_ARCH:Marmv6*} == ""
   63 BROKEN_OPTIONS+= CDDL ZFS
   64 . endif
   65 .endif
   66 
   67 .if ${MACHINE_CPUARCH} == "mips"
   68 BROKEN_OPTIONS+= CDDL ZFS
   69 .endif
   70 
   71 .if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} == "powerpc"
   72 BROKEN_OPTIONS+= ZFS
   73 .endif
   74 
   75 # Things that don't work because the kernel doesn't have the support
   76 # for them.
   77 .if ${MACHINE} != "i386"
   78 BROKEN_OPTIONS+= EISA
   79 .endif
   80 
   81 .if ${MACHINE} != "i386" && ${MACHINE} != "amd64"
   82 BROKEN_OPTIONS+= OFED
   83 .endif
   84 
   85 # expanded inline from bsd.mkopt.mk to avoid share/mk dependency
   86 
   87 # Those that default to yes
   88 .for var in ${__DEFAULT_YES_OPTIONS}
   89 .if !defined(MK_${var})
   90 .if defined(WITHOUT_${var})                     # WITHOUT always wins
   91 MK_${var}:=     no
   92 .else
   93 MK_${var}:=     yes
   94 .endif
   95 .else
   96 .if ${MK_${var}} != "yes" && ${MK_${var}} != "no"
   97 .error "Illegal value for MK_${var}: ${MK_${var}}"
   98 .endif
   99 .endif # !defined(MK_${var})
  100 .endfor
  101 .undef __DEFAULT_YES_OPTIONS
  102 
  103 # Those that default to no
  104 .for var in ${__DEFAULT_NO_OPTIONS}
  105 .if !defined(MK_${var})
  106 .if defined(WITH_${var}) && !defined(WITHOUT_${var}) # WITHOUT always wins
  107 MK_${var}:=     yes
  108 .else
  109 MK_${var}:=     no
  110 .endif
  111 .else
  112 .if ${MK_${var}} != "yes" && ${MK_${var}} != "no"
  113 .error "Illegal value for MK_${var}: ${MK_${var}}"
  114 .endif
  115 .endif # !defined(MK_${var})
  116 .endfor
  117 .undef __DEFAULT_NO_OPTIONS
  118 
  119 #
  120 # MK_* options which are always no, usually because they are
  121 # unsupported/badly broken on this architecture.
  122 #
  123 .for var in ${BROKEN_OPTIONS}
  124 MK_${var}:=     no
  125 .endfor
  126 .undef BROKEN_OPTIONS
  127 #end of bsd.mkopt.mk expanded inline.
  128 
  129 #
  130 # MK_*_SUPPORT options which default to "yes" unless their corresponding
  131 # MK_* variable is set to "no".
  132 #
  133 .for var in \
  134     INET \
  135     INET6
  136 .if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no"
  137 MK_${var}_SUPPORT:= no
  138 .else
  139 .if defined(KERNBUILDDIR)       # See if there's an opt_foo.h
  140 .if !defined(OPT_${var})
  141 OPT_${var}!= cat ${KERNBUILDDIR}/opt_${var:tl}.h; echo
  142 .export OPT_${var}
  143 .endif
  144 .if ${OPT_${var}} == ""         # nothing -> no
  145 MK_${var}_SUPPORT:= no
  146 .else
  147 MK_${var}_SUPPORT:= yes
  148 .endif
  149 .else                           # otherwise, yes
  150 MK_${var}_SUPPORT:= yes
  151 .endif
  152 .endif
  153 .endfor
  154 
  155 # Some modules only compile successfully if option FDT is set, due to #ifdef FDT
  156 # wrapped around declarations.  Module makefiles can optionally compile such
  157 # things using .if !empty(OPT_FDT)
  158 .if !defined(OPT_FDT) && defined(KERNBUILDDIR)
  159 OPT_FDT!= sed -n '/FDT/p' ${KERNBUILDDIR}/opt_platform.h
  160 .export OPT_FDT
  161 .endif

Cache object: 45af6685b2d0a1f126665b2084c40790


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.