@@ -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} " )
@@ -973,22 +977,28 @@ function(add_swift_host_tool executable)
973977 BUILD_WITH_INSTALL_RPATH YES
974978 INSTALL_RPATH "${RPATH_LIST} " )
975979
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)
977981 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 " )
979983 # At build time and and run time, link against the swift libraries in the
980984 # installed host toolchain.
981985 get_filename_component (swift_bin_dir ${SWIFT_EXEC_FOR_LIBSWIFT} DIRECTORY )
982986 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} " )
984988
985989 target_link_libraries (${executable} PRIVATE ${swiftrt} )
986990 target_link_libraries (${executable} PRIVATE "swiftCore" )
987991
988992 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 ()
9921002
9931003 elseif (LIBSWIFT_BUILD_MODE STREQUAL "BOOTSTRAPPING" )
9941004 # At build time link against the built swift libraries from the
@@ -1004,7 +1014,7 @@ function(add_swift_host_tool executable)
10041014 # bootstrapping stage.
10051015 set_target_properties (${executable} PROPERTIES
10061016 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 }" )
10081018
10091019 elseif (LIBSWIFT_BUILD_MODE STREQUAL "BOOTSTRAPPING-WITH-HOSTLIBS" )
10101020 message (FATAL_ERROR "LIBSWIFT_BUILD_MODE 'BOOTSTRAPPING-WITH-HOSTLIBS' not supported on Linux" )
0 commit comments