Build script cleanup

This commit is contained in:
Ugljesa Jovanovic 2021-09-22 22:35:25 +02:00
parent 140947e249
commit 4833eaaea2
No known key found for this signature in database
GPG Key ID: 178E6DFCECCB0E0F
16 changed files with 64 additions and 159 deletions

View File

@ -15,6 +15,7 @@ fi
./makeLinuxArm64.sh
#now we can do the delegated build
cd ..
# TODO collect static libraries from mac and windows build and include them in jvm resources automatically
#build libsodium bindings
./gradlew multiplatform-crypto-libsodium-bindings:build

View File

@ -4,8 +4,7 @@ set -e
./gradlew multiplatform-crypto-api:build
#now let's build linux deps
cd sodiumWrapper
./makeMacosX86-64.sh
./makeIosWatchosTvos.sh
./makeMacosIosWatchosTvos.sh
#now we can do the delegated build
cd ..
set +e
set +e

View File

@ -1,17 +0,0 @@
set -e
#!/bin/sh
#this will hopefully download all konan dependancies that we use in the build scripts
./gradlew multiplatform-crypto-api:build
#now let's build linux deps
cd sodiumWrapper
./makeMacosX86-64.sh
./makeIos.sh
#now we can do the delegated build of ios and macos libraries
cd ..
./gradlew multiplatform-crypto-libsodium-bindings:iosArm32MainKlibrary multiplatform-crypto-libsodium-bindings:iosArm32TestKlibrary \
multiplatform-crypto-libsodium-bindings:iosArm64MainKlibrary multiplatform-crypto-libsodium-bindings:iosArm64TestKlibrary \
multiplatform-crypto-libsodium-bindings:iosX64MainKlibrary multiplatform-crypto-libsodium-bindings:iosX64TestKlibrary
./gradlew multiplatform-crypto-libsodium-bindings:iosX64Test
set +e

View File

@ -1,14 +0,0 @@
set -e
#!/bin/sh
#this will hopefully download all konan dependancies that we use in the build scripts
./gradlew multiplatform-crypto-api:build
#now let's build linux deps
cd sodiumWrapper
./makeMacosX86-64.sh
./makeIos.sh
#now we can do the delegated build of ios and macos libraries
cd ..
./gradlew multiplatform-crypto-libsodium-bindings:macosX64MainKlibrary multiplatform-crypto-libsodium-bindings:macosX64TestKlibrary
./gradlew multiplatform-crypto-libsodium-bindings:macosX64Test
set +e

View File

@ -1,14 +0,0 @@
set -e
#!/bin/sh
#this will hopefully download all konan dependancies that we use in the build scripts
./gradlew multiplatform-crypto-api:build
#now let's build linux deps
cd sodiumWrapper
./makeTvos.sh
#now we can do the delegated build of ios and macos libraries
cd ..
./gradlew multiplatform-crypto-libsodium-bindings:tvosArm64MainKlibrary multiplatform-crypto-libsodium-bindings:tvosArm64TestKlibrary \
multiplatform-crypto-libsodium-bindings:tvosX64MainKlibrary multiplatform-crypto-libsodium-bindings:tvosX64TestKlibrary
./gradlew multiplatform-crypto-libsodium-bindings:tvosX64Test
set +e

View File

@ -1,15 +0,0 @@
set -e
#!/bin/sh
#this will hopefully download all konan dependancies that we use in the build scripts
./gradlew multiplatform-crypto-api:build
#now let's build linux deps
cd sodiumWrapper
./makeWatchos.sh
#now we can do the delegated build of ios and macos libraries
cd ..
./gradlew multiplatform-crypto-libsodium-bindings:watchosArm32MainKlibrary multiplatform-crypto-libsodium-bindings:watchosArm32TestKlibrary \
multiplatform-crypto-libsodium-bindings:watchosArm64MainKlibrary multiplatform-crypto-libsodium-bindings:watchosArm64TestKlibrary \
multiplatform-crypto-libsodium-bindings:watchosX86MainKlibrary multiplatform-crypto-libsodium-bindings:watchosX86TestKlibrary
./gradlew multiplatform-crypto-libsodium-bindings:watchosX86Test
set +e

