Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F10615297
build_autotools.sh
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
build_autotools.sh
View Options
#!/usr/bin/env bash
export
LC_ALL
=
C
set
-ex
# FIXME The java tests will fail on macOS with autotools due to the
# libsepc256k1_jni library referencing the libsecp256k1 library with an absolute
# path. This needs to be rewritten with install_name_tool to use relative paths
# via the @variables supported by the macOS loader.
if
[
"
$TRAVIS_OS_NAME
"
=
"osx"
]
&&
[
"
$JNI
"
=
"yes"
]
then
echo
"Skipping the java tests built with autotools on OSX"
exit
0
fi
if
[
-n
"
$HOST
"
]
;
then
USE_HOST
=
"--host=
$HOST
"
fi
if
[
"x
$HOST
"
=
"xi686-linux-gnu"
]
;
then
CC
=
"
$CC
-m32"
fi
if
[
"
$TRAVIS_OS_NAME
"
=
"osx"
]
&&
[
"
$TRAVIS_COMPILER
"
=
"gcc"
]
then
CC
=
"gcc-9"
fi
$CC
--version
./autogen.sh
mkdir buildautotools
pushd
buildautotools
../configure
\
--enable-experimental
=
$EXPERIMENTAL
\
--with-test-override-wide-multiply
=
$WIDEMUL
\
--with-bignum
=
$BIGNUM
\
--with-asm
=
$ASM
\
--enable-ecmult-static-precomputation
=
$STATICPRECOMPUTATION
\
--with-ecmult-gen-precision
=
$ECMULTGENPRECISION
\
--enable-module-ecdh
=
$ECDH
\
--enable-module-multiset
=
$MULTISET
\
--enable-module-recovery
=
$RECOVERY
\
--enable-module-schnorr
=
$SCHNORR
\
--enable-module-schnorrsig
=
$SCHNORRSIG
\
--enable-jni
=
$JNI
\
--enable-openssl-tests
=
$OPENSSL_TESTS
\
--with-valgrind
=
$WITH_VALGRIND
\
$AUTOTOOLS_EXTRA_FLAGS
\
$USE_HOST
print_logs
()
{
cat tests.log
||
:
cat exhaustive_tests.log
||
:
cat valgrind_ctime_test.log
||
:
cat bench.log
||
:
}
trap
'print_logs'
ERR
make -j2
$AUTOTOOLS_TARGET
if
[
"
$RUN_VALGRIND
"
=
"yes"
]
;
then
# the `--error-exitcode` is required to make the test fail if valgrind found
# errors, otherwise it'll return 0
# (https://www.valgrind.org/docs/manual/manual-core.html)
valgrind --error-exitcode
=
42
./tests
16
valgrind --error-exitcode
=
42
./exhaustive_tests
fi
if
[
"
$BENCH
"
=
"yes"
]
;
then
if
[
"
$RUN_VALGRIND
"
=
"yes"
]
;
then
# Using the local `libtool` because on macOS the system's libtool has
# nothing to do with GNU libtool
EXEC
=
'./libtool --mode=execute valgrind --error-exitcode=42'
;
else
EXEC
=
;
fi
$EXEC
./bench_ecmult >> bench.log
2
>
&
1
$EXEC
./bench_internal >> bench.log
2
>
&
1
$EXEC
./bench_sign >> bench.log
2
>
&
1
$EXEC
./bench_verify >> bench.log
2
>
&
1
if
[
"
$RECOVERY
"
==
"yes"
]
;
then
$EXEC
./bench_recover >> bench.log
2
>
&
1
fi
if
[
"
$ECDH
"
==
"yes"
]
;
then
$EXEC
./bench_ecdh >> bench.log
2
>
&
1
fi
if
[
"
$MULTISET
"
==
"yes"
]
;
then
$EXEC
./bench_multiset >> bench.log
2
>
&
1
fi
if
[
"
$SCHNORRSIG
"
==
"yes"
]
;
then
$EXEC
./bench_schnorrsig >> bench.log
2
>
&
1
fi
fi
if
[
"
$CTIMETEST
"
=
"yes"
]
;
then
./libtool --mode
=
execute valgrind --error-exitcode
=
42
./valgrind_ctime_test > valgrind_ctime_test.log
2
>
&
1
fi
popd
File Metadata
Details
Attached
Mime Type
text/x-shellscript
Expires
Sat, Nov 23, 10:04 (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4559238
Default Alt Text
build_autotools.sh (2 KB)
Attached To
rSTAGING Bitcoin ABC staging
Event Timeline
Log In to Comment