diff --git a/multiplatform-crypto-delegated/build.gradle.kts b/multiplatform-crypto-delegated/build.gradle.kts index 15af90b..b2238ee 100644 --- a/multiplatform-crypto-delegated/build.gradle.kts +++ b/multiplatform-crypto-delegated/build.gradle.kts @@ -306,14 +306,23 @@ kotlin { "macosX64" ) val ios64Bit = setOf( - "iosArm64", "iosX64", "tvosArm64", "tvosX64" + "iosArm64", "iosX64", ) val ios32Bit = setOf( - "iosArm32", "watchosX86", "watchosArm32", "watchosArm64" + "iosArm32" ) val mingw64Bit = setOf( "mingwX64" ) + + val tvos64Bit = setOf( + "tvosArm64", "tvosX64" + ) + + val watchos32Bit = setOf( + "watchosX86", "watchosArm32", "watchosArm64" + ) + targets.withType { println("Target $name") @@ -352,6 +361,32 @@ kotlin { ) } + if (tvos64Bit.contains(this@withType.name)) { + defaultSourceSet.dependsOn(createWorkaroundNativeMainSourceSet(this@withType.name, nativeDependencies)) + println("Setting ios cinterop for $this") + val libsodiumCinterop by cinterops.creating { + defFile(project.file("src/nativeInterop/cinterop/libsodium.def")) + compilerOpts.add("-I${project.rootDir}/sodiumWrapper/static-tvos/include") + } + kotlinOptions.freeCompilerArgs = listOf( + "-include-binary", "${project.rootDir}/sodiumWrapper/static-tvos/lib/libsodium.a" + ) + } + + if (watchos32Bit.contains(this@withType.name)) { + defaultSourceSet.dependsOn(createWorkaround32bitNativeMainSourceSet(this@withType.name, nativeDependencies)) + println("Setting ios cinterop for $this") + val libsodiumCinterop by cinterops.creating { + defFile(project.file("src/nativeInterop/cinterop/libsodium.def")) + compilerOpts.add("-I${project.rootDir}/sodiumWrapper/static-watchos/include") + } + kotlinOptions.freeCompilerArgs = listOf( + "-include-binary", "${project.rootDir}/sodiumWrapper/static-watchos/lib/libsodium.a" + ) + } + + + } compilations.getByName("test") { println("Setting native test dep for $this@withType.name") diff --git a/sodiumWrapper/makeIos.sh b/sodiumWrapper/makeIos.sh index e4acfe3..a6660c3 100755 --- a/sodiumWrapper/makeIos.sh +++ b/sodiumWrapper/makeIos.sh @@ -1,6 +1,4 @@ -./configure +PREFIX=$PWD/static-ios cd libsodium -./dist-build/ios.sh -mkdir ../static-ios -cp -R ./libsodium-ios/lib ../static-ios/lib -cp -R ./libsodium-ios/include ../static-ios/include +./dist-build/ios.sh --prefix=$PREFIX + diff --git a/sodiumWrapper/makeTvos.sh b/sodiumWrapper/makeTvos.sh new file mode 100755 index 0000000..c3c92d5 --- /dev/null +++ b/sodiumWrapper/makeTvos.sh @@ -0,0 +1,4 @@ +PREFIX=$PWD/static-tvos +cd libsodium +./dist-build/tvos.sh --prefix=$PREFIX + diff --git a/sodiumWrapper/makeWatchos.sh b/sodiumWrapper/makeWatchos.sh new file mode 100755 index 0000000..3bad1cc --- /dev/null +++ b/sodiumWrapper/makeWatchos.sh @@ -0,0 +1,4 @@ +PREFIX=$PWD/static-watchos +cd libsodium +./dist-build/watchos.sh --prefix=$PREFIX +