xref: /aosp_15_r20/external/kotlinx.serialization/gradle/native-targets.gradle (revision 57b5a4a64c534cf7f27ac9427ceab07f3d8ed3d8)
1/*
2 * Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
3 */
4
5static def doesNotDependOnOkio(project) {
6    return !project.name.contains("json-okio") && !project.name.contains("json-tests")
7}
8
9kotlin {
10    applyDefaultHierarchyTemplate {
11
12        // According to https://kotlinlang.org/docs/native-target-support.html
13        // Tier 1
14        macosX64()
15        macosArm64()
16        iosSimulatorArm64()
17        iosX64()
18
19        // Tier 2
20        linuxX64()
21        linuxArm64()
22        watchosSimulatorArm64()
23        watchosX64()
24        watchosArm32()
25        watchosArm64()
26        tvosSimulatorArm64()
27        tvosX64()
28        tvosArm64()
29        iosArm64()
30
31        // Tier 3
32        mingwX64()
33        // https://github.com/square/okio/issues/1242#issuecomment-1759357336
34        if (doesNotDependOnOkio(project)) {
35            androidNativeArm32()
36            androidNativeArm64()
37            androidNativeX86()
38            androidNativeX64()
39            watchosDeviceArm64()
40
41            // Deprecated, but not removed
42            linuxArm32Hfp()
43        }
44    }
45}
46