From 3c3937bd5ac6eb106c1e7420588f2813369b44b7 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Wed, 1 Dec 2021 12:22:13 +0100 Subject: [PATCH] Add ICU linker flags to all build invocation Resolves https://github.com/swiftwasm/carton/issues/268. --- Sources/SwiftToolchain/Toolchain.swift | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Sources/SwiftToolchain/Toolchain.swift b/Sources/SwiftToolchain/Toolchain.swift index 1ce5a944..dacd7206 100644 --- a/Sources/SwiftToolchain/Toolchain.swift +++ b/Sources/SwiftToolchain/Toolchain.swift @@ -264,6 +264,12 @@ public final class Toolchain { builderArguments.append("--enable-test-discovery") } + // SwiftWasm 5.5 requires explicit linking arguments in certain configurations, + // see https://github.com/swiftwasm/swift/issues/3891 + if version.starts(with: "wasm-5.5") { + builderArguments.append(contentsOf: ["-Xlinker", "-licuuc", "-Xlinker", "-licui18n"]) + } + try Builder( arguments: builderArguments, mainWasmPath: mainWasmPath, @@ -302,9 +308,7 @@ public final class Toolchain { var builderArguments = [ swiftPath.pathString, "build", "-c", flavor.isRelease ? "release" : "debug", "--product", testProductName, "--triple", "wasm32-unknown-wasi", - "-Xswiftc", "-color-diagnostics", - // workaround for 5.5 linking issues, see https://github.com/swiftwasm/swift/issues/3891 - "-Xlinker", "-licuuc", "-Xlinker", "-licui18n" + "-Xswiftc", "-color-diagnostics" ] // Versions later than 5.3.x have test discovery enabled by default and the explicit flag @@ -313,6 +317,12 @@ public final class Toolchain { builderArguments.append("--enable-test-discovery") } + // SwiftWasm 5.5 requires explicit linking arguments in certain configurations, + // see https://github.com/swiftwasm/swift/issues/3891 + if version.starts(with: "wasm-5.5") { + builderArguments.append(contentsOf: ["-Xlinker", "-licuuc", "-Xlinker", "-licui18n"]) + } + try Builder( arguments: builderArguments, mainWasmPath: testBundlePath,