/usr/share/boost-build/src/tools/features
NameSizeModeActions
address-model-feature.jam6950644editdlrm
allow-feature.jam5120644editdlrm
architecture-feature.jam12220644editdlrm
archiveflags-feature.jam4470644editdlrm
asmflags-feature.jam4000644editdlrm
build-feature.jam6260644editdlrm
cflags-feature.jam6910644editdlrm
conditional-feature.jam7280644editdlrm
coverage-feature.jam6090644editdlrm
cxx-template-depth-feature.jam14270644editdlrm
cxxabi-feature.jam4070644editdlrm
cxxflags-feature.jam3740644editdlrm
cxxstd-feature.jam16670644editdlrm
debug-feature.jam9360644editdlrm
define-feature.jam7080644editdlrm
dependency-feature.jam20350644editdlrm
dll-feature.jam22180644editdlrm
exception-feature.jam10090644editdlrm
fflags-feature.jam4200644editdlrm
file-feature.jam4820644editdlrm
find-lib-feature.jam10730644editdlrm
flags-feature.jam4920644editdlrm
force-include-feature.jam5720644editdlrm
include-feature.jam4340644editdlrm
instruction-set-feature.jam24940644editdlrm
internal-feature.jam4400644editdlrm
library-feature.jam7080644editdlrm
link-feature.jam4060644editdlrm
linkflags-feature.jam3770644editdlrm
local-visibility-feature.jam9840644editdlrm
location-feature.jam4530644editdlrm
location-prefix-feature.jam5050644editdlrm
lto-feature.jam13090644editdlrm
name-feature.jam6320644editdlrm
objcflags-feature.jam6570644editdlrm
optimization-feature.jam9390644editdlrm
os-feature.jam36870644editdlrm
relevant-feature.jam19920644editdlrm
rtti-feature.jam3950644editdlrm
runtime-feature.jam12900644editdlrm
sanitizers-feature.jam17160644editdlrm
search-feature.jam5160644editdlrm
source-feature.jam7530644editdlrm
stdlib-feature.jam9760644editdlrm
strip-feature.jam6160644editdlrm
tag-feature.jam11740644editdlrm
threadapi-feature.jam11620644editdlrm
threading-feature.jam7750644editdlrm
toolset-feature.jam5280644editdlrm
translate-path-feature.jam9440644editdlrm
user-interface-feature.jam9520644editdlrm
variant-feature.jam33000644editdlrm
version-feature.jam4800644editdlrm
visibility-feature.jam19870644editdlrm
warnings-feature.jam10340644editdlrm
__init_features__.jam7430644editdlrm
Edit: /usr/share/boost-build/src/tools/features/os-feature.jam (3687B)
# Copyright 2017 Rene Rivera # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) import feature ; import modules ; import os ; .os-names = aix android appletv bsd cygwin darwin freebsd haiku hpux iphone linux netbsd openbsd osf qnx qnxnto sgi solaris unix unixware windows vms vxworks freertos # Not actually an OS -- used for targeting bare metal where object # format is ELF. This catches both -elf and -eabi gcc targets as well # as other compilers targeting ELF. It is not clear how often we need # the 'elf' key as opposed to other bare metal targets, but let us # stick with gcc naming. elf ; # Feature used to determine which OS we're on. New and # features should be used instead. local os = [ modules.peek : OS ] ; feature.feature os : $(os) : propagated link-incompatible ; # Translates from bjam current OS to the os tags used in host-os and # target-os, i.e. returns the running host-os. # local rule default-host-os ( ) { local host-os ; if [ os.name ] in $(.os-names:U) { host-os = [ os.name ] ; } else { switch [ os.name ] { case NT : host-os = windows ; case AS400 : host-os = unix ; case MINGW : host-os = windows ; case BSDI : host-os = bsd ; case COHERENT : host-os = unix ; case DRAGONFLYBSD : host-os = bsd ; case IRIX : host-os = sgi ; case HAIKU : host-os = haiku ; case MACOSX : host-os = darwin ; case KFREEBSD : host-os = freebsd ; case LINUX : host-os = linux ; case VMS : host-os = vms ; case SUNOS : ECHO "SunOS is not a supported operating system." "We believe last version of SunOS was released in 1992, " "so if you get this message, something is very wrong with " "configuration logic. Please report this as a bug. " ; EXIT ; case * : host-os = unix ; } } return $(host-os:L) ; } # The two OS features define a known set of abstract OS names. The host-os is # the OS under which bjam is running. Even though this should really be a fixed # property we need to list all the values to prevent unknown value errors. Both # set the default value to the current OS to account for the default use case of # building on the target OS. feature.feature host-os : $(.os-names) ; feature.set-default host-os : [ default-host-os ] ; #| tag::doc[] [[bbv2.builtin.features.target-os]]`target-os`:: *Allowed values:* `aix`, `android`, `appletv`, `bsd`, `cygwin`, `darwin`, `freebsd`, `haiku`, `hpux`, `iphone`, `linux`, `netbsd`, `openbsd`, `osf`, `qnx`, `qnxnto`, `sgi`, `solaris`, `unix`, `unixware`, `windows`, `vms`, `vxworks`, `freertos`. + Specifies the operating system for which the code is to be generated. The compiler you used should be the compiler for that operating system. This option causes B2 to use naming conventions suitable for that operating system, and adjust build process accordingly. For example, with gcc, it controls if import libraries are produced for shared libraries or not. + See the section <> for details of cross-compilation. |# # end::doc[] feature.feature target-os : $(.os-names) : propagated link-incompatible ; feature.set-default target-os : [ default-host-os ] ;