mirror of
https://github.com/jlengrand/ktor.git
synced 2026-03-10 08:31:20 +00:00
Add watchos/tvos native targets
This commit is contained in:
@@ -52,8 +52,13 @@ kotlin {
|
||||
fromPreset(presets.iosArm64, 'iosArm64')
|
||||
fromPreset(presets.iosArm32, 'iosArm32')
|
||||
fromPreset(presets.iosX64, 'iosX64')
|
||||
fromPreset(presets.tvosArm64, 'tvosArm64')
|
||||
fromPreset(presets.tvosX64, 'tvosX64')
|
||||
fromPreset(presets.watchosArm32, 'watchosArm32')
|
||||
fromPreset(presets.watchosArm64, 'watchosArm64')
|
||||
fromPreset(presets.watchosX86, 'watchosX86')
|
||||
|
||||
project.ext.nativeTargets = [iosX64, iosArm64, iosArm32, macosX64, linuxX64, mingwX64]
|
||||
project.ext.nativeTargets = [iosX64, iosArm64, iosArm32, macosX64, linuxX64, mingwX64, tvosArm64, tvosX64, watchosArm32, watchosArm64, watchosX86]
|
||||
}
|
||||
|
||||
def crossCompileTargets = [linuxX64, macosX64, mingwX64]
|
||||
@@ -91,11 +96,11 @@ kotlin {
|
||||
posixMain { dependsOn commonMain }
|
||||
|
||||
if (!project.ext.ideaActive) {
|
||||
configure([iosArm32Main, iosArm64Main, iosX64Main, macosX64Main, linuxX64Main, mingwX64Main]) {
|
||||
configure(project.ext.nativeTargets.collect { getByName(it.name + 'Main') }) {
|
||||
dependsOn posixMain
|
||||
}
|
||||
|
||||
configure([iosArm32Test, iosArm64Test, iosX64Test, macosX64Test, linuxX64Test, mingwX64Test]) {
|
||||
configure(project.ext.nativeTargets.collect { getByName(it.name + 'Test') }) {
|
||||
dependsOn posixTest
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ def isAvailableForPublication(publication) {
|
||||
result = result | (name in ['jvm', 'js', 'metadata', 'kotlinMultiplatform'])
|
||||
result = result | (project.ext.isLinuxHost && name == 'linuxX64')
|
||||
result = result | (project.ext.isWinHost && name == 'mingwX64')
|
||||
result = result | (project.ext.isMacosHost && name in ['iosX64', 'iosArm32', 'iosArm64', 'macosX64'])
|
||||
result = result | (project.ext.isMacosHost && name in ['iosX64', 'iosArm32', 'iosArm64', 'macosX64', 'watchosArm32', 'watchosArm64', 'watchosX86', 'tvosArm64', 'tvosX64'])
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -1,13 +1,35 @@
|
||||
val ideaActive: Boolean by project.extra
|
||||
|
||||
if (ideaActive) {
|
||||
kotlin {
|
||||
sourceSets {
|
||||
kotlin {
|
||||
sourceSets {
|
||||
if (ideaActive) {
|
||||
val posixIde by creating {
|
||||
kotlin.srcDir("posixIde/src")
|
||||
}
|
||||
|
||||
get("posixMain").dependsOn(posixIde)
|
||||
} else {
|
||||
configure(listOf(watchosArm32().compilations.get("main").defaultSourceSet)) {
|
||||
kotlin.srcDir("iosArm32/src")
|
||||
}
|
||||
|
||||
configure(
|
||||
listOf(
|
||||
watchosArm64().compilations.get("main").defaultSourceSet,
|
||||
tvosArm64().compilations.get("main").defaultSourceSet
|
||||
)
|
||||
) {
|
||||
kotlin.srcDir("iosArm64/src")
|
||||
}
|
||||
|
||||
configure(
|
||||
listOf(
|
||||
watchosX86().compilations.get("main").defaultSourceSet,
|
||||
tvosX64().compilations.get("main").defaultSourceSet
|
||||
)
|
||||
) {
|
||||
kotlin.srcDir("iosX64")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,6 @@
|
||||
kotlin {
|
||||
targets {
|
||||
def current = []
|
||||
if (project.ext.ideaActive) {
|
||||
current = [posix]
|
||||
} else {
|
||||
current = [iosX64, iosArm64, iosArm32, macosX64, linuxX64, mingwX64]
|
||||
}
|
||||
|
||||
configure(current) {
|
||||
configure(project.ext.nativeTargets) {
|
||||
compilations.main.cinterops {
|
||||
bits { defFile = file("posix/interop/bits.def") }
|
||||
sockets { defFile = file("posix/interop/sockets.def") }
|
||||
@@ -18,13 +11,4 @@ kotlin {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// infra {
|
||||
// shared {
|
||||
// compilations.main.cinterops {
|
||||
// bits { defFile = file("posix/interop/bits.def") }
|
||||
// sockets { defFile = file("posix/interop/sockets.def") }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package = io.ktor.utils.io.bits.internal.utils
|
||||
compilerOpts.mingw_x64 = -DM_ALLOW_UNALIGNED_ACCESS -DMINGW
|
||||
compilerOpts.linux_x64 = -DM_ALLOW_UNALIGNED_ACCESS
|
||||
compilerOpts.macos_x64 = -DM_ALLOW_UNALIGNED_ACCESS -DM_DARWIN
|
||||
compilerOpts.ios_arm32 = -DM_DARWIN
|
||||
compilerOpts.ios_arm64 = -DM_ALLOW_UNALIGNED_ACCESS -DM_DARWIN
|
||||
compilerOpts.ios_x64 = -DM_ALLOW_UNALIGNED_ACCESS -DM_DARWIN
|
||||
compilerOpts.android_arm64 = -DM_ALLOW_UNALIGNED_ACCESS
|
||||
compilerOpts.ios = -DM_DARWIN
|
||||
compilerOpts.osx = -DM_DARWIN
|
||||
compilerOpts.watchos = -DM_DARWIN
|
||||
compilerOpts.tvos = -DM_DARWIN
|
||||
compilerOpts.mingw = -DMINGW
|
||||
compilerOpts.x64 = -DM_ALLOW_UNALIGNED_ACCESS
|
||||
compilerOpts.x86 = -DM_ALLOW_UNALIGNED_ACCESS
|
||||
compilerOpts.arm64 = -DM_ALLOW_UNALIGNED_ACCESS
|
||||
---
|
||||
|
||||
#ifdef M_ALLOW_UNALIGNED_ACCESS
|
||||
|
||||
Reference in New Issue
Block a user