diff --git a/gradle/posix.gradle b/gradle/posix.gradle index 85887ab9b..6d1be644b 100644 --- a/gradle/posix.gradle +++ b/gradle/posix.gradle @@ -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 } } diff --git a/gradle/publish.gradle b/gradle/publish.gradle index 70fd199a7..a375ac248 100644 --- a/gradle/publish.gradle +++ b/gradle/publish.gradle @@ -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 } diff --git a/ktor-client/ktor-client-tests/ktor-client-tests-dispatcher/build.gradle.kts b/ktor-client/ktor-client-tests/ktor-client-tests-dispatcher/build.gradle.kts index 889e14aab..e1d6de578 100644 --- a/ktor-client/ktor-client-tests/ktor-client-tests-dispatcher/build.gradle.kts +++ b/ktor-client/ktor-client-tests/ktor-client-tests-dispatcher/build.gradle.kts @@ -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") + } } } } diff --git a/ktor-io/build.gradle b/ktor-io/build.gradle index 359b1a38a..90d450c09 100644 --- a/ktor-io/build.gradle +++ b/ktor-io/build.gradle @@ -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") } -// } -// } -// } } diff --git a/ktor-io/posix/interop/bits.def b/ktor-io/posix/interop/bits.def index 9c9e5d737..3fb64b8d4 100644 --- a/ktor-io/posix/interop/bits.def +++ b/ktor-io/posix/interop/bits.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