diff --git a/lib/Driver/UnixToolChains.cpp b/lib/Driver/UnixToolChains.cpp index e016d041199d6..67255d7fdaa6c 100644 --- a/lib/Driver/UnixToolChains.cpp +++ b/lib/Driver/UnixToolChains.cpp @@ -408,12 +408,8 @@ toolchains::GenericUnix::constructInvocation(const StaticLinkJobAction &job, ArgStringList Arguments; - const char *AR; + const char *AR = "llvm-ar"; // Configure the toolchain. - if (getTriple().isAndroid()) - AR = "llvm-ar"; - else - AR = context.OI.LTOVariant != OutputInfo::LTOKind::None ? "llvm-ar" : "ar"; Arguments.push_back("crs"); Arguments.push_back( diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index 2389fba5f7df9..f45811d76e318 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -15,3 +15,12 @@ file(TO_CMAKE_PATH "${LLVM_BUILD_BINARY_DIR}/bin/FileCheck${CMAKE_EXECUTABLE_SUF swift_install_in_component(PROGRAMS "${_SWIFT_UTILS_FILECHECK}" DESTINATION bin COMPONENT llvm-toolchain-dev-tools) + +# Copy over llvm-ar to use in building the Swift portions of the corelibs on +# Unix platforms. +if(NOT "${SWIFT_HOST_VARIANT_SDK}" MATCHES "OSX|WINDOWS|WASI") + file(COPY ${LLVM_RUNTIME_OUTPUT_INTDIR}/bin/llvm-ar + DESTINATION "${SWIFT_RUNTIME_OUTPUT_INTDIR}" + FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ + GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +endif()