mirror of https://gitee.com/bigwinds/arangodb
930 lines
23 KiB
Plaintext
930 lines
23 KiB
Plaintext
|
|
# Boost.Context Library Build Jamfile
|
|
|
|
# Copyright Oliver Kowalke 2009.
|
|
# 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 common ;
|
|
import feature ;
|
|
import indirect ;
|
|
import modules ;
|
|
import os ;
|
|
import toolset ;
|
|
|
|
feature.feature segmented-stacks : on : optional propagated composite ;
|
|
feature.compose <segmented-stacks>on : <define>BOOST_USE_SEGMENTED_STACKS ;
|
|
|
|
feature.feature valgrind : on : optional propagated composite ;
|
|
feature.compose <valgrind>on : <define>BOOST_USE_VALGRIND ;
|
|
|
|
feature.feature context-switch : cc ec : optional propagated composite ;
|
|
feature.compose <context-switch>ec : <define>BOOST_USE_EXECUTION_CONTEXT ;
|
|
|
|
project boost/context
|
|
: requirements
|
|
<toolset>gcc,<segmented-stacks>on:<cxxflags>-fsplit-stack
|
|
<toolset>gcc,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS
|
|
<toolset>gcc,<segmented-stacks>on:<linkflags>"-static-libgcc"
|
|
<toolset>clang,<segmented-stacks>on:<cxxflags>-fsplit-stack
|
|
<toolset>clang,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS
|
|
<toolset>clang,<segmented-stacks>on:<linkflags>"-static-libgcc"
|
|
<toolset>intel,<link>shared:<define>BOOST_CONTEXT_EXPORT=EXPORT
|
|
<toolset>intel,<link>static:<define>BOOST_CONTEXT_EXPORT=
|
|
<toolset>msvc,<link>shared:<define>BOOST_CONTEXT_EXPORT=EXPORT
|
|
<toolset>msvc,<link>static:<define>BOOST_CONTEXT_EXPORT=
|
|
<link>shared:<define>BOOST_CONTEXT_DYN_LINK=1
|
|
<define>BOOST_CONTEXT_SOURCE
|
|
<threading>multi
|
|
: usage-requirements
|
|
<link>shared:<define>BOOST_CONTEXT_DYN_LINK=1
|
|
<optimization>speed:<define>BOOST_DISABLE_ASSERTS
|
|
<variant>release:<define>BOOST_DISABLE_ASSERTS
|
|
: source-location ../src
|
|
;
|
|
|
|
local rule default_binary_format ( )
|
|
{
|
|
local tmp = elf ;
|
|
if [ os.name ] = "NT" { tmp = pe ; }
|
|
else if [ os.name ] = "CYGWIN" { tmp = pe ; }
|
|
else if [ os.name ] = "AIX" { tmp = xcoff ; }
|
|
else if [ os.name ] = "MACOSX" { tmp = mach-o ; }
|
|
return $(tmp) ;
|
|
}
|
|
|
|
feature.feature binary-format
|
|
: elf
|
|
mach-o
|
|
pe
|
|
xcoff
|
|
: propagated
|
|
;
|
|
feature.set-default binary-format : [ default_binary_format ] ;
|
|
|
|
|
|
local rule default_abi ( )
|
|
{
|
|
local tmp = sysv ;
|
|
if [ os.name ] = "NT" { tmp = ms ; }
|
|
else if [ os.name ] = "CYGWIN" { tmp = ms ; }
|
|
else if [ os.platform ] = "ARM" { tmp = aapcs ; }
|
|
else if [ os.platform ] = "MIPS" { tmp = o32 ; }
|
|
return $(tmp) ;
|
|
}
|
|
|
|
feature.feature abi
|
|
: aapcs
|
|
eabi
|
|
ms
|
|
n32
|
|
n64
|
|
o32
|
|
o64
|
|
sysv
|
|
x32
|
|
: propagated
|
|
;
|
|
feature.set-default abi : [ default_abi ] ;
|
|
|
|
|
|
actions gas32
|
|
{
|
|
cpp -x assembler-with-cpp "$(>)" | as --32 -o "$(<)"
|
|
}
|
|
|
|
actions gas64
|
|
{
|
|
cpp -x assembler-with-cpp "$(>)" | as --64 -o "$(<)"
|
|
}
|
|
|
|
actions gasx32
|
|
{
|
|
cpp -x assembler-with-cpp "$(>)" | as --x32 -o "$(<)"
|
|
}
|
|
|
|
actions gas
|
|
{
|
|
cpp -x assembler-with-cpp "$(>)" | as -o "$(<)"
|
|
}
|
|
|
|
actions armasm
|
|
{
|
|
armasm "$(>)" "$(<)"
|
|
}
|
|
|
|
actions masm
|
|
{
|
|
ml /c /Fo"$(<)" "$(>)"
|
|
}
|
|
|
|
actions masm64
|
|
{
|
|
ml64 /c /Fo"$(<)" "$(>)"
|
|
}
|
|
|
|
|
|
rule configure ( properties * )
|
|
{
|
|
local result ;
|
|
|
|
# if ( ! ( <toolset>gcc in $(properties)
|
|
# || <toolset>intel in $(properties)
|
|
# || <toolset>msvc in $(properties) ) )
|
|
# {
|
|
# result = <build>no ;
|
|
# ECHO "toolset not supported" ;
|
|
# }
|
|
|
|
return $(result) ;
|
|
}
|
|
|
|
# ARM
|
|
# ARM/AAPCS/ELF
|
|
alias asm_context_sources
|
|
: [ make asm/make_arm_aapcs_elf_gas.o : asm/make_arm_aapcs_elf_gas.S : @gas32 ]
|
|
[ make asm/jump_arm_aapcs_elf_gas.o : asm/jump_arm_aapcs_elf_gas.S : @gas32 ]
|
|
[ make asm/ontop_arm_aapcs_elf_gas.o : asm/ontop_arm_aapcs_elf_gas.S : @gas32 ]
|
|
: <abi>aapcs
|
|
<address-model>32
|
|
<architecture>arm
|
|
<binary-format>elf
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm_aapcs_elf_gas.S
|
|
asm/jump_arm_aapcs_elf_gas.S
|
|
asm/ontop_arm_aapcs_elf_gas.S
|
|
: <abi>aapcs
|
|
<address-model>32
|
|
<architecture>arm
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm_aapcs_elf_gas.S
|
|
asm/jump_arm_aapcs_elf_gas.S
|
|
asm/ontop_arm_aapcs_elf_gas.S
|
|
: <abi>aapcs
|
|
<address-model>32
|
|
<architecture>arm
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm_aapcs_elf_gas.S
|
|
asm/jump_arm_aapcs_elf_gas.S
|
|
asm/ontop_arm_aapcs_elf_gas.S
|
|
: <abi>aapcs
|
|
<address-model>32
|
|
<architecture>arm
|
|
<binary-format>elf
|
|
<toolset>qcc
|
|
;
|
|
# ARM/AAPCS/MACH-O
|
|
alias asm_context_sources
|
|
: [ make asm/make_arm_aapcs_macho_gas.o : asm/make_arm_aapcs_macho_gas.S : @gas32 ]
|
|
[ make asm/jump_arm_aapcs_macho_gas.o : asm/jump_arm_aapcs_macho_gas.S : @gas32 ]
|
|
[ make asm/ontop_arm_aapcs_macho_gas.o : asm/ontop_arm_aapcs_macho_gas.S : @gas32 ]
|
|
: <abi>aapcs
|
|
<address-model>32
|
|
<architecture>arm
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm_aapcs_macho_gas.S
|
|
asm/jump_arm_aapcs_macho_gas.S
|
|
asm/ontop_arm_aapcs_macho_gas.S
|
|
: <abi>aapcs
|
|
<address-model>32
|
|
<architecture>arm
|
|
<binary-format>mach-o
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm_aapcs_macho_gas.S
|
|
asm/jump_arm_aapcs_macho_gas.S
|
|
asm/ontop_arm_aapcs_macho_gas.S
|
|
: <abi>aapcs
|
|
<address-model>32
|
|
<architecture>arm
|
|
<binary-format>mach-o
|
|
<toolset>darwin
|
|
;
|
|
# ARM/AAPCS/PE
|
|
alias asm_context_sources
|
|
: [ make asm/make_arm_aapcs_pe_armasm.o : asm/make_arm_aapcs_pe_armasm.asm : @armasm ]
|
|
[ make asm/jump_arm_aapcs_pe_armasm.o : asm/jump_arm_aapcs_pe_armasm.asm : @armasm ]
|
|
[ make asm/ontop_arm_aapcs_pe_armasm.o : asm/ontop_arm_aapcs_pe_armasm.asm : @armasm ]
|
|
untested.cpp
|
|
: <abi>aapcs
|
|
<address-model>32
|
|
<architecture>arm
|
|
<binary-format>pe
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm_aapcs_pe_armasm.asm
|
|
asm/jump_arm_aapcs_pe_armasm.asm
|
|
asm/ontop_arm_aapcs_pe_armasm.asm
|
|
untested.cpp
|
|
: <abi>aapcs
|
|
<address-model>32
|
|
<architecture>arm
|
|
<binary-format>pe
|
|
<toolset>msvc
|
|
;
|
|
|
|
# ARM64
|
|
# ARM64/AAPCS/ELF
|
|
alias asm_context_sources
|
|
: [ make asm/make_arm64_aapcs_elf_gas.o : asm/make_arm64_aapcs_elf_gas.S : @gas64 ]
|
|
[ make asm/jump_arm64_aapcs_elf_gas.o : asm/jump_arm64_aapcs_elf_gas.S : @gas64 ]
|
|
[ make asm/ontop_arm64_aapcs_elf_gas.o : asm/ontop_arm64_aapcs_elf_gas.S : @gas64 ]
|
|
: <abi>aapcs
|
|
<address-model>64
|
|
<architecture>arm
|
|
<binary-format>elf
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm64_aapcs_elf_gas.S
|
|
asm/jump_arm64_aapcs_elf_gas.S
|
|
asm/ontop_arm64_aapcs_elf_gas.S
|
|
: <abi>aapcs
|
|
<address-model>64
|
|
<architecture>arm
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm64_aapcs_elf_gas.S
|
|
asm/jump_arm64_aapcs_elf_gas.S
|
|
asm/ontop_arm64_aapcs_elf_gas.S
|
|
: <abi>aapcs
|
|
<address-model>64
|
|
<architecture>arm
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
# ARM64/AAPCS/MACH-O
|
|
alias asm_context_sources
|
|
: [ make asm/make_arm64_aapcs_macho_gas.o : asm/make_arm64_aapcs_macho_gas.S : @gas64 ]
|
|
[ make asm/jump_arm64_aapcs_macho_gas.o : asm/jump_arm64_aapcs_macho_gas.S : @gas64 ]
|
|
[ make asm/ontop_arm64_aapcs_macho_gas.o : asm/ontop_arm64_aapcs_macho_gas.S : @gas64 ]
|
|
: <abi>aapcs
|
|
<address-model>64
|
|
<architecture>arm
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm64_aapcs_macho_gas.S
|
|
asm/jump_arm64_aapcs_macho_gas.S
|
|
asm/ontop_arm64_aapcs_macho_gas.S
|
|
: <abi>aapcs
|
|
<address-model>64
|
|
<architecture>arm
|
|
<binary-format>mach-o
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_arm64_aapcs_macho_gas.S
|
|
asm/jump_arm64_aapcs_macho_gas.S
|
|
asm/ontop_arm64_aapcs_macho_gas.S
|
|
: <abi>aapcs
|
|
<address-model>64
|
|
<architecture>arm
|
|
<binary-format>mach-o
|
|
<toolset>darwin
|
|
;
|
|
|
|
# MIPS
|
|
# MIPS/O32/ELF
|
|
alias asm_context_sources
|
|
: [ make asm/make_mips32_o32_elf_gas.o : asm/make_mips32_o32_elf_gas.S : @gas32 ]
|
|
[ make asm/jump_mips32_o32_elf_gas.o : asm/jump_mips32_o32_elf_gas.S : @gas32 ]
|
|
[ make asm/ontop_mips32_o32_elf_gas.o : asm/ontop_mips32_o32_elf_gas.S : @gas32 ]
|
|
: <abi>o32
|
|
<address-model>32
|
|
<architecture>mips1
|
|
<binary-format>elf
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_mips32_o32_elf_gas.S
|
|
asm/jump_mips32_o32_elf_gas.S
|
|
asm/ontop_mips32_o32_elf_gas.S
|
|
: <abi>o32
|
|
<address-model>32
|
|
<architecture>mips1
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_mips32_o32_elf_gas.S
|
|
asm/jump_mips32_o32_elf_gas.S
|
|
asm/ontop_mips32_o32_elf_gas.S
|
|
: <abi>o32
|
|
<address-model>32
|
|
<architecture>mips1
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
# POWERPC_32
|
|
# POWERPC_32/SYSV/ELF
|
|
alias asm_context_sources
|
|
: [ make asm/make_ppc32_sysv_elf_gas.o : asm/make_ppc32_sysv_elf_gas.S : @gas32 ]
|
|
[ make asm/jump_ppc32_sysv_elf_gas.o : asm/jump_ppc32_sysv_elf_gas.S : @gas32 ]
|
|
[ make asm/ontop_ppc32_sysv_elf_gas.o : asm/ontop_ppc32_sysv_elf_gas.S : @gas32 ]
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>elf
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc32_sysv_elf_gas.S
|
|
asm/jump_ppc32_sysv_elf_gas.S
|
|
asm/ontop_ppc32_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc32_sysv_elf_gas.S
|
|
asm/jump_ppc32_sysv_elf_gas.S
|
|
asm/ontop_ppc32_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
# POWERPC_32/SYSV/MACH-O
|
|
alias asm_context_sources
|
|
: [ make asm/make_ppc32_sysv_macho_gas.o : asm/make_ppc32_sysv_macho_gas.S : @gas32 ]
|
|
[ make asm/jump_ppc32_sysv_macho_gas.o : asm/jump_ppc32_sysv_macho_gas.S : @gas32 ]
|
|
[ make asm/ontop_ppc32_sysv_macho_gas.o : asm/ontop_ppc32_sysv_macho_gas.S : @gas32 ]
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc32_sysv_macho_gas.S
|
|
asm/jump_ppc32_sysv_macho_gas.S
|
|
asm/ontop_ppc32_sysv_macho_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>mach-o
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc32_sysv_macho_gas.S
|
|
asm/jump_ppc32_sysv_macho_gas.S
|
|
asm/ontop_ppc32_sysv_macho_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>mach-o
|
|
<toolset>darwin
|
|
;
|
|
#POWERPC_32/SYSV/XCOFF
|
|
alias asm_context_sources
|
|
: [ make asm/make_ppc32_sysv_xcoff_gas.o : asm/make_ppc32_sysv_xcoff_gas.S : @gas ]
|
|
[ make asm/jump_ppc32_sysv_xcoff_gas.o : asm/jump_ppc32_sysv_xcoff_gas.S : @gas ]
|
|
[ make asm/ontop_ppc32_sysv_xcoff_gas.o : asm/ontop_ppc32_sysv_xcoff_gas.S : @gas ]
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>xcoff
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc32_sysv_xcoff_gas.S
|
|
asm/jump_ppc32_sysv_xcoff_gas.S
|
|
asm/ontop_ppc32_sysv_xcoff_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>xcoff
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc32_sysv_xcoff_gas.S
|
|
asm/jump_ppc32_sysv_xcoff_gas.S
|
|
asm/ontop_ppc32_sysv_xcoff_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>xcoff
|
|
<toolset>gcc
|
|
;
|
|
|
|
# POWERPC_64
|
|
# POWERPC_64/SYSV/ELF
|
|
alias asm_context_sources
|
|
: [ make asm/make_ppc64_sysv_elf_gas.o : asm/make_ppc64_sysv_elf_gas.S : @gas64 ]
|
|
[ make asm/jump_ppc64_sysv_elf_gas.o : asm/jump_ppc64_sysv_elf_gas.S : @gas64 ]
|
|
[ make asm/ontop_ppc64_sysv_elf_gas.o : asm/ontop_ppc64_sysv_elf_gas.S : @gas64 ]
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>power
|
|
<binary-format>elf
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc64_sysv_elf_gas.S
|
|
asm/jump_ppc64_sysv_elf_gas.S
|
|
asm/ontop_ppc64_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>power
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc64_sysv_elf_gas.S
|
|
asm/jump_ppc64_sysv_elf_gas.S
|
|
asm/ontop_ppc64_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>power
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
# POWERPC_64/SYSV/MACH-O
|
|
alias asm_context_sources
|
|
: [ make asm/make_ppc64_sysv_macho_gas.o : asm/make_ppc64_sysv_macho_gas.S : @gas ]
|
|
[ make asm/jump_ppc64_sysv_macho_gas.o : asm/jump_ppc64_sysv_macho_gas.S : @gas ]
|
|
[ make asm/ontop_ppc64_sysv_macho_gas.o : asm/ontop_ppc64_sysv_macho_gas.S : @gas ]
|
|
untested.cpp
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>power
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc64_sysv_macho_gas.S
|
|
asm/jump_ppc64_sysv_macho_gas.S
|
|
asm/ontop_ppc64_sysv_macho_gas.S
|
|
untested.cpp
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>power
|
|
<binary-format>mach-o
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc64_sysv_macho_gas.S
|
|
asm/jump_ppc64_sysv_macho_gas.S
|
|
asm/ontop_ppc64_sysv_macho_gas.S
|
|
untested.cpp
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>power
|
|
<binary-format>mach-o
|
|
<toolset>darwin
|
|
;
|
|
# POWERPC_64/SYSV/XCOFF
|
|
alias asm_context_sources
|
|
: [ make asm/make_ppc64_sysv_xcoff_gas.o : asm/make_ppc64_sysv_xcoff_gas.S : @gas ]
|
|
[ make asm/jump_ppc64_sysv_xcoff_gas.o : asm/jump_ppc64_sysv_xcoff_gas.S : @gas ]
|
|
[ make asm/ontop_ppc64_sysv_xcoff_gas.o : asm/ontop_ppc64_sysv_xcoff_gas.S : @gas ]
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>power
|
|
<binary-format>xcoff
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc64_sysv_xcoff_gas.S
|
|
asm/jump_ppc64_sysv_xcoff_gas.S
|
|
asm/ontop_ppc64_sysv_xcoff_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>power
|
|
<binary-format>xcoff
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_ppc64_sysv_xcoff_gas.S
|
|
asm/jump_ppc64_sysv_xcoff_gas.S
|
|
asm/ontop_ppc64_sysv_xcoff_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>power
|
|
<binary-format>xcoff
|
|
<toolset>gcc
|
|
;
|
|
|
|
# POWERPC universal
|
|
# POWERPC_32_64/SYSV/MACH-O
|
|
alias asm_context_sources
|
|
: asm/make_ppc32_ppc64_sysv_macho_gas.S
|
|
asm/jump_ppc32_ppc64_sysv_macho_gas.S
|
|
asm/ontop_ppc32_ppc64_sysv_macho_gas.S
|
|
: <abi>sysv
|
|
<address-model>32_64
|
|
<architecture>power
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
# X86
|
|
# X86/SYSV/ELF
|
|
alias asm_context_sources
|
|
: [ make asm/make_i386_sysv_elf_gas.o : asm/make_i386_sysv_elf_gas.S : @gas32 ]
|
|
[ make asm/jump_i386_sysv_elf_gas.o : asm/jump_i386_sysv_elf_gas.S : @gas32 ]
|
|
[ make asm/ontop_i386_sysv_elf_gas.o : asm/ontop_i386_sysv_elf_gas.S : @gas32 ]
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_i386_sysv_elf_gas.S
|
|
asm/jump_i386_sysv_elf_gas.S
|
|
asm/ontop_i386_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_i386_sysv_elf_gas.S
|
|
asm/jump_i386_sysv_elf_gas.S
|
|
asm/ontop_i386_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_i386_sysv_elf_gas.S
|
|
asm/jump_i386_sysv_elf_gas.S
|
|
asm/ontop_i386_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
<toolset>intel
|
|
;
|
|
# X86/SYSV/MACH-O
|
|
alias asm_context_sources
|
|
: [ make asm/make_i386_sysv_macho_gas.o : asm/make_i386_sysv_macho_gas.S : @gas32 ]
|
|
[ make asm/jump_i386_sysv_macho_gas.o : asm/jump_i386_sysv_macho_gas.S : @gas32 ]
|
|
[ make asm/ontop_i386_sysv_macho_gas.o : asm/ontop_i386_sysv_macho_gas.S : @gas32 ]
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_i386_sysv_macho_gas.S
|
|
asm/jump_i386_sysv_macho_gas.S
|
|
asm/ontop_i386_sysv_macho_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>mach-o
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_i386_sysv_macho_gas.S
|
|
asm/jump_i386_sysv_macho_gas.S
|
|
asm/ontop_i386_sysv_macho_gas.S
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>mach-o
|
|
<toolset>darwin
|
|
;
|
|
# X86/MS/PE
|
|
alias asm_context_sources
|
|
: [ make asm/make_i386_ms_pe_masm.o : asm/make_i386_ms_pe_masm.asm : @masm ]
|
|
[ make asm/jump_i386_ms_pe_masm.o : asm/jump_i386_ms_pe_masm.asm : @masm ]
|
|
[ make asm/ontop_i386_ms_pe_masm.o : asm/ontop_i386_ms_pe_masm.asm : @masm ]
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_i386_ms_pe_gas.asm
|
|
asm/jump_i386_ms_pe_gas.asm
|
|
asm/ontop_i386_ms_pe_gas.asm
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_i386_ms_pe_gas.asm
|
|
asm/jump_i386_ms_pe_gas.asm
|
|
asm/ontop_i386_ms_pe_gas.asm
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
<toolset>gcc
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_i386_ms_pe_masm.asm
|
|
asm/jump_i386_ms_pe_masm.asm
|
|
asm/ontop_i386_ms_pe_masm.asm
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
<toolset>intel
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_i386_ms_pe_masm.asm
|
|
asm/jump_i386_ms_pe_masm.asm
|
|
asm/ontop_i386_ms_pe_masm.asm
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>32
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
<toolset>msvc
|
|
;
|
|
|
|
# X86_64
|
|
# X86_64/SYSV/ELF
|
|
alias asm_context_sources
|
|
: [ make asm/make_x86_64_sysv_elf_gas.o : asm/make_x86_64_sysv_elf_gas.S : @gas64 ]
|
|
[ make asm/jump_x86_64_sysv_elf_gas.o : asm/jump_x86_64_sysv_elf_gas.S : @gas64 ]
|
|
[ make asm/ontop_x86_64_sysv_elf_gas.o : asm/ontop_x86_64_sysv_elf_gas.S : @gas64 ]
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_sysv_elf_gas.S
|
|
asm/jump_x86_64_sysv_elf_gas.S
|
|
asm/ontop_x86_64_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_sysv_elf_gas.S
|
|
asm/jump_x86_64_sysv_elf_gas.S
|
|
asm/ontop_x86_64_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_sysv_elf_gas.S
|
|
asm/jump_x86_64_sysv_elf_gas.S
|
|
asm/ontop_x86_64_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
<toolset>intel
|
|
;
|
|
# X86_64/SYSV/MACH-O
|
|
alias asm_context_sources
|
|
: [ make asm/make_x86_64_sysv_macho_gas.o : asm/make_x86_64_sysv_macho_gas.S : @gas64 ]
|
|
[ make asm/jump_x86_64_sysv_macho_gas.o : asm/jump_x86_64_sysv_macho_gas.S : @gas64 ]
|
|
[ make asm/ontop_x86_64_sysv_macho_gas.o : asm/ontop_x86_64_sysv_macho_gas.S : @gas64 ]
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_sysv_macho_gas.S
|
|
asm/jump_x86_64_sysv_macho_gas.S
|
|
asm/ontop_x86_64_sysv_macho_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>mach-o
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_sysv_macho_gas.S
|
|
asm/jump_x86_64_sysv_macho_gas.S
|
|
asm/ontop_x86_64_sysv_macho_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>mach-o
|
|
<toolset>darwin
|
|
;
|
|
# X86_64/MS/PE
|
|
alias asm_context_sources
|
|
: [ make asm/make_x86_64_ms_pe_masm.o : asm/make_x86_64_ms_pe_masm.asm : @masm64 ]
|
|
[ make asm/jump_x86_64_ms_pe_masm.o : asm/jump_x86_64_ms_pe_masm.asm : @masm64 ]
|
|
[ make asm/ontop_x86_64_ms_pe_masm.o : asm/ontop_x86_64_ms_pe_masm.asm : @masm64 ]
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_ms_pe_gas.asm
|
|
asm/jump_x86_64_ms_pe_gas.asm
|
|
asm/ontop_x86_64_ms_pe_gas.asm
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_ms_pe_gas.asm
|
|
asm/jump_x86_64_ms_pe_gas.asm
|
|
asm/ontop_x86_64_ms_pe_gas.asm
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
<toolset>gcc
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_ms_pe_masm.asm
|
|
asm/jump_x86_64_ms_pe_masm.asm
|
|
asm/ontop_x86_64_ms_pe_masm.asm
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
<toolset>intel
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_ms_pe_masm.asm
|
|
asm/jump_x86_64_ms_pe_masm.asm
|
|
asm/ontop_x86_64_ms_pe_masm.asm
|
|
dummy.cpp
|
|
: <abi>ms
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
<toolset>msvc
|
|
;
|
|
# X86_64/SYSV/X32
|
|
alias asm_context_sources
|
|
: [ make asm/make_x86_64_sysv_elf_gas.o : asm/make_x86_64_sysv_elf_gas.S : @gas64 ]
|
|
[ make asm/jump_x86_64_sysv_elf_gas.o : asm/jump_x86_64_sysv_elf_gas.S : @gas64 ]
|
|
[ make asm/ontop_x86_64_sysv_elf_gas.o : asm/ontop_x86_64_sysv_elf_gas.S : @gas64 ]
|
|
: <abi>x32
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_sysv_elf_gas.S
|
|
asm/jump_x86_64_sysv_elf_gas.S
|
|
asm/ontop_x86_64_sysv_elf_gas.S
|
|
: <abi>x32
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_sysv_elf_gas.S
|
|
asm/jump_x86_64_sysv_elf_gas.S
|
|
asm/ontop_x86_64_sysv_elf_gas.S
|
|
: <abi>x32
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
alias asm_context_sources
|
|
: asm/make_x86_64_sysv_elf_gas.S
|
|
asm/jump_x86_64_sysv_elf_gas.S
|
|
asm/ontop_x86_64_sysv_elf_gas.S
|
|
: <abi>x32
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>elf
|
|
<toolset>intel
|
|
;
|
|
|
|
#X86 universal
|
|
alias asm_context_sources
|
|
: asm/make_i386_x86_64_sysv_macho_gas.S
|
|
asm/jump_i386_x86_64_sysv_macho_gas.S
|
|
asm/ontop_i386_x86_64_sysv_macho_gas.S
|
|
: <abi>sysv
|
|
<address-model>32_64
|
|
<architecture>x86
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
# COMBINED
|
|
alias asm_context_sources
|
|
: asm/make_combined_sysv_macho_gas.S
|
|
asm/jump_combined_sysv_macho_gas.S
|
|
asm/ontop_combined_sysv_macho_gas.S
|
|
: <abi>sysv
|
|
<architecture>combined
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
|
|
alias asm_context_sources
|
|
: unsupported.cpp
|
|
;
|
|
|
|
explicit asm_context_sources ;
|
|
|
|
obj cxx11_hdr_mutex_check : ../build/cxx11_hdr_mutex.cpp ;
|
|
explicit cxx11_hdr_mutex_check ;
|
|
local cxx11_mutex = [ check-target-builds
|
|
cxx11_hdr_mutex_check "C++11 mutex"
|
|
:
|
|
: <library>/boost/thread//boost_thread
|
|
] ;
|
|
|
|
alias stack_traits_sources
|
|
: windows/stack_traits.cpp
|
|
: <target-os>windows
|
|
:
|
|
: $(cxx11_mutex)
|
|
;
|
|
|
|
alias stack_traits_sources
|
|
: posix/stack_traits.cpp
|
|
:
|
|
:
|
|
: $(cxx11_mutex)
|
|
;
|
|
|
|
explicit stack_traits_sources ;
|
|
|
|
|
|
lib boost_context
|
|
: asm_context_sources
|
|
stack_traits_sources
|
|
execution_context.cpp
|
|
;
|
|
|
|
boost-install boost_context ;
|