1
0
Fork 0
arangodb/3rdParty/boost/1.61.0/libs/context/build/Jamfile.v2

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 ;