View File

@ -4,8 +4,7 @@ set -e
./gradlew multiplatform-crypto-api:build
#now let's build linux deps
cd sodiumWrapper
./makeMacosX86-64.sh
./makeIosWatchosTvos.sh
./makeMacosIosWatchosTvos.sh
#now we can do the delegated build
cd ..
#libsodium bindings

View File

@ -1,15 +0,0 @@
set -e
#!/bin/sh
#this will hopefully download all konan dependancies that we use in the build scripts
./gradlew multiplatform-crypto-api:build
#now let's build linux deps
cd sodiumWrapper
./makeMacosX86-64.sh
./makeIos.sh
#now we can do the delegated build of ios and macos libraries
cd ..
./gradlew multiplatform-crypto-libsodium-bindings:publishIosArm32PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishIosArm64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishIosX64PublicationToSnapshotRepository
set +e

View File

@ -1,12 +0,0 @@
set -e
#!/bin/sh
#this will hopefully download all konan dependancies that we use in the build scripts
./gradlew multiplatform-crypto-api:build
#now let's build linux deps
cd sodiumWrapper
./makeMacosX86-64.sh
#now we can do the delegated build of ios and macos libraries
cd ..
./gradlew multiplatform-crypto-libsodium-bindings:publishMacosX64PublicationToSnapshotRepository
set +e

View File

@ -1,14 +0,0 @@
set -e
#!/bin/sh
#this will hopefully download all konan dependancies that we use in the build scripts
./gradlew multiplatform-crypto-api:build
#now let's build linux deps
cd sodiumWrapper
./makeWatchos.sh
#now we can do the delegated build of ios and macos libraries
cd ..
./gradlew multiplatform-crypto-libsodium-bindings:publishWatchosArm32PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishWatchosArm64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishWatchosX86PublicationToSnapshotRepository
set +e

View File

@ -1,15 +1,20 @@
set -e
#!/bin/sh
./gradlew multiplatform-crypto-libsodium-bindings:publishMacosX64PublicationToSnapshotRepository
./gradlew multiplatform-crypto-libsodium-bindings:publishMacosX64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishMacosArm64PublicationToSnapshotRepository
./gradlew multiplatform-crypto-libsodium-bindings:publishIosArm32PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishIosArm64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishIosX64PublicationToSnapshotRepository
multiplatform-crypto-libsodium-bindings:publishIosX64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishIosSimulatorArm64PublicationToSnapshotRepository
./gradlew multiplatform-crypto-libsodium-bindings:publishWatchosArm32PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishWatchosArm64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishWatchosX86PublicationToSnapshotRepository
multiplatform-crypto-libsodium-bindings:publishWatchosX86PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishWatchosSimulatorArm64PublicationToSnapshotRepository
./gradlew multiplatform-crypto-libsodium-bindings:publishTvosArm64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishTvosX64PublicationToSnapshotRepository
multiplatform-crypto-libsodium-bindings:publishTvosX64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishTvosSimulatorArm64PublicationToSnapshotRepository
set +e

View File

