From 8049922861e80b79b718db54a35f5f97185a11c7 Mon Sep 17 00:00:00 2001 From: Rintaro Ishizaki Date: Wed, 30 Aug 2023 13:28:07 -0700 Subject: [PATCH] [CMake] Update host platform check for macro support "Support Macros in Linux" patches was inconsistent with checking platforms. Some only checked 'LINUX' but some matches 'LINUX|ANDROID|OPENBSD|FREEBSD'. Although I don't have tested other platoforms than Linux at all, there's no reason to limit it to Linux. So use the consistent check to match 'LINUX|ANDROID|OPENBSD|FREEBSD' --- CMakeLists.txt | 2 +- cmake/modules/AddPureSwift.cmake | 4 ++-- lib/CMakeLists.txt | 2 +- lib/Macros/CMakeLists.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c0601409e82e..a28bf92956680 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -954,7 +954,7 @@ if(SWIFT_PATH_TO_EARLYSWIFTSYNTAX_BUILD_DIR) set(SWIFT_SWIFT_PARSER TRUE) include(${SWIFT_PATH_TO_EARLYSWIFTSYNTAX_TARGETS}) - if(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX" AND NOT BOOTSTRAPPING_MODE STREQUAL "HOSTTOOLS") + if(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD" AND NOT BOOTSTRAPPING_MODE STREQUAL "HOSTTOOLS") # Only "HOSTTOOLS" is supported in Linux when Swift parser integration is enabled. message(WARNING "Force setting BOOTSTRAPPING=HOSTTOOLS because Swift parser integration is enabled") set(BOOTSTRAPPING_MODE "HOSTTOOLS") diff --git a/cmake/modules/AddPureSwift.cmake b/cmake/modules/AddPureSwift.cmake index 388b9000d2988..1bf156b23163c 100644 --- a/cmake/modules/AddPureSwift.cmake +++ b/cmake/modules/AddPureSwift.cmake @@ -66,7 +66,7 @@ function(_add_host_swift_compile_options name) endfunction() function(_set_pure_swift_link_flags name relpath_to_lib_dir) - if(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX") + if(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD") # Don't add builder's stdlib RPATH automatically. target_compile_options(${name} PRIVATE $<$:-no-toolchain-stdlib-rpath> @@ -291,7 +291,7 @@ function(add_pure_swift_host_tool name) set_property(TARGET ${name} APPEND PROPERTY INSTALL_RPATH "@executable_path/../lib/swift/host") - else() + elseif(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD") set_property(TARGET ${name} APPEND PROPERTY INSTALL_RPATH "$ORIGIN/../lib/swift/host") diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index d73b22a8f5125..a29e9770d9115 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -54,7 +54,7 @@ if (SWIFT_SWIFT_PARSER) # be found via RPATH. foreach (sharedlib ${SWIFT_SYNTAX_SHARED_LIBRARIES}) set(add_origin_rpath) - if(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX") + if(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD") # At runtime, use swiftCore in the current toolchain. swift_get_set_rpath_script_file(setrpath_command) set(add_origin_rpath COMMAND ${CMAKE_COMMAND} diff --git a/lib/Macros/CMakeLists.txt b/lib/Macros/CMakeLists.txt index dc61d9a904488..e7501449c03e2 100644 --- a/lib/Macros/CMakeLists.txt +++ b/lib/Macros/CMakeLists.txt @@ -39,7 +39,7 @@ function(add_swift_macro_library name) _set_pure_swift_link_flags(${name} "${relpath_to_lib}") # Add rpath to 'lib/host' - if(SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX") + if(SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD|FREEBSD") set_property(TARGET ${name} APPEND PROPERTY INSTALL_RPATH "$ORIGIN/..") endif()