mirror of
https://github.com/boostorg/context.git
synced 2026-01-19 04:02:17 +00:00
Currently we do not have fcontext related ASM files for Windows ARM64. So we can use winfib context-impl only for Windows ARM64. Fixes issue : https://github.com/boostorg/boost/issues/1070 Related to PR: https://github.com/boostorg/boost/pull/1077
994 lines
22 KiB
Plaintext
994 lines
22 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-search /boost/config/checks ;
|
|
|
|
import common ;
|
|
import indirect ;
|
|
import modules ;
|
|
import os ;
|
|
import toolset ;
|
|
import config : requires ;
|
|
|
|
project
|
|
: common-requirements <library>$(boost_dependencies)
|
|
: requirements
|
|
<target-os>windows,<architecture>arm,<address-model>64:<context-impl>winfib
|
|
<target-os>windows:<define>_WIN32_WINNT=0x0601
|
|
<target-os>linux,<toolset>gcc,<segmented-stacks>on:<cxxflags>-fsplit-stack
|
|
<target-os>linux,<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=
|
|
<toolset>embarcadero,<address-model>32,<link>shared:<define>BOOST_CONTEXT_EXPORT=EXPORT
|
|
<toolset>embarcadero,<address-model>32,<link>static:<define>BOOST_CONTEXT_EXPORT=
|
|
<toolset>borland,<link>shared:<define>BOOST_CONTEXT_EXPORT=EXPORT
|
|
<toolset>borland,<link>static:<define>BOOST_CONTEXT_EXPORT=
|
|
<link>shared:<define>BOOST_CONTEXT_DYN_LINK=1
|
|
<define>BOOST_CONTEXT_SOURCE
|
|
<threading>multi
|
|
<toolset>msvc,<address-model>32:<asmflags>/safeseh
|
|
<toolset>clang-win,<address-model>32:<asmflags>/safeseh
|
|
: usage-requirements
|
|
<link>shared:<define>BOOST_CONTEXT_DYN_LINK=1
|
|
<define>BOOST_CONTEXT_NO_LIB=1
|
|
<optimization>speed:<define>BOOST_DISABLE_ASSERTS
|
|
<variant>release:<define>BOOST_DISABLE_ASSERTS
|
|
: source-location ../src
|
|
;
|
|
|
|
|
|
# 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_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>gcc
|
|
;
|
|
|
|
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
|
|
;
|
|
|
|
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>gcc
|
|
;
|
|
|
|
# ARM64/AAPCS/PE
|
|
alias asm_sources
|
|
: asm/make_arm64_aapcs_pe_armasm.asm
|
|
asm/jump_arm64_aapcs_pe_armasm.asm
|
|
asm/ontop_arm64_aapcs_pe_armasm.asm
|
|
: <abi>aapcs
|
|
<address-model>64
|
|
<architecture>arm
|
|
<binary-format>pe
|
|
<toolset>msvc
|
|
;
|
|
|
|
alias asm_sources
|
|
: asm/make_arm64_aapcs_pe_armclang.S
|
|
asm/jump_arm64_aapcs_pe_armclang.S
|
|
asm/ontop_arm64_aapcs_pe_armclang.S
|
|
: <abi>aapcs
|
|
<address-model>64
|
|
<architecture>arm
|
|
<binary-format>pe
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_sources
|
|
: asm/make_arm64_aapcs_pe_armclang.S
|
|
asm/jump_arm64_aapcs_pe_armclang.S
|
|
asm/ontop_arm64_aapcs_pe_armclang.S
|
|
: <abi>aapcs
|
|
<address-model>64
|
|
<architecture>arm
|
|
<binary-format>pe
|
|
<toolset>gcc
|
|
;
|
|
|
|
# LOONGARCH64
|
|
# LOONGARCH64/SYSV/ELF
|
|
alias asm_sources
|
|
: asm/make_loongarch64_sysv_elf_gas.S
|
|
asm/jump_loongarch64_sysv_elf_gas.S
|
|
asm/ontop_loongarch64_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>loongarch
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
# 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>mips
|
|
<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>mips
|
|
<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>mips
|
|
<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>mips
|
|
<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_ontop_ppc32_sysv.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_ontop_ppc32_sysv.cpp
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>elf
|
|
<toolset>gcc
|
|
;
|
|
|
|
# POWERPC_32/SYSV/MACH-O
|
|
alias asm_sources
|
|
: asm/make_ppc32_sysv_macho_gas.S
|
|
asm/jump_ppc32_sysv_macho_gas.S
|
|
asm/ontop_ppc32_sysv_macho_gas.S
|
|
asm/tail_ontop_ppc32_sysv.cpp
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>mach-o
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_sources
|
|
: asm/make_ppc32_sysv_macho_gas.S
|
|
asm/jump_ppc32_sysv_macho_gas.S
|
|
asm/ontop_ppc32_sysv_macho_gas.S
|
|
asm/tail_ontop_ppc32_sysv.cpp
|
|
: <abi>sysv
|
|
<address-model>32
|
|
<architecture>power
|
|
<binary-format>mach-o
|
|
<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
|
|
asm/tail_ontop_ppc32_sysv.cpp
|
|
: <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>gcc
|
|
;
|
|
|
|
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
|
|
;
|
|
|
|
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>xlclang
|
|
;
|
|
|
|
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>openxl
|
|
;
|
|
|
|
# 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>clang
|
|
;
|
|
|
|
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
|
|
;
|
|
|
|
# SPARC64
|
|
# SPARC64/SYSV/ELF
|
|
alias asm_sources
|
|
: asm/make_sparc64_sysv_elf_gas.S
|
|
asm/jump_sparc64_sysv_elf_gas.S
|
|
asm/ontop_sparc64_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>sparc
|
|
<binary-format>elf
|
|
<toolset>clang
|
|
;
|
|
|
|
alias asm_sources
|
|
: asm/make_sparc64_sysv_elf_gas.S
|
|
asm/jump_sparc64_sysv_elf_gas.S
|
|
asm/ontop_sparc64_sysv_elf_gas.S
|
|
: <abi>sysv
|
|
<address-model>64
|
|
<architecture>sparc
|
|
<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
|
|
;
|
|
|
|
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>clang
|
|
;
|
|
|
|
# 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
|
|
;
|
|
|
|
# Embarcadero on Windows for 32-bits, bcc32x, uses tasm32,
|
|
# which is masm compatible
|
|
# This is configured in the embarcadero toolset as using
|
|
# 'tasm32 /ml'
|
|
|
|
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>embarcadero
|
|
;
|
|
|
|
# Borland on Windows for 32-bits, bcc32c, uses tasm32,
|
|
# which is masm compatible
|
|
# This is configured in the borland toolset as using
|
|
# 'tasm32 /ml'
|
|
|
|
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>borland
|
|
;
|
|
|
|
# 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>gcc
|
|
;
|
|
|
|
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
|
|
;
|
|
|
|
# Embarcadero on Windows, bcc64, uses the sysv-elf format for 64-bits
|
|
# This is configured in the embarcadero toolset as using bcc64 with the
|
|
# command line option '-x assembler-with-cpp'.
|
|
|
|
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>ms
|
|
<address-model>64
|
|
<architecture>x86
|
|
<binary-format>pe
|
|
<toolset>embarcadero
|
|
;
|
|
|
|
# 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>32
|
|
<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>32
|
|
<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>32
|
|
<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>arm+x86
|
|
<binary-format>mach-o
|
|
;
|
|
|
|
explicit asm_sources ;
|
|
|
|
|
|
# fcontext_t
|
|
alias impl_sources
|
|
: asm_sources
|
|
fcontext.cpp
|
|
: <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 ;
|
|
|
|
alias stack_traits_sources
|
|
: windows/stack_traits.cpp
|
|
: <target-os>windows
|
|
;
|
|
|
|
alias stack_traits_sources
|
|
: posix/stack_traits.cpp
|
|
;
|
|
|
|
explicit stack_traits_sources ;
|
|
|
|
lib boost_context
|
|
: impl_sources
|
|
stack_traits_sources
|
|
;
|