diff --git a/src/secp256k1/.travis.yml b/src/secp256k1/.travis.yml --- a/src/secp256k1/.travis.yml +++ b/src/secp256k1/.travis.yml @@ -2,60 +2,87 @@ sudo: false addons: apt: - packages: libgmp-dev + packages: + - libgmp-dev + - ninja-build compiler: - clang - gcc env: global: - - FIELD=auto BIGNUM=auto SCALAR=auto ENDOMORPHISM=no STATICPRECOMPUTATION=yes ASM=no BUILD=check EXTRAFLAGS= HOST= ECDH=no RECOVERY=no SCHNORR=yes EXPERIMENTAL=no JNI=no + - FIELD=auto BIGNUM=auto SCALAR=auto ENDOMORPHISM=no STATICPRECOMPUTATION=yes ASM=no BUILD=check EXTRAFLAGS= CMAKE_EXTRA= HOST= ECDH=no RECOVERY=no SCHNORR=yes EXPERIMENTAL=no JNI=no matrix: - - SCALAR=32bit RECOVERY=yes - - SCALAR=32bit FIELD=32bit ECDH=yes EXPERIMENTAL=yes - - SCALAR=64bit - - FIELD=64bit RECOVERY=yes - - FIELD=64bit ENDOMORPHISM=yes - - FIELD=64bit ENDOMORPHISM=yes ECDH=yes EXPERIMENTAL=yes - - FIELD=64bit ASM=x86_64 - - FIELD=64bit ENDOMORPHISM=yes ASM=x86_64 - - FIELD=32bit ENDOMORPHISM=yes - - BIGNUM=no - - BIGNUM=no ENDOMORPHISM=yes RECOVERY=yes EXPERIMENTAL=yes - - BIGNUM=no STATICPRECOMPUTATION=no - - BUILD=distcheck - - EXTRAFLAGS=CPPFLAGS=-DDETERMINISTIC - - EXTRAFLAGS=CFLAGS=-O0 - - BUILD=check-java JNI=yes ECDH=yes EXPERIMENTAL=yes - - SCHNORR=no + - BUILD_TOOLS=autotools SCALAR=32bit RECOVERY=yes + - BUILD_TOOLS=autotools SCALAR=32bit FIELD=32bit ECDH=yes EXPERIMENTAL=yes + - BUILD_TOOLS=autotools SCALAR=64bit + - BUILD_TOOLS=autotools FIELD=64bit RECOVERY=yes + - BUILD_TOOLS=autotools FIELD=64bit ENDOMORPHISM=yes + - BUILD_TOOLS=autotools FIELD=64bit ENDOMORPHISM=yes ECDH=yes EXPERIMENTAL=yes + - BUILD_TOOLS=autotools FIELD=64bit ASM=x86_64 + - BUILD_TOOLS=autotools FIELD=64bit ENDOMORPHISM=yes ASM=x86_64 + - BUILD_TOOLS=autotools FIELD=32bit ENDOMORPHISM=yes + - BUILD_TOOLS=autotools BIGNUM=no + - BUILD_TOOLS=autotools BIGNUM=no ENDOMORPHISM=yes RECOVERY=yes EXPERIMENTAL=yes + - BUILD_TOOLS=autotools BIGNUM=no STATICPRECOMPUTATION=no + - BUILD_TOOLS=autotools BUILD=distcheck + - BUILD_TOOLS=autotools EXTRAFLAGS=CPPFLAGS=-DDETERMINISTIC + - BUILD_TOOLS=autotools EXTRAFLAGS=CFLAGS=-O0 + - BUILD_TOOLS=autotools BUILD=check-java JNI=yes ECDH=yes EXPERIMENTAL=yes + - BUILD_TOOLS=autotools SCHNORR=no + - BUILD_TOOLS=cmake RECOVERY=yes + - BUILD_TOOLS=cmake ECDH=yes + - BUILD_TOOLS=cmake ASM=yes + - BUILD_TOOLS=cmake BIGNUM=no + - BUILD_TOOLS=cmake BIGNUM=no RECOVERY=yes + - BUILD_TOOLS=cmake BIGNUM=no STATICPRECOMPUTATION=no + - BUILD_TOOLS=cmake CMAKE_EXTRA=-DCMAKE_C_FLAGS=-DDETERMINISTIC + - BUILD_TOOLS=cmake CMAKE_EXTRA=-DCMAKE_BUILD_TYPE=Debug + - BUILD_TOOLS=cmake JNI=yes ECDH=yes + - BUILD_TOOLS=cmake SCHNORR=no matrix: fast_finish: true include: - compiler: clang - env: HOST=i686-linux-gnu ENDOMORPHISM=yes + env: BUILD_TOOLS=autotools HOST=i686-linux-gnu ENDOMORPHISM=yes addons: apt: packages: - gcc-multilib - libgmp-dev:i386 - compiler: clang - env: HOST=i686-linux-gnu + env: BUILD_TOOLS=autotools HOST=i686-linux-gnu addons: apt: packages: - gcc-multilib + - compiler: clang + env: BUILD_TOOLS=cmake HOST=i686-linux-gnu + addons: + apt: + packages: + - gcc-multilib + - ninja-build:i386 - compiler: gcc - env: HOST=i686-linux-gnu ENDOMORPHISM=yes + env: BUILD_TOOLS=autotools HOST=i686-linux-gnu ENDOMORPHISM=yes addons: apt: packages: - gcc-multilib - compiler: gcc - env: HOST=i686-linux-gnu + env: BUILD_TOOLS=autotools HOST=i686-linux-gnu addons: apt: packages: - gcc-multilib - libgmp-dev:i386 + - compiler: gcc + env: BUILD_TOOLS=cmake HOST=i686-linux-gnu + addons: + apt: + packages: + - gcc-multilib + - ninja-build:i386 script: - - ./travis/build_autotools.sh + - if [ "x$BUILD_TOOLS" = "xautotools" ]; then ./travis/build_autotools.sh; fi + - if [ "x$BUILD_TOOLS" = "xcmake" ]; then ./travis/build_cmake.sh; fi os: linux diff --git a/src/secp256k1/travis/build_cmake.sh b/src/secp256k1/travis/build_cmake.sh new file mode 100755 --- /dev/null +++ b/src/secp256k1/travis/build_cmake.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +export LC_ALL=C + +set -ex + +if [ "x$HOST" = "xi686-linux-gnu" ]; then + TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=../cmake/platforms/Linux32.cmake" +fi + +if [ "x$BIGNUM" = "xno" ]; then + USE_GMP="-DGMP_LIBRARY=OFF" +fi + +mkdir -p buildcmake +pushd buildcmake + +cmake -GNinja .. \ + -DSECP256K1_ECMULT_STATIC_PRECOMPUTATION=$STATICPRECOMPUTATION \ + -DSECP256K1_ENABLE_MODULE_ECDH=$ECDH \ + -DSECP256K1_ENABLE_MODULE_RECOVERY=$RECOVERY \ + -DSECP256K1_ENABLE_MODULE_SCHNORR=$SCHNORR \ + -DSECP256K1_ENABLE_JNI=$JNI \ + -DUSE_ASM_X86_64=$ASM \ + $CMAKE_EXTRA \ + $USE_GMP \ + $TOOLCHAIN_FILE \ + +ninja check-secp256k1 + +popd