From 8edc018d299803e133642a52d5c469b97c7fbf8d Mon Sep 17 00:00:00 2001 From: finagolfin Date: Fri, 21 Jun 2024 04:49:34 +0530 Subject: [PATCH 1/2] Add support for new Android overlay (`import Android`) (#7615) This adds the overlay to four of the six files that currently `import Glibc`, with those last two showing no difference if this _wasn't_ added, like `PackageDescription.swift`. --- .../FisherYates/src/Fisher-Yates_Shuffle.swift | 2 ++ .../EchoExecutable/Sources/secho/main.swift | 2 ++ Sources/Build/TestObservation.swift | 2 ++ Sources/CoreCommands/SwiftCommandState.swift | 2 ++ Sources/PackageDescription/PackageDescription.swift | 8 +------- Tests/PackageLoadingTests/PD_5_3_LoadingTests.swift | 11 ----------- 6 files changed, 9 insertions(+), 18 deletions(-) diff --git a/Fixtures/DependencyResolution/External/Complex/FisherYates/src/Fisher-Yates_Shuffle.swift b/Fixtures/DependencyResolution/External/Complex/FisherYates/src/Fisher-Yates_Shuffle.swift index 9c066414e6b..3f4a9cac4d8 100644 --- a/Fixtures/DependencyResolution/External/Complex/FisherYates/src/Fisher-Yates_Shuffle.swift +++ b/Fixtures/DependencyResolution/External/Complex/FisherYates/src/Fisher-Yates_Shuffle.swift @@ -4,6 +4,8 @@ import Darwin import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Android) +import Android #endif public extension Collection { diff --git a/Fixtures/Miscellaneous/EchoExecutable/Sources/secho/main.swift b/Fixtures/Miscellaneous/EchoExecutable/Sources/secho/main.swift index 1b5b30cbbd5..222c6f8ffa8 100644 --- a/Fixtures/Miscellaneous/EchoExecutable/Sources/secho/main.swift +++ b/Fixtures/Miscellaneous/EchoExecutable/Sources/secho/main.swift @@ -2,6 +2,8 @@ import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Android) + import Android #else import Darwin.C #endif diff --git a/Sources/Build/TestObservation.swift b/Sources/Build/TestObservation.swift index 98a8f5f8e1e..a86ff467547 100644 --- a/Sources/Build/TestObservation.swift +++ b/Sources/Build/TestObservation.swift @@ -132,6 +132,8 @@ public func generateTestObservationCode(buildParameters: BuildParameters) -> Str @_exported import WinSDK #elseif os(WASI) @_exported import WASILibc + #elseif canImport(Android) + @_exported import Android #else @_exported import Darwin.C #endif diff --git a/Sources/CoreCommands/SwiftCommandState.swift b/Sources/CoreCommands/SwiftCommandState.swift index 4b5bb530025..e27543e6213 100644 --- a/Sources/CoreCommands/SwiftCommandState.swift +++ b/Sources/CoreCommands/SwiftCommandState.swift @@ -39,6 +39,8 @@ import Darwin import Glibc #elseif canImport(Musl) import Musl +#elseif canImport(Android) +import Android #endif import func TSCBasic.exec diff --git a/Sources/PackageDescription/PackageDescription.swift b/Sources/PackageDescription/PackageDescription.swift index 73e61456a18..b3466f63bd7 100644 --- a/Sources/PackageDescription/PackageDescription.swift +++ b/Sources/PackageDescription/PackageDescription.swift @@ -10,13 +10,7 @@ // //===----------------------------------------------------------------------===// -#if canImport(Glibc) -@_implementationOnly import Glibc -#elseif canImport(Musl) -@_implementationOnly import Musl -#elseif canImport(Darwin) -@_implementationOnly import Darwin.C -#elseif canImport(ucrt) && canImport(WinSDK) +#if canImport(ucrt) && canImport(WinSDK) @_implementationOnly import ucrt @_implementationOnly import struct WinSDK.HANDLE #endif diff --git a/Tests/PackageLoadingTests/PD_5_3_LoadingTests.swift b/Tests/PackageLoadingTests/PD_5_3_LoadingTests.swift index 7158e605a81..555b382d5a6 100644 --- a/Tests/PackageLoadingTests/PD_5_3_LoadingTests.swift +++ b/Tests/PackageLoadingTests/PD_5_3_LoadingTests.swift @@ -505,17 +505,6 @@ final class PackageDescription5_3LoadingTests: PackageDescriptionLoadingTests { func testNonZeroExitStatusDoesNotAssert() async throws { let content = """ - #if canImport(Glibc) - import Glibc - #elseif canImport(Musl) - import Musl - #elseif os(Windows) - import MSVCRT - import WinSDK - #else - import Darwin.C - #endif - print("crash") exit(1) """ From 7afdeaa1595981dd64c1bee35bc5f82d3e55dd29 Mon Sep 17 00:00:00 2001 From: Finagolfin Date: Thu, 4 Jul 2024 23:18:27 +0530 Subject: [PATCH 2/2] Import new Bionic module from Android overlay instead where possible Also, add the import in `Environment.swift` too --- .../Complex/FisherYates/src/Fisher-Yates_Shuffle.swift | 4 ++-- Sources/Basics/Environment/Environment.swift | 2 ++ Sources/Build/TestObservation.swift | 4 ++-- Sources/CoreCommands/SwiftCommandState.swift | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Fixtures/DependencyResolution/External/Complex/FisherYates/src/Fisher-Yates_Shuffle.swift b/Fixtures/DependencyResolution/External/Complex/FisherYates/src/Fisher-Yates_Shuffle.swift index 3f4a9cac4d8..7bbfc6337e4 100644 --- a/Fixtures/DependencyResolution/External/Complex/FisherYates/src/Fisher-Yates_Shuffle.swift +++ b/Fixtures/DependencyResolution/External/Complex/FisherYates/src/Fisher-Yates_Shuffle.swift @@ -4,8 +4,8 @@ import Darwin import Glibc #elseif canImport(Musl) import Musl -#elseif canImport(Android) -import Android +#elseif canImport(Bionic) +import Bionic #endif public extension Collection { diff --git a/Sources/Basics/Environment/Environment.swift b/Sources/Basics/Environment/Environment.swift index 7d065982bdd..4fe22853e7c 100644 --- a/Sources/Basics/Environment/Environment.swift +++ b/Sources/Basics/Environment/Environment.swift @@ -19,6 +19,8 @@ import Musl #elseif os(Windows) import CRT import WinSDK +#elseif canImport(Bionic) +import Bionic #else import Darwin.C #endif diff --git a/Sources/Build/TestObservation.swift b/Sources/Build/TestObservation.swift index a86ff467547..e707910e6f0 100644 --- a/Sources/Build/TestObservation.swift +++ b/Sources/Build/TestObservation.swift @@ -132,8 +132,8 @@ public func generateTestObservationCode(buildParameters: BuildParameters) -> Str @_exported import WinSDK #elseif os(WASI) @_exported import WASILibc - #elseif canImport(Android) - @_exported import Android + #elseif canImport(Bionic) + @_exported import Bionic #else @_exported import Darwin.C #endif diff --git a/Sources/CoreCommands/SwiftCommandState.swift b/Sources/CoreCommands/SwiftCommandState.swift index e27543e6213..8a58a060a1d 100644 --- a/Sources/CoreCommands/SwiftCommandState.swift +++ b/Sources/CoreCommands/SwiftCommandState.swift @@ -39,8 +39,8 @@ import Darwin import Glibc #elseif canImport(Musl) import Musl -#elseif canImport(Android) -import Android +#elseif canImport(Bionic) +import Bionic #endif import func TSCBasic.exec