Skip to content

Commit 2daff9f

Browse files
authored
Merge pull request #40840 from edymtt/move-more-options-to-stdliboptions
Migrate more options to `StdlibOptions.cmake`
2 parents a61b7da + 447a167 commit 2daff9f

File tree

2 files changed

+53
-53
lines changed

2 files changed

+53
-53
lines changed

stdlib/CMakeLists.txt

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -9,49 +9,12 @@ project(swift-stdlib LANGUAGES C CXX)
99
list(APPEND CMAKE_MODULE_PATH
1010
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
1111

12-
if("${SWIFT_HOST_VARIANT_SDK}" MATCHES "(OSX|IOS*|TVOS*|WATCHOS*)")
13-
# All Darwin platforms have ABI stability.
14-
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
15-
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "LINUX")
16-
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
17-
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
18-
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "FREEBSD")
19-
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
20-
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
21-
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "OPENBSD")
22-
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
23-
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
24-
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "CYGWIN")
25-
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
26-
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
27-
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "WINDOWS")
28-
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
29-
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
30-
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "HAIKU")
31-
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
32-
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
33-
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "ANDROID")
34-
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
35-
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
36-
else()
37-
# Any new platform should have non-stable ABI to start with.
38-
set(SWIFT_STDLIB_STABLE_ABI_default FALSE)
39-
endif()
40-
4112
if(SWIFT_BUILD_SDK_OVERLAY OR SWIFT_INCLUDE_TESTS)
4213
set(SWIFT_BUILD_TEST_SUPPORT_MODULES_default TRUE)
4314
else()
4415
set(SWIFT_BUILD_TEST_SUPPORT_MODULES_default FALSE)
4516
endif()
4617

47-
if("${SWIFT_HOST_VARIANT_SDK}" MATCHES "(OSX|IOS*|TVOS*|WATCHOS*)")
48-
set(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default TRUE)
49-
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "LINUX")
50-
set(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default TRUE)
51-
else()
52-
set(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default FALSE)
53-
endif()
54-
5518
#
5619
# User-configurable options for the standard library.
5720
#
@@ -64,26 +27,10 @@ endif()
6427

6528
# TODO: migrate this section to StdlibOptions.cmake to reduce duplication
6629

67-
option(SWIFT_STDLIB_STABLE_ABI
68-
"Should stdlib be built with stable ABI (library evolution, resilience)."
69-
"${SWIFT_STDLIB_STABLE_ABI_default}")
70-
71-
option(SWIFT_ENABLE_MODULE_INTERFACES
72-
"Generate .swiftinterface files alongside .swiftmodule files"
73-
"${SWIFT_STDLIB_STABLE_ABI}")
74-
7530
option(SWIFT_BUILD_TEST_SUPPORT_MODULES
7631
"Whether to build StdlibUnittest and other test support modules. Defaults to On when SWIFT_BUILD_SDK_OVERLAY is On, or when SWIFT_INCLUDE_TESTS is On."
7732
"${SWIFT_BUILD_TEST_SUPPORT_MODULES_default}")
7833

79-
option(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION
80-
"Should stdlib be built with generic metadata prespecialization enabled. Defaults to On on Darwin and on Linux."
81-
"${SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default}")
82-
83-
option(SWIFT_STDLIB_ENABLE_UNICODE_DATA
84-
"Should stdlib be built with full unicode support"
85-
TRUE)
86-
8734
# New options should be added to stdlib/cmake/modules/StdlibOptions.cmake,
8835
# so that they are considered in configurations using StandaloneOverlay.cmake
8936
include(StdlibOptions)

stdlib/cmake/modules/StdlibOptions.cmake

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,59 @@ option(SWIFT_STDLIB_HAS_LOCALE
4040
"Build stdlib assuming the platform has locale support."
4141
"${SWIFT_STDLIB_HAS_LOCALE_default}")
4242

43+
if("${SWIFT_HOST_VARIANT_SDK}" IN_LIST SWIFT_DARWIN_PLATFORMS)
44+
# All Darwin platforms have ABI stability.
45+
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
46+
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "LINUX")
47+
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
48+
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
49+
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "FREEBSD")
50+
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
51+
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
52+
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "OPENBSD")
53+
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
54+
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
55+
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "CYGWIN")
56+
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
57+
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
58+
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "WINDOWS")
59+
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
60+
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
61+
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "HAIKU")
62+
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
63+
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
64+
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "ANDROID")
65+
# TODO(mracek): This should get turned off, as this is not an ABI stable platform.
66+
set(SWIFT_STDLIB_STABLE_ABI_default TRUE)
67+
else()
68+
# Any new platform should have non-stable ABI to start with.
69+
set(SWIFT_STDLIB_STABLE_ABI_default FALSE)
70+
endif()
71+
72+
option(SWIFT_STDLIB_STABLE_ABI
73+
"Should stdlib be built with stable ABI (library evolution, resilience)."
74+
"${SWIFT_STDLIB_STABLE_ABI_default}")
75+
76+
option(SWIFT_ENABLE_MODULE_INTERFACES
77+
"Generate .swiftinterface files alongside .swiftmodule files"
78+
"${SWIFT_STDLIB_STABLE_ABI}")
79+
80+
if("${SWIFT_HOST_VARIANT_SDK}" IN_LIST SWIFT_DARWIN_PLATFORMS)
81+
set(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default TRUE)
82+
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "LINUX")
83+
set(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default TRUE)
84+
else()
85+
set(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default FALSE)
86+
endif()
87+
88+
option(SWIFT_STDLIB_ENABLE_PRESPECIALIZATION
89+
"Should stdlib be built with generic metadata prespecialization enabled. Defaults to On on Darwin and on Linux."
90+
"${SWIFT_STDLIB_ENABLE_PRESPECIALIZATION_default}")
91+
92+
option(SWIFT_STDLIB_ENABLE_UNICODE_DATA
93+
"Should stdlib be built with full unicode support"
94+
TRUE)
95+
4396
option(SWIFT_STDLIB_SUPPORT_BACK_DEPLOYMENT
4497
"Support back-deployment of built binaries to older OS versions."
4598
TRUE)

0 commit comments

Comments
 (0)