/
usr
/
share
/
boost-build
/
src
/
tools
/
features
/
/usr/share/boost-build/src/tools/features
mkdir
upload
Name
Size
Mode
Actions
address-model-feature.jam
695
0644
edit
dl
rm
allow-feature.jam
512
0644
edit
dl
rm
architecture-feature.jam
1222
0644
edit
dl
rm
archiveflags-feature.jam
447
0644
edit
dl
rm
asmflags-feature.jam
400
0644
edit
dl
rm
build-feature.jam
626
0644
edit
dl
rm
cflags-feature.jam
691
0644
edit
dl
rm
conditional-feature.jam
728
0644
edit
dl
rm
coverage-feature.jam
609
0644
edit
dl
rm
cxx-template-depth-feature.jam
1427
0644
edit
dl
rm
cxxabi-feature.jam
407
0644
edit
dl
rm
cxxflags-feature.jam
374
0644
edit
dl
rm
cxxstd-feature.jam
1667
0644
edit
dl
rm
debug-feature.jam
936
0644
edit
dl
rm
define-feature.jam
708
0644
edit
dl
rm
dependency-feature.jam
2035
0644
edit
dl
rm
dll-feature.jam
2218
0644
edit
dl
rm
exception-feature.jam
1009
0644
edit
dl
rm
fflags-feature.jam
420
0644
edit
dl
rm
file-feature.jam
482
0644
edit
dl
rm
find-lib-feature.jam
1073
0644
edit
dl
rm
flags-feature.jam
492
0644
edit
dl
rm
force-include-feature.jam
572
0644
edit
dl
rm
include-feature.jam
434
0644
edit
dl
rm
instruction-set-feature.jam
2494
0644
edit
dl
rm
internal-feature.jam
440
0644
edit
dl
rm
library-feature.jam
708
0644
edit
dl
rm
link-feature.jam
406
0644
edit
dl
rm
linkflags-feature.jam
377
0644
edit
dl
rm
local-visibility-feature.jam
984
0644
edit
dl
rm
location-feature.jam
453
0644
edit
dl
rm
location-prefix-feature.jam
505
0644
edit
dl
rm
lto-feature.jam
1309
0644
edit
dl
rm
name-feature.jam
632
0644
edit
dl
rm
objcflags-feature.jam
657
0644
edit
dl
rm
optimization-feature.jam
939
0644
edit
dl
rm
os-feature.jam
3687
0644
edit
dl
rm
relevant-feature.jam
1992
0644
edit
dl
rm
rtti-feature.jam
395
0644
edit
dl
rm
runtime-feature.jam
1290
0644
edit
dl
rm
sanitizers-feature.jam
1716
0644
edit
dl
rm
search-feature.jam
516
0644
edit
dl
rm
source-feature.jam
753
0644
edit
dl
rm
stdlib-feature.jam
976
0644
edit
dl
rm
strip-feature.jam
616
0644
edit
dl
rm
tag-feature.jam
1174
0644
edit
dl
rm
threadapi-feature.jam
1162
0644
edit
dl
rm
threading-feature.jam
775
0644
edit
dl
rm
toolset-feature.jam
528
0644
edit
dl
rm
translate-path-feature.jam
944
0644
edit
dl
rm
user-interface-feature.jam
952
0644
edit
dl
rm
variant-feature.jam
3300
0644
edit
dl
rm
version-feature.jam
480
0644
edit
dl
rm
visibility-feature.jam
1987
0644
edit
dl
rm
warnings-feature.jam
1034
0644
edit
dl
rm
__init_features__.jam
743
0644
edit
dl
rm
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 <target-os> and <host-os> # 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 <<Cross-compilation>> for details of cross-compilation. |# # end::doc[] feature.feature target-os : $(.os-names) : propagated link-incompatible ; feature.set-default target-os : [ default-host-os ] ;
Save
cmd:
run