mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Do not install binary swiftmodule for Darwin
This is needed to support Apple internal configurations that would fail consuming such binary swiftmodule (but work as expected when rebuilding from the swiftinterface). Addresses rdar://124390643
This commit is contained in:
@@ -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"
|
||||
"SDK;ARCHITECTURE;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
|
||||
"SDK;ARCHITECTURE;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)
|
||||
@@ -74,6 +74,10 @@ function(handle_swift_sources
|
||||
set(SWIFTSOURCES_INSTALL_IN_COMPONENT never_install)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED SWIFTSOURCES_INSTALL_BINARY_SWIFTMODULE)
|
||||
set(SWIFTSOURCES_INSTALL_BINARY_SWIFTMODULE TRUE)
|
||||
endif()
|
||||
|
||||
# Check arguments.
|
||||
precondition(SWIFTSOURCES_SDK "Should specify an SDK")
|
||||
precondition(SWIFTSOURCES_ARCHITECTURE "Should specify an architecture")
|
||||
@@ -157,6 +161,7 @@ function(handle_swift_sources
|
||||
${BOOTSTRAPPING_arg}
|
||||
${IS_FRAGILE_arg}
|
||||
${ONLY_SWIFTMODULE_arg}
|
||||
INSTALL_BINARY_SWIFTMODULE ${SWIFTSOURCES_INSTALL_BINARY_SWIFTMODULE}
|
||||
INSTALL_IN_COMPONENT "${SWIFTSOURCES_INSTALL_IN_COMPONENT}"
|
||||
DEPLOYMENT_VERSION_OSX ${SWIFTSOURCES_DEPLOYMENT_VERSION_OSX}
|
||||
DEPLOYMENT_VERSION_IOS ${SWIFTSOURCES_DEPLOYMENT_VERSION_IOS}
|
||||
@@ -411,10 +416,14 @@ function(_compile_swift_files
|
||||
dependency_sibgen_target_out_var_name)
|
||||
cmake_parse_arguments(SWIFTFILE
|
||||
"IS_MAIN;IS_STDLIB;IS_STDLIB_CORE;IS_SDK_OVERLAY;EMBED_BITCODE;STATIC;IS_FRAGILE;ONLY_SWIFTMODULE"
|
||||
"OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING"
|
||||
"OUTPUT;MODULE_NAME;INSTALL_IN_COMPONENT;DEPLOYMENT_VERSION_OSX;DEPLOYMENT_VERSION_IOS;DEPLOYMENT_VERSION_TVOS;DEPLOYMENT_VERSION_WATCHOS;MACCATALYST_BUILD_FLAVOR;BOOTSTRAPPING;INSTALL_BINARY_SWIFTMODULE"
|
||||
"SOURCES;FLAGS;DEPENDS;SDK;ARCHITECTURE;OPT_FLAGS;MODULE_DIR"
|
||||
${ARGN})
|
||||
|
||||
if(NOT DEFINED SWIFTFILE_INSTALL_BINARY_SWIFTMODULE)
|
||||
set(SWIFTFILE_INSTALL_BINARY_SWIFTMODULE TRUE)
|
||||
endif()
|
||||
|
||||
# Check arguments.
|
||||
list(LENGTH SWIFTFILE_OUTPUT num_outputs)
|
||||
list(GET SWIFTFILE_OUTPUT 0 first_output)
|
||||
@@ -723,6 +732,13 @@ function(_compile_swift_files
|
||||
list(APPEND module_outputs "${interface_file}" "${private_interface_file}")
|
||||
endif()
|
||||
|
||||
set(exclude_binary_swiftmodule_installation_args "")
|
||||
if(NOT SWIFTFILE_INSTALL_BINARY_SWIFTMODULE)
|
||||
list(APPEND
|
||||
exclude_binary_swiftmodule_installation_args
|
||||
"REGEX" "${SWIFTFILE_MODULE_NAME}.swiftmodule/[^/]*\\.swiftmodule$" EXCLUDE)
|
||||
endif()
|
||||
|
||||
# macCatalyst zippered module setup
|
||||
if(maccatalyst_build_flavor STREQUAL "zippered")
|
||||
compute_library_subdir(maccatalyst_library_subdir
|
||||
@@ -764,8 +780,9 @@ function(_compile_swift_files
|
||||
swift_install_in_component(DIRECTORY ${maccatalyst_specific_module_dir}
|
||||
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${maccatalyst_library_subdir}"
|
||||
COMPONENT "${SWIFTFILE_INSTALL_IN_COMPONENT}"
|
||||
OPTIONAL
|
||||
PATTERN "Project" EXCLUDE
|
||||
OPTIONAL)
|
||||
${exclude_binary_swiftmodule_installation_args})
|
||||
endif()
|
||||
|
||||
# If we have extra regexp flags, check if we match any of the regexps. If so
|
||||
@@ -793,14 +810,16 @@ function(_compile_swift_files
|
||||
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${library_subdir}"
|
||||
COMPONENT "${SWIFTFILE_INSTALL_IN_COMPONENT}"
|
||||
OPTIONAL
|
||||
PATTERN "Project" EXCLUDE)
|
||||
PATTERN "Project" EXCLUDE
|
||||
${exclude_binary_swiftmodule_installation_args})
|
||||
|
||||
if(SWIFTFILE_STATIC)
|
||||
swift_install_in_component(DIRECTORY "${specific_module_dir_static}"
|
||||
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift_static/${library_subdir}"
|
||||
COMPONENT "${SWIFTFILE_INSTALL_IN_COMPONENT}"
|
||||
OPTIONAL
|
||||
PATTERN "Project" EXCLUDE)
|
||||
PATTERN "Project" EXCLUDE
|
||||
${exclude_binary_swiftmodule_installation_args})
|
||||
endif()
|
||||
|
||||
set(line_directive_tool "${SWIFT_SOURCE_DIR}/utils/line-directive")
|
||||
|
||||
Reference in New Issue
Block a user