From f32a6e25655902f1f0550ac12d0c1eb04be5c800 Mon Sep 17 00:00:00 2001 From: 3405691582 Date: Wed, 15 Apr 2020 00:14:17 -0400 Subject: [PATCH] [stdlib] Buildfix differentiation for OpenBSD. New files were added in #30875 which did not include os(OpenBSD), so add this. add_swift_target_library in AddSwiftStdlib subsequently required modification. _add_target_variant_link_flags likely needs modification as well, but this is better suited to a separate PR. --- stdlib/cmake/modules/AddSwiftStdlib.cmake | 7 +++++++ stdlib/public/Differentiation/CMakeLists.txt | 1 + stdlib/public/Differentiation/TgmathDerivatives.swift.gyb | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/stdlib/cmake/modules/AddSwiftStdlib.cmake b/stdlib/cmake/modules/AddSwiftStdlib.cmake index 7827533f73e64..ff02c2871bd7b 100644 --- a/stdlib/cmake/modules/AddSwiftStdlib.cmake +++ b/stdlib/cmake/modules/AddSwiftStdlib.cmake @@ -1399,6 +1399,9 @@ endfunction() # SWIFT_MODULE_DEPENDS_FREEBSD # Swift modules this library depends on when built for FreeBSD. # +# SWIFT_MODULE_DEPENDS_OPENBSD +# Swift modules this library depends on when built for OpenBSD. +# # SWIFT_MODULE_DEPENDS_LINUX # Swift modules this library depends on when built for Linux. # @@ -1518,6 +1521,7 @@ function(add_swift_target_library name) SWIFT_MODULE_DEPENDS SWIFT_MODULE_DEPENDS_CYGWIN SWIFT_MODULE_DEPENDS_FREEBSD + SWIFT_MODULE_DEPENDS_OPENBSD SWIFT_MODULE_DEPENDS_HAIKU SWIFT_MODULE_DEPENDS_IOS SWIFT_MODULE_DEPENDS_LINUX @@ -1676,6 +1680,9 @@ function(add_swift_target_library name) elseif(${sdk} STREQUAL FREEBSD) list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_FREEBSD}) + elseif(${sdk} STREQUAL OPENBSD) + list(APPEND swiftlib_module_depends_flattened + ${SWIFTLIB_SWIFT_MODULE_DEPENDS_OPENBSD}) elseif(${sdk} STREQUAL LINUX OR ${sdk} STREQUAL ANDROID) list(APPEND swiftlib_module_depends_flattened ${SWIFTLIB_SWIFT_MODULE_DEPENDS_LINUX}) diff --git a/stdlib/public/Differentiation/CMakeLists.txt b/stdlib/public/Differentiation/CMakeLists.txt index 4c5419a398b80..3efc77077de4b 100644 --- a/stdlib/public/Differentiation/CMakeLists.txt +++ b/stdlib/public/Differentiation/CMakeLists.txt @@ -28,6 +28,7 @@ add_swift_target_library(swift_Differentiation ${SWIFT_STDLIB_LIBRARY_BUILD_TYPE SWIFT_MODULE_DEPENDS_WATCHOS Darwin SWIFT_MODULE_DEPENDS_LINUX Glibc SWIFT_MODULE_DEPENDS_FREEBSD Glibc + SWIFT_MODULE_DEPENDS_OPENBSD Glibc SWIFT_MODULE_DEPENDS_CYGWIN Glibc SWIFT_MODULE_DEPENDS_HAIKU Glibc SWIFT_MODULE_DEPENDS_WINDOWS MSVCRT diff --git a/stdlib/public/Differentiation/TgmathDerivatives.swift.gyb b/stdlib/public/Differentiation/TgmathDerivatives.swift.gyb index a6294247ade73..92fde0c6fbfa3 100644 --- a/stdlib/public/Differentiation/TgmathDerivatives.swift.gyb +++ b/stdlib/public/Differentiation/TgmathDerivatives.swift.gyb @@ -16,7 +16,7 @@ import Swift #if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) import Darwin.C.tgmath -#elseif os(Linux) || os(FreeBSD) || os(PS4) || os(Android) || os(Cygwin) || os(Haiku) +#elseif os(Linux) || os(FreeBSD) || os(OpenBSD) || os(PS4) || os(Android) || os(Cygwin) || os(Haiku) import Glibc #elseif os(Windows) import MSVCRT