Skip to content

Commit b5e9c76

Browse files
committed
[Android] Use the Bionic module in more places
Also, use `canImport()` wherever importing APIs, reserving `os(Android)` for platform differences.
1 parent bc47ca2 commit b5e9c76

29 files changed

+51
-51
lines changed

Sources/FoundationEssentials/Calendar/Calendar.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
#if canImport(Darwin)
1414
internal import os
15-
#elseif os(Android)
16-
import Android
15+
#elseif canImport(Bionic)
16+
import Bionic
1717
#elseif canImport(Glibc)
1818
import Glibc
1919
#elseif canImport(CRT)

Sources/FoundationEssentials/Calendar/Calendar_Gregorian.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
#if canImport(os)
1414
internal import os
15-
#elseif os(Android)
16-
import Android
15+
#elseif canImport(Bionic)
16+
import Bionic
1717
#elseif canImport(Glibc)
1818
import Glibc
1919
#elseif canImport(CRT)

Sources/FoundationEssentials/CodableUtilities.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#if canImport(Darwin)
1414
import Darwin
15-
#elseif os(Android)
15+
#elseif canImport(Bionic)
1616
import Bionic
1717
#elseif canImport(Glibc)
1818
import Glibc

Sources/FoundationEssentials/Data/Data+Reading.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ internal import _FoundationCShims
1818

