Skip to content

Commit 22b0526

Browse files
authored
Merge pull request swiftlang#30082 from 3405691582/OpenBSD_Port_Build
Build system recognizes OpenBSD.
2 parents 0c9c901 + f8d0174 commit 22b0526

File tree

15 files changed

+47
-3
lines changed

15 files changed

+47
-3
lines changed

CMakeLists.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,8 @@ else()
570570
set(SWIFT_HOST_VARIANT_SDK_default "LINUX")
571571
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
572572
set(SWIFT_HOST_VARIANT_SDK_default "FREEBSD")
573+
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
574+
set(SWIFT_HOST_VARIANT_SDK_default "OPENBSD")
573575
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
574576
set(SWIFT_HOST_VARIANT_SDK_default "CYGWIN")
575577
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
@@ -673,6 +675,15 @@ elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "FREEBSD")
673675
set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}")
674676
set(SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH}")
675677

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+
676687
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "CYGWIN")
677688

678689
set(SWIFT_HOST_VARIANT "cygwin" CACHE STRING

cmake/modules/FindICU.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ foreach(MODULE ${ICU_FIND_COMPONENTS})
2424
HINTS ${PC_ICU_${MODULE}_LIBRARY_DIRS})
2525
endforeach()
2626

27-
foreach(sdk ANDROID;FREEBSD;LINUX;WINDOWS;HAIKU)
27+
foreach(sdk ANDROID;FREEBSD;OPENBSD;LINUX;WINDOWS;HAIKU)
2828
foreach(MODULE ${ICU_FIND_COMPONENTS})
2929
string(TOUPPER "${MODULE}" MODULE)
3030
if("${SWIFT_${sdk}_${SWIFT_HOST_VARIANT_ARCH}_ICU_${MODULE}_INCLUDE}" STREQUAL "")

cmake/modules/SwiftConfigureSDK.cmake

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,15 @@ macro(configure_sdk_unix name architectures)
335335
message(STATUS "FreeBSD Version: ${freebsd_system_version}")
336336

337337
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}")
338347
elseif("${prefix}" STREQUAL "CYGWIN")
339348
if(NOT arch STREQUAL x86_64)
340349
message(FATAL_ERROR "unsupported arch for cygwin: ${arch}")

cmake/modules/SwiftSetIfArchBitness.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ function(set_if_arch_bitness var_name)
1515
"${SIA_ARCH}" STREQUAL "armv7s")
1616
set("${var_name}" "${SIA_CASE_32_BIT}" PARENT_SCOPE)
1717
elseif("${SIA_ARCH}" STREQUAL "x86_64" OR
18+
"${SIA_ARCH}" STREQUAL "amd64" OR
1819
"${SIA_ARCH}" STREQUAL "arm64" OR
1920
"${SIA_ARCH}" STREQUAL "arm64e" OR
2021
"${SIA_ARCH}" STREQUAL "aarch64" OR

stdlib/private/RuntimeUnittest/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ add_swift_target_library(swiftRuntimeUnittest ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES
1010
SWIFT_MODULE_DEPENDS StdlibUnittest
1111
SWIFT_MODULE_DEPENDS_LINUX Glibc
1212
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
13+
SWIFT_MODULE_DEPENDS_OPENBSD Glibc
1314
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
1415
SWIFT_MODULE_DEPENDS_HAIKU Glibc
1516
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT

stdlib/private/StdlibCollectionUnittest/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ add_swift_target_library(swiftStdlibCollectionUnittest ${SWIFT_STDLIB_LIBRARY_BU
2121
SWIFT_MODULE_DEPENDS StdlibUnittest
2222
SWIFT_MODULE_DEPENDS_LINUX Glibc
2323
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
24+
SWIFT_MODULE_DEPENDS_OPENBSD Glibc
2425
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
2526
SWIFT_MODULE_DEPENDS_HAIKU Glibc
2627
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT

stdlib/private/StdlibUnicodeUnittest/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ add_swift_target_library(swiftStdlibUnicodeUnittest ${SWIFT_STDLIB_LIBRARY_BUILD
99
SWIFT_MODULE_DEPENDS StdlibUnittest
1010
SWIFT_MODULE_DEPENDS_LINUX Glibc
1111
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
12+
SWIFT_MODULE_DEPENDS_OPENBSD Glibc
1213
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
1314
SWIFT_MODULE_DEPENDS_HAIKU Glibc
1415
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT

stdlib/private/StdlibUnittest/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ add_swift_target_library(swiftStdlibUnittest ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES}
3838
SWIFT_MODULE_DEPENDS_WATCHOS Darwin Foundation
3939
SWIFT_MODULE_DEPENDS_LINUX Glibc
4040
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
41+
SWIFT_MODULE_DEPENDS_OPENBSD Glibc
4142
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
4243
SWIFT_MODULE_DEPENDS_HAIKU Glibc
4344
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK

stdlib/private/SwiftPrivateLibcExtras/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ add_swift_target_library(swiftSwiftPrivateLibcExtras ${SWIFT_STDLIB_LIBRARY_BUIL
1515
SWIFT_MODULE_DEPENDS_WATCHOS Darwin
1616
SWIFT_MODULE_DEPENDS_LINUX Glibc
1717
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
18+
SWIFT_MODULE_DEPENDS_OPENBSD Glibc
1819
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
1920
SWIFT_MODULE_DEPENDS_HAIKU Glibc
2021
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK

stdlib/private/SwiftPrivateThreadExtras/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ add_swift_target_library(swiftSwiftPrivateThreadExtras ${SWIFT_STDLIB_LIBRARY_BU
1212
SWIFT_MODULE_DEPENDS_WATCHOS Darwin
1313
SWIFT_MODULE_DEPENDS_LINUX Glibc
1414
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
15+
SWIFT_MODULE_DEPENDS_OPENBSD Glibc
1516
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
1617
SWIFT_MODULE_DEPENDS_HAIKU Glibc
1718
SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT WinSDK
1819
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
2021
INSTALL_IN_COMPONENT stdlib-experimental
2122
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
2223

0 commit comments

Comments
 (0)