@@ -739,6 +739,10 @@ function(add_libswift name)
739739 get_filename_component (swift_exec_bin_dir ${ALS_SWIFT_EXEC} DIRECTORY )
740740 set (sdk_option ${sdk_option} "-resource-dir" "${swift_exec_bin_dir} /../bootstrapping0/lib/swift" )
741741 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" )
742746 endif ()
743747 get_versioned_target_triple(target ${SWIFT_HOST_VARIANT_SDK}
744748 ${SWIFT_HOST_VARIANT_ARCH} "${deployment_version} " )
@@ -965,22 +969,28 @@ function(add_swift_host_tool executable)
965969 BUILD_WITH_INSTALL_RPATH YES
966970 INSTALL_RPATH "${RPATH_LIST} " )
967971
968- elseif (SWIFT_HOST_VARIANT_SDK STREQUAL "LINUX" AND ASHT_HAS_LIBSWIFT AND LIBSWIFT_BUILD_MODE)
972+ elseif (SWIFT_HOST_VARIANT_SDK MATCHES "LINUX|ANDROID|OPENBSD " AND ASHT_HAS_LIBSWIFT AND LIBSWIFT_BUILD_MODE)
969973 set (swiftrt "swiftImageRegistrationObject${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _OBJECT_FORMAT}-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR}-${SWIFT_HOST_VARIANT_ARCH} " )
970- if (LIBSWIFT_BUILD_MODE STREQUAL "HOSTTOOLS" )
974+ if (${ LIBSWIFT_BUILD_MODE} MATCHES "HOSTTOOLS|CROSSCOMPILE " )
971975 # At build time and and run time, link against the swift libraries in the
972976 # installed host toolchain.
973977 get_filename_component (swift_bin_dir ${SWIFT_EXEC_FOR_LIBSWIFT} DIRECTORY )
974978 get_filename_component (swift_dir ${swift_bin_dir} DIRECTORY )
975- set (host_lib_dir "${swift_dir} /lib/swift/linux " )
979+ set (host_lib_dir "${swift_dir} /lib/swift/${SWIFT_SDK_ ${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR} " )
976980
977981 target_link_libraries (${executable} PRIVATE ${swiftrt} )
978982 target_link_libraries (${executable} PRIVATE "swiftCore" )
979983
980984 target_link_directories (${executable} PRIVATE ${host_lib_dir} )
981- set_target_properties (${executable} PROPERTIES
982- BUILD_WITH_INSTALL_RPATH YES
983- INSTALL_RPATH "${host_lib_dir} " )
985+ if (LIBSWIFT_BUILD_MODE STREQUAL "HOSTTOOLS" )
986+ set_target_properties (${executable} PROPERTIES
987+ BUILD_WITH_INSTALL_RPATH YES
988+ INSTALL_RPATH "${host_lib_dir} " )
989+ else ()
990+ set_target_properties (${executable} PROPERTIES
991+ BUILD_WITH_INSTALL_RPATH YES
992+ INSTALL_RPATH "$ORIGIN/../lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR}" )
993+ endif ()
984994
985995 elseif (LIBSWIFT_BUILD_MODE STREQUAL "BOOTSTRAPPING" )
986996 # At build time link against the built swift libraries from the
@@ -996,7 +1006,7 @@ function(add_swift_host_tool executable)
9961006 # bootstrapping stage.
9971007 set_target_properties (${executable} PROPERTIES
9981008 BUILD_WITH_INSTALL_RPATH YES
999- INSTALL_RPATH "$ORIGIN/../lib/swift/${SWIFT_SDK_LINUX_LIB_SUBDIR } " )
1009+ INSTALL_RPATH "$ORIGIN/../lib/swift/${SWIFT_SDK_ ${SWIFT_HOST_VARIANT_SDK} _LIB_SUBDIR }" )
10001010
10011011 elseif (LIBSWIFT_BUILD_MODE STREQUAL "BOOTSTRAPPING-WITH-HOSTLIBS" )
10021012 message (FATAL_ERROR "LIBSWIFT_BUILD_MODE 'BOOTSTRAPPING-WITH-HOSTLIBS' not supported on Linux" )
0 commit comments