mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[embedded] Make the CMake setup for Embedded Concurrency distnguish ARCH and SUBDIR for builds products
This commit is contained in:
@@ -822,6 +822,7 @@ function(add_swift_target_library_single target name)
|
||||
IS_FRAGILE)
|
||||
set(SWIFTLIB_SINGLE_single_parameter_options
|
||||
ARCHITECTURE
|
||||
ARCHITECTURE_SUBDIR_NAME
|
||||
DEPLOYMENT_VERSION_IOS
|
||||
DEPLOYMENT_VERSION_OSX
|
||||
DEPLOYMENT_VERSION_TVOS
|
||||
@@ -888,6 +889,9 @@ function(add_swift_target_library_single target name)
|
||||
precondition(SWIFTLIB_SINGLE_SDK MESSAGE "Should specify an SDK")
|
||||
precondition(SWIFTLIB_SINGLE_ARCHITECTURE MESSAGE "Should specify an architecture")
|
||||
precondition(SWIFTLIB_SINGLE_INSTALL_IN_COMPONENT MESSAGE "INSTALL_IN_COMPONENT is required")
|
||||
if (NOT SWIFTLIB_SINGLE_ARCHITECTURE_SUBDIR_NAME)
|
||||
set(SWIFTLIB_SINGLE_ARCHITECTURE_SUBDIR_NAME "${SWIFTLIB_SINGLE_ARCHITECTURE}")
|
||||
endif()
|
||||
|
||||
if(NOT SWIFTLIB_SINGLE_SHARED AND
|
||||
NOT SWIFTLIB_SINGLE_STATIC AND
|
||||
@@ -903,12 +907,12 @@ function(add_swift_target_library_single target name)
|
||||
|
||||
# Determine the subdirectory where this library will be installed.
|
||||
set(SWIFTLIB_SINGLE_SUBDIR
|
||||
"${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK}_LIB_SUBDIR}/${SWIFTLIB_SINGLE_ARCHITECTURE}")
|
||||
"${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK}_LIB_SUBDIR}/${SWIFTLIB_SINGLE_ARCHITECTURE_SUBDIR_NAME}")
|
||||
|
||||
# macCatalyst ios-like builds are installed in the maccatalyst/x86_64 directory
|
||||
if(maccatalyst_build_flavor STREQUAL "ios-like")
|
||||
set(SWIFTLIB_SINGLE_SUBDIR
|
||||
"${SWIFT_SDK_MACCATALYST_LIB_SUBDIR}/${SWIFTLIB_SINGLE_ARCHITECTURE}")
|
||||
"${SWIFT_SDK_MACCATALYST_LIB_SUBDIR}/${SWIFTLIB_SINGLE_ARCHITECTURE_SUBDIR_NAME}")
|
||||
endif()
|
||||
|
||||
if ("${SWIFTLIB_SINGLE_BOOTSTRAPPING}" STREQUAL "")
|
||||
@@ -1033,6 +1037,7 @@ function(add_swift_target_library_single target name)
|
||||
${SWIFTLIB_SINGLE_LINK_LIBRARIES}
|
||||
SDK ${SWIFTLIB_SINGLE_SDK}
|
||||
ARCHITECTURE ${SWIFTLIB_SINGLE_ARCHITECTURE}
|
||||
ARCHITECTURE_SUBDIR_NAME ${SWIFTLIB_SINGLE_ARCHITECTURE_SUBDIR_NAME}
|
||||
MODULE_NAME ${module_name}
|
||||
MODULE_DIR ${SWIFTLIB_SINGLE_MODULE_DIR}
|
||||
COMPILE_FLAGS ${SWIFTLIB_SINGLE_SWIFT_COMPILE_FLAGS}
|
||||
@@ -1058,9 +1063,9 @@ function(add_swift_target_library_single target name)
|
||||
|
||||
# If there were any swift sources, then a .swiftmodule may have been created.
|
||||
# If that is the case, then add a target which is an alias of the module files.
|
||||
set(VARIANT_SUFFIX "-${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK}_LIB_SUBDIR}-${SWIFTLIB_SINGLE_ARCHITECTURE}")
|
||||
set(VARIANT_SUFFIX "-${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK}_LIB_SUBDIR}-${SWIFTLIB_SINGLE_ARCHITECTURE_SUBDIR_NAME}")
|
||||
if(maccatalyst_build_flavor STREQUAL "ios-like")
|
||||
set(VARIANT_SUFFIX "-${SWIFT_SDK_MACCATALYST_LIB_SUBDIR}-${SWIFTLIB_SINGLE_ARCHITECTURE}")
|
||||
set(VARIANT_SUFFIX "-${SWIFT_SDK_MACCATALYST_LIB_SUBDIR}-${SWIFTLIB_SINGLE_ARCHITECTURE_SUBDIR_NAME}")
|
||||
endif()
|
||||
|
||||
if(NOT "${SWIFTLIB_SINGLE_MODULE_TARGETS}" STREQUAL "" AND NOT "${swift_module_dependency_target}" STREQUAL "")
|
||||
|
||||
@@ -50,7 +50,7 @@ function(handle_swift_sources
|
||||
sourcesvar externalvar name)
|
||||
cmake_parse_arguments(SWIFTSOURCES
|
||||
"IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;NO_LINK_NAME;IS_FRAGILE;ONLY_SWIFTMODULE;NO_SWIFTMODULE"
|
||||
"SDK;ARCHITECTURE;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING;INSTALL_BINARY_SWIFTMODULE"
|
||||
"SDK;ARCHITECTURE;ARCHITECTURE_SUBDIR_NAME;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING;INSTALL_BINARY_SWIFTMODULE"
|
||||
"DEPENDS;COMPILE_FLAGS;MODULE_NAME;MODULE_DIR;ENABLE_LTO"
|
||||
${ARGN})
|
||||
translate_flag(${SWIFTSOURCES_IS_MAIN} "IS_MAIN" IS_MAIN_arg)
|
||||
@@ -83,6 +83,9 @@ function(handle_swift_sources
|
||||
precondition(SWIFTSOURCES_SDK "Should specify an SDK")
|
||||
precondition(SWIFTSOURCES_ARCHITECTURE "Should specify an architecture")
|
||||
precondition(SWIFTSOURCES_INSTALL_IN_COMPONENT "INSTALL_IN_COMPONENT is required")
|
||||
if (NOT SWIFTSOURCES_ARCHITECTURE_SUBDIR_NAME)
|
||||
set(SWIFTSOURCES_ARCHITECTURE_SUBDIR_NAME "${SWIFTSOURCES_ARCHITECTURE}")
|
||||
endif()
|
||||
|
||||
# Clear the result variable.
|
||||
set("${dependency_target_out_var_name}" "" PARENT_SCOPE)
|
||||
@@ -108,12 +111,12 @@ function(handle_swift_sources
|
||||
endif()
|
||||
|
||||
if(swift_sources)
|
||||
set(objsubdir "/${SWIFTSOURCES_SDK}/${SWIFTSOURCES_ARCHITECTURE}")
|
||||
set(objsubdir "/${SWIFTSOURCES_SDK}/${SWIFTSOURCES_ARCHITECTURE_SUBDIR_NAME}")
|
||||
|
||||
get_maccatalyst_build_flavor(maccatalyst_build_flavor
|
||||
"${SWIFTSOURCES_SDK}" "${SWIFTSOURCES_MACCATALYST_BUILD_FLAVOR}")
|
||||
if(maccatalyst_build_flavor STREQUAL "ios-like")
|
||||
set(objsubdir "/MACCATALYST/${SWIFTSOURCES_ARCHITECTURE}")
|
||||
set(objsubdir "/MACCATALYST/${SWIFTSOURCES_ARCHITECTURE_SUBDIR_NAME}")
|
||||
endif()
|
||||
|
||||
get_bootstrapping_path(lib_dir
|
||||
|
||||
@@ -293,8 +293,10 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB AND SWIFT_SHOULD_BUILD_EMBEDDED_CONCURRENC
|
||||
endif()
|
||||
|
||||
set(SWIFT_SDK_embedded_THREADING_PACKAGE none)
|
||||
set(SWIFT_SDK_embedded_ARCH_${arch}_MODULE "${mod}")
|
||||
set(SWIFT_SDK_embedded_ARCH_${mod}_MODULE "${mod}")
|
||||
set(SWIFT_SDK_embedded_LIB_SUBDIR "embedded")
|
||||
set(SWIFT_SDK_embedded_ARCH_${arch}_TRIPLE "${triple}")
|
||||
set(SWIFT_SDK_embedded_ARCH_${mod}_TRIPLE "${triple}")
|
||||
|
||||
# lib/swift/embedded/_Concurrency.swiftmodule
|
||||
@@ -319,7 +321,8 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB AND SWIFT_SHOULD_BUILD_EMBEDDED_CONCURRENC
|
||||
-ffunction-sections -fdata-sections -fno-exceptions -fno-cxx-exceptions -fno-unwind-tables
|
||||
MODULE_DIR "${CMAKE_BINARY_DIR}/lib/swift/embedded"
|
||||
SDK "embedded"
|
||||
ARCHITECTURE "${mod}"
|
||||
ARCHITECTURE "${arch}"
|
||||
ARCHITECTURE_SUBDIR_NAME "${mod}"
|
||||
DEPENDS embedded-stdlib-${mod}
|
||||
INSTALL_IN_COMPONENT stdlib
|
||||
)
|
||||
|
||||
@@ -167,6 +167,9 @@ class WasmStdlib(cmake_product.CMakeProduct):
|
||||
self.cmake_options.define('SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB:BOOL', 'TRUE')
|
||||
self.cmake_options.define(
|
||||
'SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING', 'TRUE')
|
||||
self.cmake_options.define(
|
||||
'SWIFT_SDK_embedded_ARCH_wasm32_PATH:PATH',
|
||||
self._wasi_sysroot_path("wasm32-wasi"))
|
||||
self.cmake_options.define(
|
||||
'SWIFT_SDK_embedded_ARCH_wasm32-unknown-wasip1_PATH:PATH',
|
||||
self._wasi_sysroot_path("wasm32-wasi"))
|
||||
|
||||
Reference in New Issue
Block a user