Add macos build targets (#104)

* Add macos build targets

* Update snapshot publishing script
This commit is contained in:
Fabrice Drouin 2024-03-04 17:58:20 +01:00 committed by GitHub
parent b2eb68bf83
commit bae4744bcb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 69 additions and 39 deletions

View File

@ -58,6 +58,14 @@ kotlin {
secp256k1CInterop("host") secp256k1CInterop("host")
} }
macosX64 {
secp256k1CInterop("host")
}
macosArm64 {
secp256k1CInterop("host")
}
iosX64 { iosX64 {
secp256k1CInterop("ios") secp256k1CInterop("ios")
} }

View File

@ -6,6 +6,7 @@ org.gradle.parallel = true
kotlin.code.style = official kotlin.code.style = official
kotlin.native.ignoreDisabledTargets = true kotlin.native.ignoreDisabledTargets = true
kotlin.mpp.enableCInteropCommonization=true kotlin.mpp.enableCInteropCommonization=true
kotlin.native.cacheKind.macosArm64=none
# Android # Android
android.useAndroidX = true android.useAndroidX = true

View File

@ -23,7 +23,11 @@ else
fi fi
./autogen.sh ./autogen.sh
./configure $CONF_OPTS --enable-experimental --enable-module_ecdh --enable-module-recovery --enable-module-schnorrsig --enable-module-musig --enable-benchmark=no --enable-shared=no --enable-exhaustive-tests=no --enable-tests=no if [ "$TARGET" == "darwin" ]; then
CFLAGS="-arch arm64 -arch x86_64" ./configure $CONF_OPTS --enable-experimental --enable-module_ecdh --enable-module-recovery --enable-module-schnorrsig --enable-module-musig --enable-benchmark=no --enable-shared=no --enable-exhaustive-tests=no --enable-tests=no
else
./configure $CONF_OPTS --enable-experimental --enable-module_ecdh --enable-module-recovery --enable-module-schnorrsig --enable-module-musig --enable-benchmark=no --enable-shared=no --enable-exhaustive-tests=no --enable-tests=no
fi
make clean make clean
make make

View File

@ -21,45 +21,52 @@ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/conte
-Djavadoc=$ARTIFACT_ID_BASE-$VERSION-javadoc.jar -Djavadoc=$ARTIFACT_ID_BASE-$VERSION-javadoc.jar
popd popd
pushd . pushd .
for i in iosarm64 iossimulatorarm64 iosx64 jni-android jni-common jni-jvm-darwin jni-jvm-extract jni-jvm-linux jni-jvm-mingw jni-jvm jvm linuxx64; do for i in iosarm64 iossimulatorarm64 iosx64 macosarm64 macosx64 jni-android jni-common jni-jvm-darwin jni-jvm-extract jni-jvm-linux jni-jvm-mingw jni-jvm jvm linuxx64; do
cd fr/acinq/secp256k1/secp256k1-kmp-$i/$VERSION cd fr/acinq/secp256k1/secp256k1-kmp-$i/$VERSION
if [ $i == iosarm64 ] || [ $i == iossimulatorarm64 ] || [ $i == iosx64 ]; then
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \ case $i in
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \ iosarm64 | iossimulatorarm64 | iosx64 | macosarm64 | macosx64)
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.klib \ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
-Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION-metadata.jar,$ARTIFACT_ID_BASE-$i-$VERSION.module,$ARTIFACT_ID_BASE-$i-$VERSION-cinterop-libsecp256k1.klib \ -DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
-Dtypes=jar,module,klib \ -Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.klib \
-Dclassifiers=metadata,,cinterop-libsecp256k1 \ -Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION-metadata.jar,$ARTIFACT_ID_BASE-$i-$VERSION.module,$ARTIFACT_ID_BASE-$i-$VERSION-cinterop-libsecp256k1.klib \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \ -Dtypes=jar,module,klib \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar -Dclassifiers=metadata,,cinterop-libsecp256k1 \
elif [ $i == linuxx64 ]; then -Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \ -Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \ ;;
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.klib \ linuxx64)
-Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module,$ARTIFACT_ID_BASE-$i-$VERSION-cinterop-libsecp256k1.klib \ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
-Dtypes=module,klib \ -DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
-Dclassifiers=,cinterop-libsecp256k1 \ -Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.klib \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \ -Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module,$ARTIFACT_ID_BASE-$i-$VERSION-cinterop-libsecp256k1.klib \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar -Dtypes=module,klib \
elif [ $i == jni-android ]; then -Dclassifiers=,cinterop-libsecp256k1 \
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \ -Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \ -Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.aar \ ;;
-Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module \ jni-android)
-Dtypes=module \ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
-Dclassifiers= \ -DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \ -Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.aar \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar -Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module \
else -Dtypes=module \
mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \ -Dclassifiers= \
-DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \ -Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \
-Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.jar \ -Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar
-Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module \ ;;
-Dtypes=module \ *)
-Dclassifiers= \ mvn deploy:deploy-file -DrepositoryId=ossrh -Durl=https://oss.sonatype.org/content/repositories/snapshots/ \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \ -DpomFile=$ARTIFACT_ID_BASE-$i-$VERSION.pom \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar -Dfile=$ARTIFACT_ID_BASE-$i-$VERSION.jar \
fi -Dfiles=$ARTIFACT_ID_BASE-$i-$VERSION.module \
-Dtypes=module \
-Dclassifiers= \
-Dsources=$ARTIFACT_ID_BASE-$i-$VERSION-sources.jar \
-Djavadoc=$ARTIFACT_ID_BASE-$i-$VERSION-javadoc.jar
;;
esac
popd popd
pushd . pushd .
done done

View File

@ -7,6 +7,14 @@ staticLibraries.linux = libsecp256k1.a
libraryPaths.linux = c/secp256k1/build/linux/ native/build/linux/ native/build/darwin/ libraryPaths.linux = c/secp256k1/build/linux/ native/build/linux/ native/build/darwin/
linkerOpts.linux = -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib linkerOpts.linux = -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib
staticLibraries.macos_x64 = libsecp256k1.a
libraryPaths.macos_x64 = c/secp256k1/build/darwin/ native/build/darwin/
linkerOpts.macos_x64 = -framework Security -framework Foundation
staticLibraries.macos_arm64 = libsecp256k1.a
libraryPaths.macos_arm64 = c/secp256k1/build/darwin/ native/build/darwin/
linkerOpts.macos_arm64 = -framework Security -framework Foundation
staticLibraries.ios = libsecp256k1.a staticLibraries.ios = libsecp256k1.a
libraryPaths.ios_x64 = c/secp256k1/build/ios/ /usr/local/lib native/build/ios/ libraryPaths.ios_x64 = c/secp256k1/build/ios/ /usr/local/lib native/build/ios/
libraryPaths.ios_arm64 = c/secp256k1/build/ios/ /usr/local/lib native/build/ios/ libraryPaths.ios_arm64 = c/secp256k1/build/ios/ /usr/local/lib native/build/ios/

View File

@ -57,6 +57,8 @@ kotlin {
} }
linuxX64() linuxX64()
macosX64()
macosArm64()
iosX64() iosX64()
iosArm64() iosArm64()
iosSimulatorArm64() iosSimulatorArm64()