diff --git a/cmake/modules/DarwinSDKs.cmake b/cmake/modules/DarwinSDKs.cmake index 5ad1e32d1d8a1..20a5620fba6a7 100644 --- a/cmake/modules/DarwinSDKs.cmake +++ b/cmake/modules/DarwinSDKs.cmake @@ -16,23 +16,6 @@ set(SUPPORTED_WATCHOS_ARCHS "armv7k") set(SUPPORTED_WATCHOS_SIMULATOR_ARCHS "i386;arm64") set(SUPPORTED_OSX_ARCHS "x86_64;arm64;arm64e") -# Get the SDK version from SDKSettings. -execute_process( - COMMAND "defaults" "read" "${CMAKE_OSX_SYSROOT}/SDKSettings.plist" "Version" - OUTPUT_VARIABLE SWIFT_OSX_SDK_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) - -# Remove the last component, if any. e.g. 10.15.26 -> 10.15 -string(REGEX REPLACE "\([0-9]*[.][0-9]*\)[.][0-9]*" "\\1" - SWIFT_OSX_SDK_VERSION "${SWIFT_OSX_SDK_VERSION}") - -if (${SWIFT_OSX_SDK_VERSION} STREQUAL "10.14" OR - ${SWIFT_OSX_SDK_VERSION} STREQUAL "10.15") - set(SUPPORTED_OSX_ARCHS "x86_64") -else() - set(SUPPORTED_OSX_ARCHS "x86_64;arm64e") -endif() - is_sdk_requested(OSX swift_build_osx) if(swift_build_osx) configure_sdk_darwin( diff --git a/utils/build-presets.ini b/utils/build-presets.ini index d74159e484fc0..7b6b603c05a93 100644 --- a/utils/build-presets.ini +++ b/utils/build-presets.ini @@ -2379,21 +2379,25 @@ swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;s mixin-preset=source_compat_suite_macos_base debug assertions +cross-compile-hosts=macosx-arm64 [preset: source_compat_suite_macos_RA] mixin-preset=source_compat_suite_macos_base release assertions +cross-compile-hosts=macosx-arm64 [preset: source_compat_suite_macos_R] mixin-preset=source_compat_suite_macos_base release no-assertions +cross-compile-hosts=macosx-arm64 [preset: source_compat_suite_macos_D] mixin-preset=source_compat_suite_macos_base debug no-assertions +cross-compile-hosts=macosx-arm64 [preset: source_compat_suite_linux_DA] mixin-preset=source_compat_suite_linux_base diff --git a/utils/build-script b/utils/build-script index d6424309e057c..c0849e5880ae7 100755 --- a/utils/build-script +++ b/utils/build-script @@ -919,6 +919,9 @@ class BuildScriptInvocation(object): for product_class in impl_product_classes: self._execute_install_action(host_target, product_class) + # Lipo... + self._execute_merged_host_lipo_action() + # Non-build-script-impl products... # Note: currently only supports building for the host. for host_target in [self.args.host_target]: @@ -957,9 +960,6 @@ class BuildScriptInvocation(object): for host_target in all_hosts: self._execute_package_action(host_target) - # Lipo... - self._execute_merged_host_lipo_action() - def _execute_build_action(self, host_target, product_class): action_name = "{}-{}-build".format(host_target.name, product_class.product_name()) diff --git a/utils/recursive-lipo b/utils/recursive-lipo index 056b5f3576ef6..df3d302e651fd 100755 --- a/utils/recursive-lipo +++ b/utils/recursive-lipo @@ -63,6 +63,9 @@ def merge_lipo_files(src_root_dirs, file_list, copy_verbatim_subpaths, if all([os.path.islink(item) for item in file_paths]): # It's a symlink in all found instances, copy the link. print("-- Creating symlink %s" % dest_path) + # Remove symlink if it already exists + if os.path.islink(dest_path): + os.remove(dest_path) os.symlink(os.readlink(file_paths[0]), dest_path) elif all([os.path.isdir(item) for item in file_paths]): # It's a subdir in all found instances.