File tree Expand file tree Collapse file tree 15 files changed +47
-3
lines changed
swift_build_support/swift_build_support Expand file tree Collapse file tree 15 files changed +47
-3
lines changed Original file line number Diff line number Diff line change @@ -570,6 +570,8 @@ else()
570
570
set (SWIFT_HOST_VARIANT_SDK_default "LINUX" )
571
571
elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "FreeBSD" )
572
572
set (SWIFT_HOST_VARIANT_SDK_default "FREEBSD" )
573
+ elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "OpenBSD" )
574
+ set (SWIFT_HOST_VARIANT_SDK_default "OPENBSD" )
573
575
elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "CYGWIN" )
574
576
set (SWIFT_HOST_VARIANT_SDK_default "CYGWIN" )
575
577
elseif ("${CMAKE_SYSTEM_NAME} " STREQUAL "Windows" )
@@ -673,6 +675,15 @@ elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "FREEBSD")
673
675
set (SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK} " )
674
676
set (SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH} " )
675
677
678
+ elseif ("${SWIFT_HOST_VARIANT_SDK} " STREQUAL "OPENBSD" )
679
+
680
+ set (SWIFT_HOST_VARIANT "openbsd" CACHE STRING
681
+ "Deployment OS for Swift host tools (the compiler) [openbsd]." )
682
+
683
+ configure_sdk_unix ("OpenBSD" "${SWIFT_HOST_VARIANT_ARCH} " )
684
+ set (SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK} " )
685
+ set (SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH} " )
686
+
676
687
elseif ("${SWIFT_HOST_VARIANT_SDK} " STREQUAL "CYGWIN" )
677
688
678
689
set (SWIFT_HOST_VARIANT "cygwin" CACHE STRING
Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ foreach(MODULE ${ICU_FIND_COMPONENTS})
24
24
HINTS ${PC_ICU_${MODULE}_LIBRARY_DIRS} )
25
25
endforeach ()
26
26
27
- foreach (sdk ANDROID;FREEBSD;LINUX;WINDOWS;HAIKU )
27
+ foreach (sdk ANDROID;FREEBSD;OPENBSD; LINUX;WINDOWS;HAIKU )
28
28
foreach (MODULE ${ICU_FIND_COMPONENTS} )
29
29
string (TOUPPER "${MODULE} " MODULE )
30
30
if ("${SWIFT_${sdk} _${SWIFT_HOST_VARIANT_ARCH} _ICU_${MODULE} _INCLUDE}" STREQUAL "" )
Original file line number Diff line number Diff line change @@ -335,6 +335,15 @@ macro(configure_sdk_unix name architectures)
335
335
message (STATUS "FreeBSD Version: ${freebsd_system_version} " )
336
336
337
337
set (SWIFT_SDK_FREEBSD_ARCH_x86_64_TRIPLE "x86_64-unknown-freebsd${freebsd_system_version} " )
338
+ elseif ("${prefix} " STREQUAL "OPENBSD" )
339
+ if (NOT arch STREQUAL amd64 )
340
+ message (FATAL_ERROR "unsupported arch for OpenBSD: ${arch} " )
341
+ endif ()
342
+
343
+ string (REPLACE "[-].*" "" openbsd_system_version ${CMAKE_SYSTEM_VERSION} )
344
+ message (STATUS "OpenBSD Version: ${openbsd_system_version} " )
345
+
346
+ set (SWIFT_SDK_OPENBSD_ARCH_amd64_TRIPLE "amd64-unknown-openbsd${openbsd_system_version} " )
338
347
elseif ("${prefix} " STREQUAL "CYGWIN" )
339
348
if (NOT arch STREQUAL x86_64 )
340
349
message (FATAL_ERROR "unsupported arch for cygwin: ${arch} " )
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ function(set_if_arch_bitness var_name)
15
15
"${SIA_ARCH} " STREQUAL "armv7s" )
16
16
set ("${var_name} " "${SIA_CASE_32_BIT} " PARENT_SCOPE )
17
17
elseif ("${SIA_ARCH} " STREQUAL "x86_64" OR
18
+ "${SIA_ARCH} " STREQUAL "amd64" OR
18
19
"${SIA_ARCH} " STREQUAL "arm64" OR
19
20
"${SIA_ARCH} " STREQUAL "arm64e" OR
20
21
"${SIA_ARCH} " STREQUAL "aarch64" OR
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ add_swift_target_library(swiftRuntimeUnittest ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES
10
10
SWIFT_MODULE_DEPENDS StdlibUnittest
11
11
SWIFT_MODULE_DEPENDS_LINUX Glibc
12
12
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
13
+ SWIFT_MODULE_DEPENDS_OPENBSD Glibc
13
14
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
14
15
SWIFT_MODULE_DEPENDS_HAIKU Glibc
15
16
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ add_swift_target_library(swiftStdlibCollectionUnittest ${SWIFT_STDLIB_LIBRARY_BU
21
21
SWIFT_MODULE_DEPENDS StdlibUnittest
22
22
SWIFT_MODULE_DEPENDS_LINUX Glibc
23
23
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
24
+ SWIFT_MODULE_DEPENDS_OPENBSD Glibc
24
25
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
25
26
SWIFT_MODULE_DEPENDS_HAIKU Glibc
26
27
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ add_swift_target_library(swiftStdlibUnicodeUnittest ${SWIFT_STDLIB_LIBRARY_BUILD
9
9
SWIFT_MODULE_DEPENDS StdlibUnittest
10
10
SWIFT_MODULE_DEPENDS_LINUX Glibc
11
11
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
12
+ SWIFT_MODULE_DEPENDS_OPENBSD Glibc
12
13
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
13
14
SWIFT_MODULE_DEPENDS_HAIKU Glibc
14
15
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT
Original file line number Diff line number Diff line change @@ -38,6 +38,7 @@ add_swift_target_library(swiftStdlibUnittest ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES}
38
38
SWIFT_MODULE_DEPENDS_WATCHOS Darwin Foundation
39
39
SWIFT_MODULE_DEPENDS_LINUX Glibc
40
40
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
41
+ SWIFT_MODULE_DEPENDS_OPENBSD Glibc
41
42
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
42
43
SWIFT_MODULE_DEPENDS_HAIKU Glibc
43
44
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ add_swift_target_library(swiftSwiftPrivateLibcExtras ${SWIFT_STDLIB_LIBRARY_BUIL
15
15
SWIFT_MODULE_DEPENDS_WATCHOS Darwin
16
16
SWIFT_MODULE_DEPENDS_LINUX Glibc
17
17
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
18
+ SWIFT_MODULE_DEPENDS_OPENBSD Glibc
18
19
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
19
20
SWIFT_MODULE_DEPENDS_HAIKU Glibc
20
21
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK
Original file line number Diff line number Diff line change @@ -12,11 +12,12 @@ add_swift_target_library(swiftSwiftPrivateThreadExtras ${SWIFT_STDLIB_LIBRARY_BU
12
12
SWIFT_MODULE_DEPENDS_WATCHOS Darwin
13
13
SWIFT_MODULE_DEPENDS_LINUX Glibc
14
14
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
15
+ SWIFT_MODULE_DEPENDS_OPENBSD Glibc
15
16
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
16
17
SWIFT_MODULE_DEPENDS_HAIKU Glibc
17
18
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK
18
19
SWIFT_COMPILE_FLAGS ${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
19
- TARGET_SDKS ALL_APPLE_PLATFORMS CYGWIN FREEBSD HAIKU LINUX WINDOWS ANDROID
20
+ TARGET_SDKS ALL_APPLE_PLATFORMS CYGWIN FREEBSD OPENBSD HAIKU LINUX WINDOWS ANDROID
20
21
INSTALL_IN_COMPONENT stdlib-experimental
21
22
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR} " )
22
23
Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ add_swift_target_library(swiftGlibc ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_O
44
44
${SWIFT_RUNTIME_SWIFT_COMPILE_FLAGS}
45
45
${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
46
46
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS} "
47
- TARGET_SDKS ANDROID CYGWIN FREEBSD LINUX HAIKU
47
+ TARGET_SDKS ANDROID CYGWIN FREEBSD OPENBSD LINUX HAIKU
48
48
INSTALL_IN_COMPONENT sdk-overlay
49
49
DEPENDS glibc_modulemap )
50
50
@@ -68,6 +68,7 @@ set(glibc_modulemap_target_list)
68
68
foreach (sdk ${SWIFT_SDKS} )
69
69
if (NOT "${sdk} " STREQUAL "LINUX" AND
70
70
NOT "${sdk} " STREQUAL "FREEBSD" AND
71
+ NOT "${sdk} " STREQUAL "OPENBSD" AND
71
72
NOT "${sdk} " STREQUAL "ANDROID" AND
72
73
NOT "${sdk} " STREQUAL "CYGWIN" AND
73
74
NOT "${sdk} " STREQUAL "HAIKU" )
Original file line number Diff line number Diff line change @@ -92,6 +92,7 @@ function(get_test_dependencies SDK result_var_name)
92
92
("${SDK} " STREQUAL "LINUX" ) OR
93
93
("${SDK} " STREQUAL "CYGWIN" ) OR
94
94
("${SDK} " STREQUAL "FREEBSD" ) OR
95
+ ("${SDK} " STREQUAL "OPENBSD" ) OR
95
96
("${SDK} " STREQUAL "ANDROID" ) OR
96
97
("${SDK} " STREQUAL "WINDOWS" ) OR
97
98
("${SDK} " STREQUAL "HAIKU" ))
Original file line number Diff line number Diff line change @@ -404,6 +404,7 @@ function verify_host_is_supported() {
404
404
local host=" $1 "
405
405
case ${host} in
406
406
freebsd-x86_64 \
407
+ | openbsd-amd64 \
407
408
| cygwin-x86_64 \
408
409
| haiku-x86_64 \
409
410
| linux-x86_64 \
Original file line number Diff line number Diff line change @@ -150,6 +150,8 @@ class StdlibDeploymentTarget(object):
150
150
151
151
FreeBSD = Platform ("freebsd" , archs = ["x86_64" ])
152
152
153
+ OpenBSD = Platform ("openbsd" , archs = ["amd64" ])
154
+
153
155
Cygwin = Platform ("cygwin" , archs = ["x86_64" ])
154
156
155
157
Android = AndroidPlatform ("android" , archs = ["armv7" , "aarch64" ])
@@ -166,6 +168,7 @@ class StdlibDeploymentTarget(object):
166
168
AppleWatch , AppleWatchSimulator ,
167
169
Linux ,
168
170
FreeBSD ,
171
+ OpenBSD ,
169
172
Cygwin ,
170
173
Android ,
171
174
Windows ,
@@ -221,6 +224,10 @@ def host_target():
221
224
if machine == 'amd64' :
222
225
return StdlibDeploymentTarget .FreeBSD .x86_64
223
226
227
+ elif system == 'OpenBSD' :
228
+ if machine == 'amd64' :
229
+ return StdlibDeploymentTarget .OpenBSD .amd64
230
+
224
231
elif system == 'CYGWIN_NT-10.0' :
225
232
if machine == 'x86_64' :
226
233
return StdlibDeploymentTarget .Cygwin .x86_64
Original file line number Diff line number Diff line change @@ -176,6 +176,11 @@ def _release_date(self):
176
176
return int (out )
177
177
178
178
179
+ class OpenBSD (GenericUnix ):
180
+ def __init__ (self ):
181
+ super (OpenBSD , self ).__init__ (['' ])
182
+
183
+
179
184
class Cygwin (Linux ):
180
185
# Currently, Cygwin is considered as the same as Linux.
181
186
pass
@@ -203,6 +208,8 @@ def host_toolchain(**kwargs):
203
208
return Linux ()
204
209
elif sys == 'FreeBSD' :
205
210
return FreeBSD ()
211
+ elif sys == 'OpenBSD' :
212
+ return OpenBSD ()
206
213
elif sys .startswith ('CYGWIN' ):
207
214
return Cygwin ()
208
215
elif sys == 'Windows' :
You can’t perform that action at this time.
0 commit comments