@@ -41,10 +41,15 @@ let javaIncludePath = "\(javaHome)/include"
41
41
42
42
// Get NDK version from command line
43
43
let ndkVersion = ProcessInfo . processInfo. environment [ " ANDROID_NDK_VERSION " ] . flatMap { UInt ( $0) } ?? 27
44
- let ndkBinder = ndkVersion >= 29 // binder_ndk Requires NDK 29
45
-
46
44
let ndkVersionDefine = SwiftSetting . define ( " ANDROID_NDK_VERSION_ " + ndkVersion. description)
47
45
46
+ // Get Android API version
47
+ let sdkVersion = ProcessInfo . processInfo. environment [ " ANDROID_SDK_VERSION " ] . flatMap { UInt ( $0) } ?? 29
48
+ let sdkVersionDefine = SwiftSetting . define ( " ANDROID_SDK_VERSION_ " + ndkVersion. description)
49
+
50
+ // Conditionally enable features
51
+ let ndkBinder = sdkVersion >= 29 // binder_ndk Requires API 29
52
+
48
53
var package = Package (
49
54
name: " SwiftAndroid " ,
50
55
platforms: [
@@ -136,7 +141,8 @@ var package = Package(
136
141
swiftSettings: [
137
142
. swiftLanguageMode( . v5) ,
138
143
. unsafeFlags( [ " -I \( javaIncludePath) " , " -I \( javaPlatformIncludePath) " ] ) ,
139
- ndkVersionDefine
144
+ ndkVersionDefine,
145
+ sdkVersionDefine
140
146
]
141
147
) ,
142
148
. target(
@@ -197,7 +203,8 @@ var package = Package(
197
203
] ,
198
204
swiftSettings: [
199
205
. swiftLanguageMode( . v5) ,
200
- ndkVersionDefine
206
+ ndkVersionDefine,
207
+ sdkVersionDefine
201
208
]
202
209
) ,
203
210
. target(
@@ -208,7 +215,8 @@ var package = Package(
208
215
exclude: [ " swift-java.config " ] ,
209
216
swiftSettings: [
210
217
. swiftLanguageMode( . v5) ,
211
- ndkVersionDefine
218
+ ndkVersionDefine,
219
+ sdkVersionDefine
212
220
]
213
221
) ,
214
222
. target(
@@ -229,7 +237,8 @@ var package = Package(
229
237
exclude: [ " swift-java.config " ] ,
230
238
swiftSettings: [
231
239
. swiftLanguageMode( . v5) ,
232
- ndkVersionDefine
240
+ ndkVersionDefine,
241
+ sdkVersionDefine
233
242
]
234
243
) ,
235
244
. target(
@@ -240,7 +249,8 @@ var package = Package(
240
249
exclude: [ " swift-java.config " ] ,
241
250
swiftSettings: [
242
251
. swiftLanguageMode( . v5) ,
243
- ndkVersionDefine
252
+ ndkVersionDefine,
253
+ sdkVersionDefine
244
254
]
245
255
) ,
246
256
. target(
@@ -252,7 +262,8 @@ var package = Package(
252
262
exclude: [ " swift-java.config " ] ,
253
263
swiftSettings: [
254
264
. swiftLanguageMode( . v5) ,
255
- ndkVersionDefine
265
+ ndkVersionDefine,
266
+ sdkVersionDefine
256
267
]
257
268
) ,
258
269
. target(
@@ -264,7 +275,8 @@ var package = Package(
264
275
exclude: [ " swift-java.config " ] ,
265
276
swiftSettings: [
266
277
. swiftLanguageMode( . v5) ,
267
- ndkVersionDefine
278
+ ndkVersionDefine,
279
+ sdkVersionDefine
268
280
]
269
281
) ,
270
282
. target(
@@ -277,7 +289,8 @@ var package = Package(
277
289
exclude: [ " swift-java.config " ] ,
278
290
swiftSettings: [
279
291
. swiftLanguageMode( . v5) ,
280
- ndkVersionDefine
292
+ ndkVersionDefine,
293
+ sdkVersionDefine
281
294
]
282
295
) ,
283
296
. target(
@@ -291,7 +304,8 @@ var package = Package(
291
304
exclude: [ " swift-java.config " ] ,
292
305
swiftSettings: [
293
306
. swiftLanguageMode( . v5) ,
294
- ndkVersionDefine
307
+ ndkVersionDefine,
308
+ sdkVersionDefine
295
309
]
296
310
) ,
297
311
. target(
@@ -305,7 +319,8 @@ var package = Package(
305
319
exclude: [ " swift-java.config " ] ,
306
320
swiftSettings: [
307
321
. swiftLanguageMode( . v5) ,
308
- ndkVersionDefine
322
+ ndkVersionDefine,
323
+ sdkVersionDefine
309
324
]
310
325
) ,
311
326
. target(
@@ -320,7 +335,8 @@ var package = Package(
320
335
exclude: [ " swift-java.config " ] ,
321
336
swiftSettings: [
322
337
. swiftLanguageMode( . v5) ,
323
- ndkVersionDefine
338
+ ndkVersionDefine,
339
+ sdkVersionDefine
324
340
]
325
341
) ,
326
342
. target(
@@ -340,7 +356,8 @@ var package = Package(
340
356
exclude: [ " swift-java.config " ] ,
341
357
swiftSettings: [
342
358
. swiftLanguageMode( . v5) ,
343
- ndkVersionDefine
359
+ ndkVersionDefine,
360
+ sdkVersionDefine
344
361
]
345
362
) ,
346
363
. target(
@@ -356,7 +373,8 @@ var package = Package(
356
373
exclude: [ " swift-java.config " ] ,
357
374
swiftSettings: [
358
375
. swiftLanguageMode( . v5) ,
359
- ndkVersionDefine
376
+ ndkVersionDefine,
377
+ sdkVersionDefine
360
378
]
361
379
) ,
362
380
. target(
@@ -370,7 +388,8 @@ var package = Package(
370
388
exclude: [ " swift-java.config " ] ,
371
389
swiftSettings: [
372
390
. swiftLanguageMode( . v5) ,
373
- ndkVersionDefine
391
+ ndkVersionDefine,
392
+ sdkVersionDefine
374
393
]
375
394
) ,
376
395
. target(
@@ -387,7 +406,8 @@ var package = Package(
387
406
] ,
388
407
swiftSettings: [
389
408
. swiftLanguageMode( . v6) ,
390
- ndkVersionDefine
409
+ ndkVersionDefine,
410
+ sdkVersionDefine
391
411
] ,
392
412
linkerSettings: [
393
413
. linkedLibrary( " log " , . when( platforms: [ . android] ) )
@@ -408,7 +428,8 @@ var package = Package(
408
428
] ,
409
429
swiftSettings: [
410
430
. swiftLanguageMode( . v6) ,
411
- ndkVersionDefine
431
+ ndkVersionDefine,
432
+ sdkVersionDefine
412
433
] ,
413
434
linkerSettings: [
414
435
. linkedLibrary( " android " , . when( platforms: [ . android] ) )
0 commit comments