@@ -66,6 +66,95 @@ else()
66
66
any compiler host sources written in Swift" )
67
67
endif ()
68
68
69
+ # A convenience pattern to match Darwin platforms. Example:
70
+ # if(SWIFT_HOST_VARIANT MATCHES "${SWIFT_DARWIN_VARIANTS}")
71
+ # ...
72
+ # endif()
73
+ set (SWIFT_DARWIN_VARIANTS "^(macosx|iphoneos|iphonesimulator|appletvos|appletvsimulator|watchos|watchsimulator)" )
74
+ set (SWIFT_DARWIN_EMBEDDED_VARIANTS "^(iphoneos|iphonesimulator|appletvos|appletvsimulator|watchos|watchsimulator)" )
75
+
76
+ # A convenient list to match Darwin SDKs. Example:
77
+ # if("${SWIFT_HOST_VARIANT_SDK}" IN_LIST SWIFT_DARWIN_PLATFORMS)
78
+ # ...
79
+ # endif()
80
+ set (SWIFT_DARWIN_PLATFORMS "IOS" "IOS_SIMULATOR" "TVOS" "TVOS_SIMULATOR" "WATCHOS" "WATCHOS_SIMULATOR" "OSX" )
81
+
82
+ set (SWIFT_APPLE_PLATFORMS ${SWIFT_DARWIN_PLATFORMS} )
83
+ if (SWIFT_FREESTANDING_FLAVOR STREQUAL "apple" )
84
+ list (APPEND SWIFT_APPLE_PLATFORMS "FREESTANDING" )
85
+ if (SWIFT_FREESTANDING_IS_DARWIN)
86
+ list (APPEND SWIFT_DARWIN_PLATFORMS "FREESTANDING" )
87
+ endif ()
88
+ endif ()
89
+
90
+ # If SWIFT_HOST_VARIANT_SDK not given, try to detect from the CMAKE_SYSTEM_NAME.
91
+ if (SWIFT_HOST_VARIANT_SDK)
92
+ set (SWIFT_HOST_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK} " )
93
+ else ()
94
+ if ("${CMAKE_SYSTEM_NAME} " STREQUAL "Linux" )
95
+ set (SWIFT_HOST_VARIANT_SDK_default "LINUX" )
96
+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "FreeBSD" )
97
+ set (SWIFT_HOST_VARIANT_SDK_default "FREEBSD" )
98
+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "OpenBSD" )
99
+ set (SWIFT_HOST_VARIANT_SDK_default "OPENBSD" )
100
+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "CYGWIN" )
101
+ set (SWIFT_HOST_VARIANT_SDK_default "CYGWIN" )
102
+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Windows" )
103
+ set (SWIFT_HOST_VARIANT_SDK_default "WINDOWS" )
104
+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Haiku" )
105
+ set (SWIFT_HOST_VARIANT_SDK_default "HAIKU" )
106
+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Android" )
107
+ set (SWIFT_HOST_VARIANT_SDK_default "ANDROID" )
108
+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Darwin" )
109
+ set (SWIFT_HOST_VARIANT_SDK_default "OSX" )
110
+ else ()
111
+ message (FATAL_ERROR "Unable to detect SDK for host system: ${CMAKE_SYSTEM_NAME} " )
112
+ endif ()
113
+ endif ()
114
+
115
+ # If SWIFT_HOST_VARIANT_ARCH not given, try to detect from the CMAKE_SYSTEM_PROCESSOR.
116
+ if (SWIFT_HOST_VARIANT_ARCH)
117
+ set (SWIFT_HOST_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH} " )
118
+ else ()
119
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64" )
120
+ set (SWIFT_HOST_VARIANT_ARCH_default "x86_64" )
121
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64|arm64" )
122
+ if (SWIFT_HOST_VARIANT_SDK_default STREQUAL OSX)
123
+ set (SWIFT_HOST_VARIANT_ARCH_default "arm64" )
124
+ else ()
125
+ set (SWIFT_HOST_VARIANT_ARCH_default "aarch64" )
126
+ endif ()
127
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc64" )
128
+ set (SWIFT_HOST_VARIANT_ARCH_default "powerpc64" )
129
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc" )
130
+ set (SWIFT_HOST_VARIANT_ARCH_default "powerpc" )
131
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc64le" )
132
+ set (SWIFT_HOST_VARIANT_ARCH_default "powerpc64le" )
133
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "s390x" )
134
+ set (SWIFT_HOST_VARIANT_ARCH_default "s390x" )
135
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "armv5|armv5te" )
136
+ set (SWIFT_HOST_VARIANT_ARCH_default "armv5" )
137
+ # FIXME: Only matches v6l/v7l - by far the most common variants
138
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "armv6l" )
139
+ set (SWIFT_HOST_VARIANT_ARCH_default "armv6" )
140
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "armv7l|armv7-a" )
141
+ set (SWIFT_HOST_VARIANT_ARCH_default "armv7" )
142
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "IA64" )
143
+ set (SWIFT_HOST_VARIANT_ARCH_default "itanium" )
144
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "(x86|i686)" )
145
+ set (SWIFT_HOST_VARIANT_ARCH_default "i686" )
146
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "wasm32" )
147
+ set (SWIFT_HOST_VARIANT_ARCH_default "wasm32" )
148
+ else ()
149
+ message (FATAL_ERROR "Unrecognized architecture on host system: ${CMAKE_SYSTEM_PROCESSOR} " )
150
+ endif ()
151
+ endif ()
152
+
153
+ set (SWIFT_HOST_VARIANT_SDK "${SWIFT_HOST_VARIANT_SDK_default} " CACHE STRING
154
+ "Deployment sdk for Swift host tools (the compiler)." )
155
+ set (SWIFT_HOST_VARIANT_ARCH "${SWIFT_HOST_VARIANT_ARCH_default} " CACHE STRING
156
+ "Deployment arch for Swift host tools (the compiler)." )
157
+
69
158
#
70
159
# User-configurable options that control the inclusion and default build
71
160
# behavior for components which may not strictly be necessary (tools, examples,
@@ -103,6 +192,16 @@ option(SWIFT_STDLIB_ENABLE_UNICODE_DATA
103
192
NOTE: Disabling this will cause many String methods to crash."
104
193
TRUE )
105
194
195
+ include (Threading)
196
+
197
+ threading_package_default("${SWIFT_HOST_VARIANT_SDK} "
198
+ SWIFT_THREADING_PACKAGE_default)
199
+
200
+ set (SWIFT_THREADING_PACKAGE "${SWIFT_THREADING_PACKAGE_default} "
201
+ CACHE STRING
202
+ "The threading package to use. Must be one of 'none', 'pthreads',
203
+ 'darwin', 'linux', 'win32', 'c11'." )
204
+
106
205
option (SWIFT_BUILD_DYNAMIC_SDK_OVERLAY
107
206
"Build dynamic variants of the Swift SDK overlay"
108
207
TRUE )
@@ -671,27 +770,6 @@ include_directories(BEFORE
671
770
${SWIFT_INCLUDE_DIR}
672
771
)
673
772
674
- # A convenience pattern to match Darwin platforms. Example:
675
- # if(SWIFT_HOST_VARIANT MATCHES "${SWIFT_DARWIN_VARIANTS}")
676
- # ...
677
- # endif()
678
- set (SWIFT_DARWIN_VARIANTS "^(macosx|iphoneos|iphonesimulator|appletvos|appletvsimulator|watchos|watchsimulator)" )
679
- set (SWIFT_DARWIN_EMBEDDED_VARIANTS "^(iphoneos|iphonesimulator|appletvos|appletvsimulator|watchos|watchsimulator)" )
680
-
681
- # A convenient list to match Darwin SDKs. Example:
682
- # if("${SWIFT_HOST_VARIANT_SDK}" IN_LIST SWIFT_DARWIN_PLATFORMS)
683
- # ...
684
- # endif()
685
- set (SWIFT_DARWIN_PLATFORMS "IOS" "IOS_SIMULATOR" "TVOS" "TVOS_SIMULATOR" "WATCHOS" "WATCHOS_SIMULATOR" "OSX" )
686
-
687
- set (SWIFT_APPLE_PLATFORMS ${SWIFT_DARWIN_PLATFORMS} )
688
- if (SWIFT_FREESTANDING_FLAVOR STREQUAL "apple" )
689
- list (APPEND SWIFT_APPLE_PLATFORMS "FREESTANDING" )
690
- if (SWIFT_FREESTANDING_IS_DARWIN)
691
- list (APPEND SWIFT_DARWIN_PLATFORMS "FREESTANDING" )
692
- endif ()
693
- endif ()
694
-
695
773
# Configuration flags passed to all of our invocations of gyb. Try to
696
774
# avoid making up new variable names here if you can find a CMake
697
775
# variable that will do the job.
@@ -708,74 +786,6 @@ if(XCODE)
708
786
swift_common_xcode_cxx_config()
709
787
endif ()
710
788
711
- # If SWIFT_HOST_VARIANT_SDK not given, try to detect from the CMAKE_SYSTEM_NAME.
712
- if (SWIFT_HOST_VARIANT_SDK)
713
- set (SWIFT_HOST_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK} " )
714
- else ()
715
- if ("${CMAKE_SYSTEM_NAME} " STREQUAL "Linux" )
716
- set (SWIFT_HOST_VARIANT_SDK_default "LINUX" )
717
- elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "FreeBSD" )
718
- set (SWIFT_HOST_VARIANT_SDK_default "FREEBSD" )
719
- elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "OpenBSD" )
720
- set (SWIFT_HOST_VARIANT_SDK_default "OPENBSD" )
721
- elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "CYGWIN" )
722
- set (SWIFT_HOST_VARIANT_SDK_default "CYGWIN" )
723
- elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Windows" )
724
- set (SWIFT_HOST_VARIANT_SDK_default "WINDOWS" )
725
- elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Haiku" )
726
- set (SWIFT_HOST_VARIANT_SDK_default "HAIKU" )
727
- elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Android" )
728
- set (SWIFT_HOST_VARIANT_SDK_default "ANDROID" )
729
- elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Darwin" )
730
- set (SWIFT_HOST_VARIANT_SDK_default "OSX" )
731
- else ()
732
- message (FATAL_ERROR "Unable to detect SDK for host system: ${CMAKE_SYSTEM_NAME} " )
733
- endif ()
734
- endif ()
735
-
736
- # If SWIFT_HOST_VARIANT_ARCH not given, try to detect from the CMAKE_SYSTEM_PROCESSOR.
737
- if (SWIFT_HOST_VARIANT_ARCH)
738
- set (SWIFT_HOST_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH} " )
739
- else ()
740
- if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64" )
741
- set (SWIFT_HOST_VARIANT_ARCH_default "x86_64" )
742
- elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64|arm64" )
743
- if (SWIFT_HOST_VARIANT_SDK_default STREQUAL OSX)
744
- set (SWIFT_HOST_VARIANT_ARCH_default "arm64" )
745
- else ()
746
- set (SWIFT_HOST_VARIANT_ARCH_default "aarch64" )
747
- endif ()
748
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc64" )
749
- set (SWIFT_HOST_VARIANT_ARCH_default "powerpc64" )
750
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc" )
751
- set (SWIFT_HOST_VARIANT_ARCH_default "powerpc" )
752
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc64le" )
753
- set (SWIFT_HOST_VARIANT_ARCH_default "powerpc64le" )
754
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "s390x" )
755
- set (SWIFT_HOST_VARIANT_ARCH_default "s390x" )
756
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "armv5|armv5te" )
757
- set (SWIFT_HOST_VARIANT_ARCH_default "armv5" )
758
- # FIXME: Only matches v6l/v7l - by far the most common variants
759
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "armv6l" )
760
- set (SWIFT_HOST_VARIANT_ARCH_default "armv6" )
761
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "armv7l|armv7-a" )
762
- set (SWIFT_HOST_VARIANT_ARCH_default "armv7" )
763
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "IA64" )
764
- set (SWIFT_HOST_VARIANT_ARCH_default "itanium" )
765
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "(x86|i686)" )
766
- set (SWIFT_HOST_VARIANT_ARCH_default "i686" )
767
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "wasm32" )
768
- set (SWIFT_HOST_VARIANT_ARCH_default "wasm32" )
769
- else ()
770
- message (FATAL_ERROR "Unrecognized architecture on host system: ${CMAKE_SYSTEM_PROCESSOR} " )
771
- endif ()
772
- endif ()
773
-
774
- set (SWIFT_HOST_VARIANT_SDK "${SWIFT_HOST_VARIANT_SDK_default} " CACHE STRING
775
- "Deployment sdk for Swift host tools (the compiler)." )
776
- set (SWIFT_HOST_VARIANT_ARCH "${SWIFT_HOST_VARIANT_ARCH_default} " CACHE STRING
777
- "Deployment arch for Swift host tools (the compiler)." )
778
-
779
789
# Which default linker to use. Prefer LLVM_USE_LINKER if it set, otherwise use
780
790
# our own defaults. This should only be possible in a unified (not stand alone)
781
791
# build environment.
@@ -1037,11 +1047,12 @@ if(SWIFT_BUILD_STDLIB OR SWIFT_BUILD_SDK_OVERLAY)
1037
1047
message (STATUS " Leak Detection Checker Entrypoints: ${SWIFT_RUNTIME_ENABLE_LEAK_CHECKER} " )
1038
1048
message (STATUS "" )
1039
1049
1050
+ message (STATUS "Threading Package: ${SWIFT_THREADING_PACKAGE} " )
1040
1051
message (STATUS "Differentiable Programming Support: ${SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING} " )
1041
- message (STATUS "Concurrency Support: ${SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY} " )
1042
- message (STATUS "Distributed Support: ${SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED} " )
1043
- message (STATUS "String Processing Support: ${SWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING} " )
1044
- message (STATUS "Unicode Support: ${SWIFT_STDLIB_ENABLE_UNICODE_DATA} " )
1052
+ message (STATUS "Concurrency Support: ${SWIFT_ENABLE_EXPERIMENTAL_CONCURRENCY} " )
1053
+ message (STATUS "Distributed Support: ${SWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED} " )
1054
+ message (STATUS "String Processing Support: ${SWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING} " )
1055
+ message (STATUS "Unicode Support: ${SWIFT_STDLIB_ENABLE_UNICODE_DATA} " )
1045
1056
message (STATUS "" )
1046
1057
else ()
1047
1058
message (STATUS "Not building Swift standard library, SDK overlays, and runtime" )
0 commit comments