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 ./makeLinuxArm64.sh
#now we can do the delegated build #now we can do the delegated build
cd .. cd ..
# TODO collect static libraries from mac and windows build and include them in jvm resources automatically
#build libsodium bindings #build libsodium bindings
./gradlew multiplatform-crypto-libsodium-bindings:build ./gradlew multiplatform-crypto-libsodium-bindings:build

View File

@ -4,8 +4,7 @@ set -e
./gradlew multiplatform-crypto-api:build ./gradlew multiplatform-crypto-api:build
#now let's build linux deps #now let's build linux deps
cd sodiumWrapper cd sodiumWrapper
./makeMacosX86-64.sh ./makeMacosIosWatchosTvos.sh
./makeIosWatchosTvos.sh
#now we can do the delegated build #now we can do the delegated build
cd .. 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 ./gradlew multiplatform-crypto-api:build
#now let's build linux deps #now let's build linux deps
cd sodiumWrapper cd sodiumWrapper
./makeMacosX86-64.sh ./makeMacosIosWatchosTvos.sh
./makeIosWatchosTvos.sh
#now we can do the delegated build #now we can do the delegated build
cd .. cd ..
#libsodium bindings #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 set -e
#!/bin/sh #!/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 \ ./gradlew multiplatform-crypto-libsodium-bindings:publishIosArm32PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishIosArm64PublicationToSnapshotRepository \ 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 \ ./gradlew multiplatform-crypto-libsodium-bindings:publishWatchosArm32PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishWatchosArm64PublicationToSnapshotRepository \ 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 \ ./gradlew multiplatform-crypto-libsodium-bindings:publishTvosArm64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishTvosX64PublicationToSnapshotRepository multiplatform-crypto-libsodium-bindings:publishTvosX64PublicationToSnapshotRepository \
multiplatform-crypto-libsodium-bindings:publishTvosSimulatorArm64PublicationToSnapshotRepository
set +e set +e

View File

@ -156,6 +156,7 @@ kotlin {
} }
println("Configuring macos targets") println("Configuring macos targets")
iosX64() { iosX64() {
binaries { binaries {
framework { framework {
@ -170,7 +171,6 @@ kotlin {
} }
} }
} }
iosArm32() { iosArm32() {
binaries { binaries {
framework { framework {
@ -178,23 +178,7 @@ kotlin {
} }
} }
} }
macosX64() { iosSimulatorArm64() {
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() {
binaries { binaries {
framework { framework {
optimized = true optimized = true
@ -202,6 +186,28 @@ kotlin {
} }
} }
macosX64() {
binaries {
framework {
optimized = true
}
}
}
macosArm64() {
binaries {
framework {
optimized = true
}
}
}
tvosX64() {
binaries {
framework {
optimized = true
}
}
}
tvosArm64() { tvosArm64() {
binaries { binaries {
framework { framework {
@ -209,6 +215,13 @@ kotlin {
} }
} }
} }
tvosSimulatorArm64() {
binaries {
framework {
optimized = true
}
}
}
watchosArm64() { watchosArm64() {
binaries { binaries {
@ -217,7 +230,6 @@ kotlin {
} }
} }
} }
watchosArm32() { watchosArm32() {
binaries { binaries {
framework { framework {
@ -225,7 +237,6 @@ kotlin {
} }
} }
} }
watchosX86() { watchosX86() {
binaries { binaries {
framework { framework {
@ -233,6 +244,14 @@ kotlin {
} }
} }
} }
watchosSimulatorArm64() {
binaries {
framework {
optimized = true
}
}
}
println("Configuring Mingw targets") println("Configuring Mingw targets")
mingwX64() { mingwX64() {
binaries { binaries {
@ -309,13 +328,13 @@ kotlin {
//iosArm32, iosArm64, iosX64, macosX64, metadata, tvosArm64, tvosX64, watchosArm32, watchosArm64, watchosX86 //iosArm32, iosArm64, iosX64, macosX64, metadata, tvosArm64, tvosX64, watchosArm32, watchosArm64, watchosX86
val macos64Bit = setOf( val macos64Bit = setOf(
"macosX64" "macosX64", "macosArm64"
) )
val iosArm = setOf( val iosArm = setOf(
"iosArm64", "iosArm32" "iosArm64", "iosArm32"
) )
val iosSimulator = setOf( val iosSimulator = setOf(
"iosX64" "iosX64", "iosSimulatorArm64"
) )
val mingw64Bit = setOf( val mingw64Bit = setOf(
"mingwX64" "mingwX64"
@ -325,14 +344,14 @@ kotlin {
"tvosArm64" "tvosArm64"
) )
val tvosSimulator = setOf( val tvosSimulator = setOf(
"tvosX64" "tvosX64", "tvosSimulatorArm64"
) )
val watchosArm = setOf( val watchosArm = setOf(
"watchosArm32", "watchosArm64" "watchosArm32", "watchosArm64"
) )
val watchosSimulator = setOf( val watchosSimulator = setOf(
"watchosX86" "watchosX86", "watchosSimulatorArm64"
) )
targets.withType<KotlinNativeTarget> { targets.withType<KotlinNativeTarget> {
@ -365,6 +384,14 @@ kotlin {
} }
if (macos64Bit.contains(this@withType.name)) { if (macos64Bit.contains(this@withType.name)) {
defaultSourceSet.dependsOn(createWorkaroundNativeMainSourceSet(this@withType.name, nativeDependencies)) 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 //All ioses share the same static library
if (iosArm.contains(this@withType.name)) { 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/