@@ -739,6 +739,10 @@ function(add_libswift name)
739
739
get_filename_component(swift_exec_bin_dir ${ALS_SWIFT_EXEC} DIRECTORY)
740
740
set(sdk_option ${sdk_option} " -resource-dir " " ${swift_exec_bin_dir} /../bootstrapping0/lib/swift ")
741
741
endif()
742
+ elseif(${LIBSWIFT_BUILD_MODE} STREQUAL " CROSSCOMPILE ")
743
+ set(sdk_option " -sdk " " ${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_ARCH_${SWIFT_HOST_VARIANT_ARCH}_PATH} ")
744
+ get_filename_component(swift_exec_bin_dir ${ALS_SWIFT_EXEC} DIRECTORY)
745
+ set(sdk_option ${sdk_option} " -resource-dir " " ${swift_exec_bin_dir} /../lib/swift ")
742
746
endif()
743
747
get_versioned_target_triple(target ${SWIFT_HOST_VARIANT_SDK}
744
748
${SWIFT_HOST_VARIANT_ARCH} " ${deployment_version} ")
@@ -973,22 +977,28 @@ function(add_swift_host_tool executable)
973
977
BUILD_WITH_INSTALL_RPATH YES
974
978
INSTALL_RPATH " ${RPATH_LIST} ")
975
979
976
- elseif(SWIFT_HOST_VARIANT_SDK STREQUAL " LINUX " AND ASHT_HAS_LIBSWIFT AND LIBSWIFT_BUILD_MODE)
980
+ elseif(SWIFT_HOST_VARIANT_SDK MATCHES " LINUX|ANDROID|OPENBSD " AND ASHT_HAS_LIBSWIFT AND LIBSWIFT_BUILD_MODE)
977
981
set(swiftrt " swiftImageRegistrationObject${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_OBJECT_FORMAT}-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}-${SWIFT_HOST_VARIANT_ARCH} ")
978
- if(LIBSWIFT_BUILD_MODE STREQUAL " HOSTTOOLS ")
982
+ if(${ LIBSWIFT_BUILD_MODE} MATCHES " HOSTTOOLS|CROSSCOMPILE ")
979
983
# At build time and and run time, link against the swift libraries in the
980
984
# installed host toolchain.
981
985
get_filename_component(swift_bin_dir ${SWIFT_EXEC_FOR_LIBSWIFT} DIRECTORY)
982
986
get_filename_component(swift_dir ${swift_bin_dir} DIRECTORY)
983
- set(host_lib_dir " ${swift_dir} /lib/swift/linux ")
987
+ set(host_lib_dir " ${swift_dir} /lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR} ")
984
988
985
989
target_link_libraries(${executable} PRIVATE ${swiftrt} )
986
990
target_link_libraries(${executable} PRIVATE " swiftCore ")
987
991
988
992
target_link_directories(${executable} PRIVATE ${host_lib_dir} )
989
- set_target_properties(${executable} PROPERTIES
990
- BUILD_WITH_INSTALL_RPATH YES
991
- INSTALL_RPATH " ${host_lib_dir} ")
993
+ if(LIBSWIFT_BUILD_MODE STREQUAL " HOSTTOOLS ")
994
+ set_target_properties(${executable} PROPERTIES
995
+ BUILD_WITH_INSTALL_RPATH YES
996
+ INSTALL_RPATH " ${host_lib_dir} ")
997
+ else()
998
+ set_target_properties(${executable} PROPERTIES
999
+ BUILD_WITH_INSTALL_RPATH YES
1000
+ INSTALL_RPATH " $ORIGIN/../lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR} ")
1001
+ endif()
992
1002
993
1003
elseif(LIBSWIFT_BUILD_MODE STREQUAL " BOOTSTRAPPING ")
994
1004
# At build time link against the built swift libraries from the
@@ -1004,7 +1014,7 @@ function(add_swift_host_tool executable)
1004
1014
# bootstrapping stage.
1005
1015
set_target_properties(${executable} PROPERTIES
1006
1016
BUILD_WITH_INSTALL_RPATH YES
1007
- INSTALL_RPATH " $ORIGIN/../lib/swift/${SWIFT_SDK_LINUX_LIB_SUBDIR } ")
1017
+ INSTALL_RPATH " $ORIGIN/../lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR } ")
1008
1018
1009
1019
elseif(LIBSWIFT_BUILD_MODE STREQUAL " BOOTSTRAPPING-WITH-HOSTLIBS ")
1010
1020
message(FATAL_ERROR " LIBSWIFT_BUILD_MODE 'BOOTSTRAPPING-WITH-HOSTLIBS' not supported on Linux ")
0 commit comments