From a43afdd6f2e49973a210e68a629c66e4149a9a6b Mon Sep 17 00:00:00 2001 From: Cyndy Ishida Date: Mon, 18 Nov 2024 13:56:13 -0800 Subject: [PATCH 1/3] [BuildSystem] Stop building for i386-watch-simulator In Xcode16 it is not supported. --- cmake/modules/DarwinSDKs.cmake | 2 +- cmake/modules/SwiftConfigureSDK.cmake | 4 --- utils/build-script-impl | 8 ------ .../build_swift/driver_arguments.py | 4 --- utils/build_swift/tests/expected_options.py | 3 --- utils/sil-opt-verify-all-modules.py | 1 - .../host_specific_configuration.py | 5 ---- .../swift_build_support/targets.py | 2 +- .../tests/test_host_specific_configuration.py | 26 ------------------- 9 files changed, 2 insertions(+), 53 deletions(-) diff --git a/cmake/modules/DarwinSDKs.cmake b/cmake/modules/DarwinSDKs.cmake index 53f18a1ee4368..20d555b74751c 100644 --- a/cmake/modules/DarwinSDKs.cmake +++ b/cmake/modules/DarwinSDKs.cmake @@ -3,7 +3,7 @@ set(SUPPORTED_IOS_SIMULATOR_ARCHS "x86_64;arm64") set(SUPPORTED_TVOS_ARCHS "arm64") set(SUPPORTED_TVOS_SIMULATOR_ARCHS "x86_64;arm64") set(SUPPORTED_WATCHOS_ARCHS "armv7k;arm64_32") -set(SUPPORTED_WATCHOS_SIMULATOR_ARCHS "i386;x86_64;arm64") +set(SUPPORTED_WATCHOS_SIMULATOR_ARCHS "x86_64;arm64") set(SUPPORTED_OSX_ARCHS "x86_64;arm64") set(SUPPORTED_XROS_ARCHS "arm64;arm64e") set(SUPPORTED_XROS_SIMULATOR_ARCHS "arm64") diff --git a/cmake/modules/SwiftConfigureSDK.cmake b/cmake/modules/SwiftConfigureSDK.cmake index d0baee6763469..134a3f37abb55 100644 --- a/cmake/modules/SwiftConfigureSDK.cmake +++ b/cmake/modules/SwiftConfigureSDK.cmake @@ -91,10 +91,6 @@ function(remove_sdk_unsupported_archs name os sdk_path deployment_version archit # 32-bit watchOS is not listed explicitly in SDK settings. message(STATUS "Assuming ${name} SDK at ${sdk_path} supports architecture ${arch}") list(APPEND architectures ${arch}) - elseif(arch STREQUAL "i386" AND os STREQUAL "watchsimulator") - # 32-bit watchOS simulator is not listed explicitly in SDK settings. - message(STATUS "Assuming ${name} SDK at ${sdk_path} supports architecture ${arch}") - list(APPEND architectures ${arch}) else() message(STATUS "${name} SDK at ${sdk_path} does not support architecture ${arch}") endif() diff --git a/utils/build-script-impl b/utils/build-script-impl index 83a3f3ea6ec80..bb1a6bf8f4aa6 100755 --- a/utils/build-script-impl +++ b/utils/build-script-impl @@ -485,7 +485,6 @@ function verify_host_is_supported() { | appletvsimulator-x86_64 \ | appletvsimulator-arm64 \ | appletvos-arm64 \ - | watchsimulator-i386 \ | watchsimulator-x86_64 \ | watchsimulator-arm64 \ | watchos-armv7k \ @@ -664,13 +663,6 @@ function set_build_options_for_host() { SWIFT_HOST_VARIANT_SDK="TVOS" cmake_osx_deployment_target="" ;; - watchsimulator-i386) - SWIFT_HOST_TRIPLE="i386-apple-watchos${DARWIN_DEPLOYMENT_VERSION_WATCHOS}-simulator" - llvm_target_arch="X86" - - SWIFT_HOST_VARIANT_SDK="WATCHOS_SIMULATOR" - cmake_osx_deployment_target="" - ;; watchsimulator-x86_64) SWIFT_HOST_TRIPLE="x86_64-apple-watchos${DARWIN_DEPLOYMENT_VERSION_WATCHOS}-simulator" llvm_target_arch="X86" diff --git a/utils/build_swift/build_swift/driver_arguments.py b/utils/build_swift/build_swift/driver_arguments.py index e8362fb148d82..2eff4aedbfb5a 100644 --- a/utils/build_swift/build_swift/driver_arguments.py +++ b/utils/build_swift/build_swift/driver_arguments.py @@ -1268,10 +1268,6 @@ def create_argument_parser(): option('--skip-test-ios-simulator', toggle_false('test_ios_simulator'), help='skip testing iOS simulator targets') - option('--skip-test-watchos-32bit-simulator', - toggle_false('test_watchos_32bit_simulator'), - default=False, - help='skip testing watchOS 32 bit simulator targets') option('--skip-test-ios-host', toggle_false('test_ios_host'), help='skip testing iOS device targets on the host machine (the ' diff --git a/utils/build_swift/tests/expected_options.py b/utils/build_swift/tests/expected_options.py index 08b64f7f7db99..c0ddc348d18dc 100644 --- a/utils/build_swift/tests/expected_options.py +++ b/utils/build_swift/tests/expected_options.py @@ -292,7 +292,6 @@ 'test_cygwin': False, 'test_freebsd': False, 'test_ios': False, - 'test_watchos_32bit_simulator': False, 'test_ios_host': False, 'test_ios_simulator': False, 'test_linux': False, @@ -736,8 +735,6 @@ class BuildScriptImplOption(_BaseOption): DisableOption('--skip-test-cygwin', dest='test_cygwin'), DisableOption('--skip-test-freebsd', dest='test_freebsd'), DisableOption('--skip-test-ios', dest='test_ios'), - DisableOption('--skip-test-watchos-32bit-simulator', - dest='test_watchos_32bit_simulator'), DisableOption('--skip-test-ios-host', dest='test_ios_host'), DisableOption('--skip-test-ios-simulator', dest='test_ios_simulator'), DisableOption('--skip-test-linux', dest='test_linux'), diff --git a/utils/sil-opt-verify-all-modules.py b/utils/sil-opt-verify-all-modules.py index 34662f1ff96d3..b71ece1382c80 100755 --- a/utils/sil-opt-verify-all-modules.py +++ b/utils/sil-opt-verify-all-modules.py @@ -63,7 +63,6 @@ def get_verify_resource_dir_modules_commands( ('iphonesimulator', 'x86_64', 'x86_64-apple-ios7.0'), ('macosx', 'x86_64', 'x86_64-apple-macosx10.9'), ('watchos', 'armv7k', 'armv7k-apple-watchos2.0'), - ('watchsimulator', 'i386', 'i386-apple-watchos2.0'), ] commands = [] diff --git a/utils/swift_build_support/swift_build_support/host_specific_configuration.py b/utils/swift_build_support/swift_build_support/host_specific_configuration.py index ede1c81d74c26..5d37027ce0c5c 100644 --- a/utils/swift_build_support/swift_build_support/host_specific_configuration.py +++ b/utils/swift_build_support/swift_build_support/host_specific_configuration.py @@ -323,9 +323,6 @@ def __platforms_to_skip_test(self, args, stage_dependent_args): def __platforms_archs_to_skip_test(self, args, stage_dependent_args, host_target): platforms_archs_to_skip_test = set() - if not stage_dependent_args.test_watchos_32bit_simulator: - platforms_archs_to_skip_test.add( - StdlibDeploymentTarget.AppleWatchSimulator.i386) if host_target == StdlibDeploymentTarget.OSX.x86_64.name: platforms_archs_to_skip_test.add( StdlibDeploymentTarget.iOSSimulator.arm64) @@ -341,8 +338,6 @@ def __platforms_archs_to_skip_test(self, args, stage_dependent_args, host_target StdlibDeploymentTarget.iOSSimulator.x86_64) platforms_archs_to_skip_test.add( StdlibDeploymentTarget.AppleTVSimulator.x86_64) - platforms_archs_to_skip_test.add( - StdlibDeploymentTarget.AppleWatchSimulator.i386) platforms_archs_to_skip_test.add( StdlibDeploymentTarget.AppleWatchSimulator.x86_64) diff --git a/utils/swift_build_support/swift_build_support/targets.py b/utils/swift_build_support/swift_build_support/targets.py index 6447c84f66566..f5a2748914c22 100644 --- a/utils/swift_build_support/swift_build_support/targets.py +++ b/utils/swift_build_support/swift_build_support/targets.py @@ -258,7 +258,7 @@ class StdlibDeploymentTarget(object): sdk_name="WATCHOS") AppleWatchSimulator = DarwinPlatform("watchsimulator", - archs=["i386", "x86_64", "arm64"], + archs=["x86_64", "arm64"], sdk_name="WATCHOS_SIMULATOR", is_simulator=True) diff --git a/utils/swift_build_support/tests/test_host_specific_configuration.py b/utils/swift_build_support/tests/test_host_specific_configuration.py index fd2c36e9e0456..9d1a13328343e 100644 --- a/utils/swift_build_support/tests/test_host_specific_configuration.py +++ b/utils/swift_build_support/tests/test_host_specific_configuration.py @@ -189,12 +189,6 @@ def test(self): 'WATCHOS', 'swift-test-stdlib-watchos-armv7k', 'build_watchos_device') - test_should_skip_building_watchos_sim =\ - generate_should_skip_building_platform( - 'watchsimulator-i386', - 'WATCHOS_SIMULATOR', - 'swift-test-stdlib-watchsimulator-i386', - 'build_watchos_simulator') def generate_should_build_full_targets_when_test(test_arg_name): def test(self): @@ -290,28 +284,9 @@ def test(self): # NOTE: test_watchos_host is not supported in open-source Swift test_should_skip_testing_watchos_sim =\ generate_should_skip_testing_platform( - 'watchsimulator-i386', 'build_watchos_simulator', 'test_watchos_simulator') - def test_should_skip_testing_32bit_watchos(self): - host_target = 'watchsimulator-i386' - args = self.default_args() - args.build_watchos_simulator = True - args.test_watchos_simulator = True - args.test_watchos_32bit_simulator = False - args.host_target = host_target - args.stdlib_deployment_targets = [host_target] - args.build_stdlib_deployment_targets = 'all' - - before = HostSpecificConfiguration(host_target, args) - self.assertEqual(len(before.swift_test_run_targets), 0) - - args.test_watchos_32bit_simulator = True - after = HostSpecificConfiguration(host_target, args) - self.assertIn('check-swift-watchsimulator-i386', - after.swift_test_run_targets) - def generate_should_allow_testing_only_host( host_target, build_arg_name, test_arg_name, host_test_arg_name): def test(self): @@ -681,7 +656,6 @@ def default_args(self): test_freebsd=False, test_ios_host=False, test_ios_simulator=False, - test_watchos_32bit_simulator=True, test_linux=False, test_optimize_for_size=False, test_optimize_none_with_implicit_dynamic=False, From c9d7b9f5f2e33de72f29013058acfd280cff4c03 Mon Sep 17 00:00:00 2001 From: Cyndy Ishida Date: Tue, 19 Nov 2024 08:26:03 -0800 Subject: [PATCH 2/3] Add back a watch-simulator, but x86 instead, for test-host, and rip out i386-watch in cmake_product --- .../swift_build_support/products/cmake_product.py | 7 ------- .../tests/test_host_specific_configuration.py | 6 ++++++ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/utils/swift_build_support/swift_build_support/products/cmake_product.py b/utils/swift_build_support/swift_build_support/products/cmake_product.py index 6b4eaca106265..53c0ed7ad3091 100644 --- a/utils/swift_build_support/swift_build_support/products/cmake_product.py +++ b/utils/swift_build_support/swift_build_support/products/cmake_product.py @@ -303,13 +303,6 @@ def host_cmake_options(self, host_target): swift_host_variant_sdk = 'TVOS' cmake_osx_deployment_target = None - elif host_target == 'watchsimulator-i386': - swift_host_triple = 'i386-apple-watchos{}-simulator'.format( - self.args.darwin_deployment_version_watchos) - llvm_target_arch = 'X86' - swift_host_variant_sdk = 'WATCHOS_SIMULATOR' - cmake_osx_deployment_target = None - elif host_target == 'watchsimulator-x86_64': swift_host_triple = 'x86_64-apple-watchos{}-simulator'.format( self.args.darwin_deployment_version_watchos) diff --git a/utils/swift_build_support/tests/test_host_specific_configuration.py b/utils/swift_build_support/tests/test_host_specific_configuration.py index 9d1a13328343e..e6af113eac95c 100644 --- a/utils/swift_build_support/tests/test_host_specific_configuration.py +++ b/utils/swift_build_support/tests/test_host_specific_configuration.py @@ -189,6 +189,12 @@ def test(self): 'WATCHOS', 'swift-test-stdlib-watchos-armv7k', 'build_watchos_device') + test_should_skip_building_watchos_sim =\ + generate_should_skip_building_platform( + 'watchsimulator-x86_64', + 'WATCHOS_SIMULATOR', + 'swift-test-stdlib-watchsimulator-x86_64', + 'build_watchos_simulator') def generate_should_build_full_targets_when_test(test_arg_name): def test(self): From 5c453aaee4fa01364b7aafa579deac6e765a044a Mon Sep 17 00:00:00 2001 From: Cyndy Ishida Date: Tue, 19 Nov 2024 10:20:57 -0800 Subject: [PATCH 3/3] Add back test watch-sim for testing platform logic --- .../tests/test_host_specific_configuration.py | 1 + 1 file changed, 1 insertion(+) diff --git a/utils/swift_build_support/tests/test_host_specific_configuration.py b/utils/swift_build_support/tests/test_host_specific_configuration.py index e6af113eac95c..f7841771f7a08 100644 --- a/utils/swift_build_support/tests/test_host_specific_configuration.py +++ b/utils/swift_build_support/tests/test_host_specific_configuration.py @@ -290,6 +290,7 @@ def test(self): # NOTE: test_watchos_host is not supported in open-source Swift test_should_skip_testing_watchos_sim =\ generate_should_skip_testing_platform( + 'watchsimulator-x86_64', 'build_watchos_simulator', 'test_watchos_simulator')