diff --git a/Sources/SwiftDriver/Driver/ToolExecutionDelegate.swift b/Sources/SwiftDriver/Driver/ToolExecutionDelegate.swift index 4d6577d04..4b409aca6 100644 --- a/Sources/SwiftDriver/Driver/ToolExecutionDelegate.swift +++ b/Sources/SwiftDriver/Driver/ToolExecutionDelegate.swift @@ -19,6 +19,8 @@ import WinSDK import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Bionic) +import Bionic #else #error("Missing libc or equivalent") #endif @@ -136,7 +138,11 @@ import var TSCBasic.stdoutStream } #else case .signalled(let signal): +#if canImport(Bionic) + let errorMessage = String(cString: strsignal(signal)) +#else let errorMessage = strsignal(signal).map { String(cString: $0) } ?? "" +#endif messages = constructJobSignalledMessages(job: job, error: errorMessage, output: output, signal: signal, pid: pid).map { ParsableMessage(name: job.kind.rawValue, kind: .signalled($0)) diff --git a/Sources/SwiftDriver/SwiftScan/Loader.swift b/Sources/SwiftDriver/SwiftScan/Loader.swift index 92ec883fe..2ab4e6fd4 100644 --- a/Sources/SwiftDriver/SwiftScan/Loader.swift +++ b/Sources/SwiftDriver/SwiftScan/Loader.swift @@ -21,6 +21,8 @@ import Darwin import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Android) +import Android #endif internal enum Loader { diff --git a/Sources/SwiftDriver/Utilities/DateAdditions.swift b/Sources/SwiftDriver/Utilities/DateAdditions.swift index fcad533de..88a5ae7e6 100644 --- a/Sources/SwiftDriver/Utilities/DateAdditions.swift +++ b/Sources/SwiftDriver/Utilities/DateAdditions.swift @@ -18,6 +18,8 @@ import Darwin import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Bionic) +import Bionic #endif /// Represents a time point value with nanosecond precision. diff --git a/Sources/SwiftDriver/Utilities/System.swift b/Sources/SwiftDriver/Utilities/System.swift index c4fdaa89d..a3b4d451e 100644 --- a/Sources/SwiftDriver/Utilities/System.swift +++ b/Sources/SwiftDriver/Utilities/System.swift @@ -16,6 +16,8 @@ import Darwin import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Android) +import Android #endif func argumentNeedsQuoting(_ argument: String) -> Bool { diff --git a/Sources/swift-build-sdk-interfaces/main.swift b/Sources/swift-build-sdk-interfaces/main.swift index cdc76a295..946678300 100644 --- a/Sources/swift-build-sdk-interfaces/main.swift +++ b/Sources/swift-build-sdk-interfaces/main.swift @@ -19,6 +19,8 @@ import Darwin import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Bionic) +import Bionic #endif import class TSCBasic.DiagnosticsEngine diff --git a/Sources/swift-driver/main.swift b/Sources/swift-driver/main.swift index 7fbdc21a5..5f0e31fd2 100644 --- a/Sources/swift-driver/main.swift +++ b/Sources/swift-driver/main.swift @@ -20,6 +20,8 @@ import Darwin import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Android) +import Android #endif import Dispatch