mirror of
https://github.com/yuzu-emu/ext-boost.git
synced 2025-01-09 14:35:43 +00:00
828 lines
18 KiB
Plaintext
828 lines
18 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 ;
|
|
import ../../config/checks/config : requires ;
|
|
|
|
feature.feature segmented-stacks : on : optional propagated composite ;
|
|
feature.compose <segmented-stacks>on : <define>BOOST_USE_SEGMENTED_STACKS ;
|
|
|
|
feature.feature htm : tsx : optional propagated composite ;
|
|
feature.compose <htm>tsx : <define>BOOST_USE_TSX ;
|
|
|
|
feature.feature valgrind : on : optional propagated composite ;
|
|
feature.compose <valgrind>on : <define>BOOST_USE_VALGRIND ;
|
|
|
|
project boost/context
|
|
: requirements
|
|
<target-os>windows:<define>_WIN32_WINNT=0x0601
|
|
<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=
|
|
<toolset>clang-win,<link>shared:<define>BOOST_CONTEXT_EXPORT=EXPORT
|
|
<toolset>clang-win,<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 ] ;
|
|
|
|
|
|
feature.feature context-impl
|
|
: fcontext
|
|
ucontext
|
|
winfib
|
|
: propagated
|
|
composite
|
|
;
|
|
feature.set-default context-impl : fcontext ;
|
|
feature.compose <context-impl>ucontext : <define>BOOST_USE_UCONTEXT ;
|
|
feature.compose <context-impl>winfib : <define>BOOST_USE_WINFIB ;
|
|
|
|
# ARM
|
|
# ARM/AAPCS/ELF
|
|
alias asm_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_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_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_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_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_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_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_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_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_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
|
|
# MIPS32/O32/ELF
|
|
alias asm_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_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
|
|
;
|
|
|
|
# MIPS64/N64/ELF
|
|
alias asm_sources
|
|
: asm/make_mips64_n64_elf_gas.S
|
|
asm/jump_mips64_n64_elf_gas.S
|
|
asm/ontop_mips64_n64_elf_gas.S
|
|
: <abi>n64
|
|
<address-model>64
|
|
<architecture>mips1
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_sources
|
|
: asm/make_mips64_n64_elf_gas.S
|
|
asm/jump_mips64_n64_elf_gas.S
|
|
asm/ontop_mips64_n64_elf_gas.S
|
|
: <abi>n64
|
|
<address-model>64
|
|
<architecture>mips1
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
# POWERPC_32
|
|
# POWERPC_32/SYSV/ELF
|
|
alias asm_sources
|
|
: asm/make_ppc32_sysv_elf_gas.S
|
|
asm/jump_ppc32_sysv_elf_gas.S
|
|
asm/ontop_ppc32_sysv_elf_gas.S
|
|
asm/tail_ppc32_sysv_elf_gas.cpp
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_sources
|
|
: asm/make_ppc32_sysv_elf_gas.S
|
|
asm/jump_ppc32_sysv_elf_gas.S
|
|
asm/ontop_ppc32_sysv_elf_gas.S
|
|
asm/tail_ppc32_sysv_elf_gas.cpp
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
alias asm_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_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_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_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_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_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_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_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_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_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
|
|
;
|
|
|
|
# RISCV64
|
|
# RISCV64/SYSV/ELF
|
|
alias asm_sources
|
|
: asm/make_riscv64_sysv_elf_gas.S
|
|
asm/jump_riscv64_sysv_elf_gas.S
|
|
asm/ontop_riscv64_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>riscv
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
# S390X
|
|
# S390X/SYSV/ELF
|
|
alias asm_sources
|
|
: asm/make_s390x_sysv_elf_gas.S
|
|
asm/jump_s390x_sysv_elf_gas.S
|
|
asm/ontop_s390x_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>s390x
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
# X86
|
|
# X86/SYSV/ELF
|
|
alias asm_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_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_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_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_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_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_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>clang-win
|
|
;
|
|
|
|
alias asm_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_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_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_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_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_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_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_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
|
|
;
|
|
|
|
alias asm_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>intel
|
|
;
|
|
|
|
# X86_64/MS/PE
|
|
alias asm_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_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>clang-win
|
|
;
|
|
|
|
alias asm_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_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_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_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_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_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_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_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
|
|
;
|
|
|
|
explicit asm_sources ;
|
|
|
|
|
|
# fcontext_t
|
|
alias impl_sources
|
|
: asm_sources
|
|
: <context-impl>fcontext
|
|
;
|
|
|
|
# ucontext_t
|
|
alias impl_sources
|
|
: continuation.cpp
|
|
fiber.cpp
|
|
: <context-impl>ucontext
|
|
[ requires cxx11_auto_declarations
|
|
cxx11_constexpr
|
|
cxx11_defaulted_functions
|
|
cxx11_final
|
|
cxx11_hdr_thread
|
|
cxx11_hdr_tuple
|
|
cxx11_lambdas
|
|
cxx11_noexcept
|
|
cxx11_nullptr
|
|
cxx11_rvalue_references
|
|
cxx11_template_aliases
|
|
cxx11_thread_local
|
|
cxx11_variadic_templates ]
|
|
;
|
|
|
|
# WinFiber
|
|
alias impl_sources
|
|
: continuation.cpp
|
|
fiber.cpp
|
|
: <context-impl>winfib
|
|
[ requires cxx11_auto_declarations
|
|
cxx11_constexpr
|
|
cxx11_defaulted_functions
|
|
cxx11_final
|
|
cxx11_hdr_thread
|
|
cxx11_hdr_tuple
|
|
cxx11_lambdas
|
|
cxx11_noexcept
|
|
cxx11_nullptr
|
|
cxx11_rvalue_references
|
|
cxx11_template_aliases
|
|
cxx11_thread_local
|
|
cxx11_variadic_templates ]
|
|
;
|
|
|
|
explicit impl_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
|
|
: impl_sources
|
|
stack_traits_sources
|
|
;
|
|
|
|
boost-install boost_context ;
|