@ -156,6 +156,7 @@ kotlin {
}
println("Configuring macos targets")
iosX64() {
binaries {
framework {
@ -170,7 +171,6 @@ kotlin {
}
}
}
iosArm32() {
binaries {
framework {
@ -178,23 +178,7 @@ kotlin {
}
}
}
macosX64() {
binaries {
framework {
optimized = true
}
}
compilations.getByName("main") {
val libsodiumCinterop by cinterops.creating {
defFile(projectRef.file("src/nativeInterop/cinterop/libsodium.def"))
compilerOpts.add("-I${projectRef.rootDir}/sodiumWrapper/static-macos-x86-64/include")
}
kotlinOptions.freeCompilerArgs = listOf(
"-include-binary", "${projectRef.rootDir}/sodiumWrapper/static-macos-x86-64/lib/libsodium.a"
)
}
}
tvosX64() {
iosSimulatorArm64() {
binaries {
framework {
optimized = true
@ -202,6 +186,28 @@ kotlin {
}
}
macosX64() {
binaries {
framework {
optimized = true
}
}
}
macosArm64() {
binaries {
framework {
optimized = true
}
}
}
tvosX64() {
binaries {
framework {
optimized = true
}
}
}
tvosArm64() {
binaries {
framework {
@ -209,6 +215,13 @@ kotlin {
}
}
}
tvosSimulatorArm64() {
binaries {
framework {
optimized = true
}
}
}
watchosArm64() {
binaries {
@ -217,7 +230,6 @@ kotlin {
}
}
}
watchosArm32() {
binaries {
framework {
@ -225,7 +237,6 @@ kotlin {
}
}
}
watchosX86() {
binaries {
framework {
@ -233,6 +244,14 @@ kotlin {
}
}
}
watchosSimulatorArm64() {
binaries {
framework {
optimized = true
}
}
}
println("Configuring Mingw targets")
mingwX64() {
binaries {
@ -309,13 +328,13 @@ kotlin {
//iosArm32, iosArm64, iosX64, macosX64, metadata, tvosArm64, tvosX64, watchosArm32, watchosArm64, watchosX86
val macos64Bit = setOf(
"macosX64"
"macosX64", "macosArm64"
)
val iosArm = setOf(
"iosArm64", "iosArm32"
)
val iosSimulator = setOf(
"iosX64"
"iosX64", "iosSimulatorArm64"
)
val mingw64Bit = setOf(
"mingwX64"
@ -325,14 +344,14 @@ kotlin {
"tvosArm64"
)
val tvosSimulator = setOf(
"tvosX64"
"tvosX64", "tvosSimulatorArm64"
)
val watchosArm = setOf(
"watchosArm32", "watchosArm64"
)
val watchosSimulator = setOf(
"watchosX86"
"watchosX86", "watchosSimulatorArm64"
)
targets.withType<KotlinNativeTarget> {
@ -365,6 +384,14 @@ kotlin {
}
if (macos64Bit.contains(this@withType.name)) {
defaultSourceSet.dependsOn(createWorkaroundNativeMainSourceSet(this@withType.name, nativeDependencies))
println("Setting macos cinterop for $this")
val libsodiumCinterop by cinterops.creating {
defFile(projectRef.file("src/nativeInterop/cinterop/libsodium.def"))
compilerOpts.add("-I${projectRef.rootDir}/sodiumWrapper/static-macos/include")
}
kotlinOptions.freeCompilerArgs = listOf(
"-include-binary", "${projectRef.rootDir}/sodiumWrapper/static-macos/lib/libsodium.a"
)
}
//All ioses share the same static library
if (iosArm.contains(this@withType.name)) {

View File

@ -1,5 +0,0 @@
#!/bin/sh
./configureMacos64.sh
make -j32 -C libsodium clean
make -j32 -C libsodium
make -j32 -C libsodium install

View File

@ -1,11 +0,0 @@
cd libsodium
./autogen.sh -s -f
./configure --prefix=$PREFIX "$@"
./dist-build/tvos.sh
mkdir ../static-tvos
cp -R ./libsodium-tvos/lib ../static-tvos/lib
cp -R ./libsodium-tvos/include ../static-tvos/include
rm -r ./libsodium-tvos/

View File

@ -1,9 +0,0 @@
cd libsodium
./autogen.sh -s -f
./configure --prefix=$PREFIX "$@"
./dist-build/watchos.sh
mkdir ../static-watchos
cp -R ./libsodium-watchos/lib ../static-watchos/lib
cp -R ./libsodium-watchos/include ../static-watchos/include
rm -r ./libsodium-watchos/