1919
#if canImport(Darwin)
2020
import Darwin
21-
#elseif os(Android)
21+
#elseif canImport(Android)
2222
import Android
2323
#elseif canImport(Glibc)
2424
import Glibc
@@ -375,7 +375,7 @@ internal func readBytesFromFile(path inPath: PathOrURL, reportProgress: Bool, ma
375375
localProgress?.completedUnitCount = 1
376376
} else if shouldMap {
377377
#if !NO_FILESYSTEM
378-
#if os(Android)
378+
#if canImport(Android)
379379
let bytes = mmap(nil, Int(fileSize), PROT_READ, MAP_PRIVATE, fd, 0)
380380
if bytes == UnsafeMutableRawPointer(bitPattern: -1) {
381381
throw CocoaError.errorWithFilePath(inPath, errno: errno, reading: true)

Sources/FoundationEssentials/Data/Data+Writing.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ internal import _FoundationCShims
1919

2020
#if canImport(Darwin)
2121
import Darwin
22-
#elseif os(Android)
22+
#elseif canImport(Android)
2323
import Android
2424
import unistd
2525
#elseif canImport(Glibc)

Sources/FoundationEssentials/Data/Data.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
@usableFromInline let memset = ucrt.memset
1818
@usableFromInline let memcpy = ucrt.memcpy
1919
@usableFromInline let memcmp = ucrt.memcmp
20-
#elseif os(Android)
20+
#elseif canImport(Bionic)
2121
import Bionic
2222
@usableFromInline let calloc = Bionic.calloc
2323
@usableFromInline let malloc = Bionic.malloc

Sources/FoundationEssentials/Date.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#if canImport(Darwin)
1414
import Darwin
15-
#elseif os(Android)
15+
#elseif canImport(Bionic)
1616
import Bionic
1717
#elseif canImport(Glibc)
1818
import Glibc

Sources/FoundationEssentials/Decimal/Decimal+Math.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
#if canImport(Darwin)
1414
import Darwin
15-
#elseif os(Android)
16-
import Android
15+
#elseif canImport(Bionic)
16+
import Bionic
1717
#elseif canImport(Glibc)
1818
import Glibc
1919
#elseif canImport(CRT)

Sources/FoundationEssentials/Error/CocoaError+FilePath.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ internal import _ForSwiftFoundation
1515

1616
#if canImport(Darwin)
1717
import Darwin
18-
#elseif os(Android)
18+
#elseif canImport(Bionic)
1919
import Bionic
2020
#elseif canImport(Glibc)
2121
import Glibc

Sources/FoundationEssentials/Error/ErrorCodes+POSIX.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
//===----------------------------------------------------------------------===//
1111

1212
// Import for POSIXErrorCode
13-
#if os(Android)
13+
#if canImport(Android)
1414
@preconcurrency import Android
1515
#elseif canImport(Glibc)
1616
@preconcurrency import Glibc

Sources/FoundationEssentials/FileManager/FileManager+Basics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#if canImport(Darwin)
1414
import Darwin
15-
#elseif os(Android)
15+
#elseif canImport(Android)
1616
import Android
1717
#elseif canImport(Glibc)
1818
import Glibc

Sources/FoundationEssentials/FileManager/FileManager+Directories.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ internal import os
1818

1919
#if canImport(Darwin)
2020
import Darwin
21-
#elseif os(Android)
21+
#elseif canImport(Android)
2222
import Android
2323
import unistd
2424
#elseif canImport(Glibc)

Sources/FoundationEssentials/FileManager/FileManager+Files.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ internal import DarwinPrivate.sys.content_protection
1717

1818
#if canImport(Darwin)
1919
import Darwin
20-
#elseif os(Android)
20+
#elseif canImport(Android)
2121
import Android
2222
import posix_filesystem
2323
#elseif canImport(Glibc)

Sources/FoundationEssentials/FileManager/FileManager+SymbolicLinks.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#if canImport(Darwin)
1414
import Darwin
15-
#elseif os(Android)
15+
#elseif canImport(Android)
1616
import Android
1717
import unistd
1818
#elseif canImport(Glibc)

Sources/FoundationEssentials/FileManager/FileManager+Utilities.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ internal import QuarantinePrivate
2323

2424
#if canImport(Darwin)
2525
import Darwin
26-
#elseif os(Android)
26+
#elseif canImport(Android)
2727
import Android
2828
#elseif canImport(Glibc)
2929
import Glibc

Sources/FoundationEssentials/FileManager/FileOperations+Enumeration.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ struct _Win32DirectoryContentsSequence: Sequence {
109109

110110
#if canImport(Darwin)
111111
import Darwin
112-
#elseif os(Android)
112+
#elseif canImport(Android)
113113
import Android
114114
import posix_filesystem.dirent
115115
#elseif canImport(Glibc)
@@ -326,7 +326,7 @@ extension Sequence<_FTSSequence.Element> {
326326
struct _POSIXDirectoryContentsSequence: Sequence {
327327
#if canImport(Darwin)
328328
typealias DirectoryEntryPtr = UnsafeMutablePointer<DIR>
329-
#elseif os(Android) || canImport(Glibc) || os(WASI)
329+
#elseif canImport(Android) || canImport(Glibc) || os(WASI)
330330
typealias DirectoryEntryPtr = OpaquePointer
331331
#endif
332332

Sources/FoundationEssentials/FileManager/FileOperations.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#if canImport(Darwin)
1414
import Darwin
15-
#elseif os(Android)
15+
#elseif canImport(Android)
1616
import Android
1717
#elseif canImport(Glibc)
1818
import Glibc

Sources/FoundationEssentials/Formatting/BinaryInteger+NumericStringRepresentation.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
#if canImport(Darwin)
1414
import Darwin
15-
#elseif os(Android)
16-
import Android
15+
#elseif canImport(Bionic)
16+
import Bionic
1717
#elseif canImport(Glibc)
1818
import Glibc
1919
#elseif os(Windows)

Sources/FoundationEssentials/LockedState.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ internal import os
1515
#if FOUNDATION_FRAMEWORK && canImport(C.os.lock)
1616
internal import C.os.lock
1717
#endif
18-
#elseif os(Android)
18+
#elseif canImport(Bionic)
1919
import Bionic
2020
#elseif canImport(Glibc)
2121
import Glibc
@@ -29,7 +29,7 @@ package struct LockedState<State> {
2929
private struct _Lock {
3030
#if canImport(os)
3131
typealias Primitive = os_unfair_lock
32-
#elseif os(Android) || canImport(Glibc)
32+
#elseif canImport(Bionic) || canImport(Glibc)
3333
typealias Primitive = pthread_mutex_t
3434
#elseif canImport(WinSDK)
3535
typealias Primitive = SRWLOCK
@@ -44,7 +44,7 @@ package struct LockedState<State> {
4444
fileprivate static func initialize(_ platformLock: PlatformLock) {
4545
#if canImport(os)
4646
platformLock.initialize(to: os_unfair_lock())
47-
#elseif os(Android) || canImport(Glibc)
47+
#elseif canImport(Bionic) || canImport(Glibc)
4848
pthread_mutex_init(platformLock, nil)
4949
#elseif canImport(WinSDK)
5050
InitializeSRWLock(platformLock)
@@ -54,7 +54,7 @@ package struct LockedState<State> {
5454
}
5555

5656
fileprivate static func deinitialize(_ platformLock: PlatformLock) {
57-
#if os(Android) || canImport(Glibc)
57+
#if canImport(Bionic) || canImport(Glibc)
5858
pthread_mutex_destroy(platformLock)
5959
#endif
6060
platformLock.deinitialize(count: 1)
@@ -63,7 +63,7 @@ package struct LockedState<State> {
6363
static fileprivate func lock(_ platformLock: PlatformLock) {
6464
#if canImport(os)
6565
os_unfair_lock_lock(platformLock)
66-
#elseif os(Android) || canImport(Glibc)
66+
#elseif canImport(Bionic) || canImport(Glibc)
6767
pthread_mutex_lock(platformLock)
6868
#elseif canImport(WinSDK)
6969
AcquireSRWLockExclusive(platformLock)
@@ -75,7 +75,7 @@ package struct LockedState<State> {
7575
static fileprivate func unlock(_ platformLock: PlatformLock) {
7676
#if canImport(os)
7777
os_unfair_lock_unlock(platformLock)
78-
#elseif os(Android) || canImport(Glibc)
78+
#elseif canImport(Bionic) || canImport(Glibc)
7979
pthread_mutex_unlock(platformLock)
8080
#elseif canImport(WinSDK)
8181
ReleaseSRWLockExclusive(platformLock)

Sources/FoundationEssentials/Platform.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ fileprivate let _pageSize: Int = {
2828
#elseif os(WASI)
2929
// WebAssembly defines a fixed page size
3030
fileprivate let _pageSize: Int = 65_536
31-
#elseif os(Android)
31+
#elseif canImport(Android)
3232
import Bionic
3333
import unistd
3434
fileprivate let _pageSize: Int = Int(getpagesize())
@@ -172,7 +172,7 @@ extension Platform {
172172
// FIXME: bionic implements this as `return 0;` and does not expose the
173173
// function via headers. We should be able to shim this and use the call
174174
// if it is available.
175-
#if !os(Android) && !os(WASI)
175+
#if !canImport(Android) && !os(WASI)
176176
guard issetugid() == 0 else { return nil }
177177
#endif
178178
if let value = getenv(name) {

Sources/FoundationEssentials/ProcessInfo/ProcessInfo.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ internal import _FoundationCShims
1414

1515
#if canImport(Darwin)
1616
import Darwin
17-
#elseif os(Android)
17+
#elseif canImport(Android)
1818
import Bionic
1919
import unistd
2020
#elseif canImport(Glibc)
@@ -163,7 +163,7 @@ final class _ProcessInfo: Sendable {
163163
}
164164

165165
var userName: String {
166-
#if canImport(Darwin) || os(Android) || canImport(Glibc)
166+
#if canImport(Darwin) || canImport(Android) || canImport(Glibc)
167167
// Darwin and Linux
168168
let (euid, _) = Platform.getUGIDs()
169169
if let upwd = getpwuid(euid),
@@ -198,7 +198,7 @@ final class _ProcessInfo: Sendable {
198198
}
199199

200200
var fullUserName: String {
201-
#if canImport(Darwin) || os(Android) || canImport(Glibc)
201+
#if canImport(Darwin) || canImport(Android) || canImport(Glibc)
202202
let (euid, _) = Platform.getUGIDs()
203203
if let upwd = getpwuid(euid),
204204
let fullname = upwd.pointee.pw_gecos {
@@ -363,7 +363,7 @@ extension _ProcessInfo {
363363
}
364364

365365
var operatingSystemVersion: (major: Int, minor: Int, patch: Int) {
366-
#if canImport(Darwin) || os(Linux) || os(FreeBSD) || os(OpenBSD) || os(Android)
366+
#if canImport(Darwin) || os(Linux) || os(FreeBSD) || os(OpenBSD) || canImport(Android)
367367
var uts: utsname = utsname()
368368
guard uname(&uts) == 0 else {
369369
return (major: -1, minor: 0, patch: 0)

Sources/FoundationEssentials/PropertyList/OpenStepPlist.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#if canImport(Darwin)
1414
import Darwin
15-
#elseif os(Android)
15+
#elseif canImport(Bionic)
1616
import Bionic
1717
#elseif canImport(Glibc)
1818
import Glibc

Sources/FoundationEssentials/String/String+Path.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#if canImport(Darwin)
1414
internal import os
15-
#elseif os(Android)
15+
#elseif canImport(Android)
1616
import Android
1717
#elseif canImport(Glibc)
1818
import Glibc

Sources/FoundationEssentials/TimeZone/TimeZone_Cache.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
#if canImport(Darwin)
1414
import Darwin
15-
#elseif os(Android)
15+
#elseif canImport(Android)
1616
import unistd
1717
#elseif canImport(Glibc)
1818
import Glibc

Sources/FoundationEssentials/_ThreadLocal.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
#if canImport(Darwin)
1313
import Darwin
14-
#elseif os(Android)
14+
#elseif canImport(Bionic)
1515
import Bionic
1616
#elseif canImport(Glibc)
1717
import Glibc
@@ -24,7 +24,7 @@ internal import threads
2424
#endif
2525

2626
struct _ThreadLocal {
27-
#if canImport(Darwin) || os(Android) || canImport(Glibc)
27+
#if canImport(Darwin) || canImport(Bionic) || canImport(Glibc)
2828
fileprivate typealias PlatformKey = pthread_key_t
2929
#elseif USE_TSS
3030
fileprivate typealias PlatformKey = tss_t
@@ -38,7 +38,7 @@ struct _ThreadLocal {
3838
fileprivate let key: PlatformKey
3939

4040
init() {
41-
#if canImport(Darwin) || os(Android) || canImport(Glibc)
41+
#if canImport(Darwin) || canImport(Bionic) || canImport(Glibc)
4242
var key = PlatformKey()
4343
pthread_key_create(&key, nil)
4444
self.key = key
@@ -56,7 +56,7 @@ struct _ThreadLocal {
5656

5757
private static subscript(_ key: PlatformKey) -> UnsafeMutableRawPointer? {
5858
get {
59-
#if canImport(Darwin) || os(Android) || canImport(Glibc)
59+
#if canImport(Darwin) || canImport(Bionic) || canImport(Glibc)
6060
pthread_getspecific(key)
6161
#elseif USE_TSS
6262
tss_get(key)
@@ -68,7 +68,7 @@ struct _ThreadLocal {
6868
}
6969

7070
set {
71-
#if canImport(Darwin) || os(Android) || canImport(Glibc)
71+
#if canImport(Darwin) || canImport(Bionic) || canImport(Glibc)
7272
pthread_setspecific(key, newValue)
7373
#elseif USE_TSS
7474
tss_set(key, newValue)

Sources/FoundationInternationalization/Calendar/Calendar_ICU.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import FoundationEssentials
1515
#endif
1616

17-
#if os(Android)
17+
#if canImport(Android)
1818
import Android
1919
#elseif canImport(Glibc)
2020
import Glibc

Sources/FoundationInternationalization/Date+ICU.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import FoundationEssentials
1515

1616
internal import _FoundationICU
1717

18-
#if os(Android)
19-
import Android
18+
#if canImport(Bionic)
19+
import Bionic
2020
#elseif canImport(Glibc)
2121
import Glibc
2222
#elseif canImport(Darwin)

Sources/FoundationInternationalization/Formatting/Date/ICUDateFormatter.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ internal import _FoundationICU
1818

1919
#if canImport(Darwin)
2020
import Darwin
21-
#elseif os(Android)
22-
import Android
21+
#elseif canImport(Bionic)
22+
import Bionic
2323
#elseif canImport(Glibc)
2424
import Glibc
2525
#endif

0 commit comments

Comments
 (0)