1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
#!/bin/bash
set -eu
set -o pipefail
if [ -d `pwd`/mpich/bin ]; then
export PATH=`pwd`/mpich/bin:$PATH
fi
if [ -d `pwd`/texlive/bin ]; then
export PATH=`pwd`/texlive/bin/`uname -m`-linux:$PATH
fi
if [ -d `pwd`/formlib ]; then
export FORMPATH=`pwd`/formlib
fi
# Print all executed commands to the log.
set -x
case $CI_TARGET in
form)
autoreconf -iv
./configure --disable-dependency-tracking --enable-scalar --disable-threaded --disable-parform --with-gmp --with-zlib
make
./check/check.rb ./sources/form --stat
./check/check.rb ./sources/form --stat -C forcer --timeout 60
;;
tform)
autoreconf -iv
./configure --disable-dependency-tracking --disable-scalar --enable-threaded --disable-parform --with-gmp --with-zlib
make
./check/check.rb ./sources/tform --stat
./check/check.rb ./sources/tform --stat -C forcer --timeout 60
;;
parform)
autoreconf -iv
./configure --disable-dependency-tracking --disable-scalar --disable-threaded --enable-parform --with-gmp --with-zlib
make
./check/check.rb ./sources/parform --stat
;;
form-i386)
# Use Docker (travis-ci/travis-ci#5770).
docker exec -i -t build_test /bin/sh -c "export CI_TARGET=form && cd $(pwd) && linux32 --32bit i386 ./scripts/travis-script.sh"
;;
tform-i386)
# Use Docker (travis-ci/travis-ci#5770).
docker exec -i -t build_test /bin/sh -c "export CI_TARGET=tform && cd $(pwd) && linux32 --32bit i386 ./scripts/travis-script.sh"
;;
sanitize-vorm)
autoreconf -iv
./configure --disable-dependency-tracking --enable-scalar --disable-threaded --disable-parform --enable-debug --enable-sanitize --with-gmp --with-zlib
make -C sources vorm
./check/check.rb ./sources/vorm --stat --timeout 60
;;
sanitize-tvorm)
autoreconf -iv
./configure --disable-dependency-tracking --disable-scalar --enable-threaded --disable-parform --enable-debug --enable-sanitize --with-gmp --with-zlib
make -C sources tvorm
./check/check.rb ./sources/tvorm --stat --timeout 60
;;
sanitize-parvorm)
autoreconf -iv
./configure --disable-dependency-tracking --disable-scalar --disable-threaded --enable-parform --enable-debug --enable-sanitize --with-gmp --with-zlib
make -C sources parvorm
./check/check.rb ./sources/parvorm --stat --timeout 60
;;
coverage-vorm)
autoreconf -iv
./configure --disable-dependency-tracking --enable-scalar --disable-threaded --disable-parform --enable-debug --enable-coverage --with-gmp --with-zlib
make -C sources vorm
./check/check.rb ./sources/vorm --stat --timeout 30
;;
coverage-tvorm)
autoreconf -iv
./configure --disable-dependency-tracking --disable-scalar --enable-threaded --disable-parform --enable-debug --enable-coverage --with-gmp --with-zlib
make -C sources tvorm
./check/check.rb ./sources/tvorm --stat --timeout 30
;;
coverage-parvorm)
autoreconf -iv
./configure --disable-dependency-tracking --disable-scalar --disable-threaded --enable-parform --enable-debug --enable-coverage --with-gmp --with-zlib
make -C sources parvorm
./check/check.rb ./sources/parvorm --stat --timeout 30
;;
valgrind-vorm)
autoreconf -iv
./configure --disable-dependency-tracking --enable-scalar --disable-threaded --disable-parform --enable-debug --with-gmp --with-zlib
make -C sources vorm
./check/check.rb valgrind ./sources/vorm --stat $TEST
;;
valgrind-tvorm)
autoreconf -iv
./configure --disable-dependency-tracking --disable-scalar --enable-threaded --disable-parform --enable-debug --with-gmp --with-zlib
make -C sources tvorm
./check/check.rb valgrind ./sources/tvorm --stat $TEST
;;
valgrind-parvorm)
autoreconf -iv
./configure --disable-dependency-tracking --disable-scalar --disable-threaded --enable-parform --enable-debug --with-gmp --with-zlib
make -C sources parvorm
./check/check.rb valgrind ./sources/parvorm --stat $TEST
;;
src-release)
distname=form-`./scripts/git-version-gen.sh -r | sed '2q;d' | sed 's/^v//'`
distdir=$distname
autoreconf -iv
./configure --disable-dependency-tracking
make distdir=$distdir distcheck
ls -l $distdir.tar.gz && file $distdir.tar.gz
;;
doc-pdf-release)
distname=form-`./scripts/git-version-gen.sh -r | sed '2q;d' | sed 's/^v//'`
distname=$distname-manual
autoreconf -iv
./configure --disable-dependency-tracking
make pdf
cp doc/manual/manual.pdf $distname.pdf
ls -l $distname.pdf && file $distname.pdf
;;
doc-html-release)
distname=form-`./scripts/git-version-gen.sh -r | sed '2q;d' | sed 's/^v//'`
distdir=$distname-manual-html
autoreconf -iv
./configure --disable-dependency-tracking
make -C doc/manual latex2html
(
cd doc/manual/manual
rm -f images.aux images.idx images.log images.pl images.tex internals.pl labels.pl WARNINGS
)
cp -r doc/manual/manual $distdir
tar c $distdir/* | gzip -c -9 > $distdir.tar.gz
ls -l $distdir.tar.gz && file $distdir.tar.gz
;;
bin-release)
distname=form-`./scripts/git-version-gen.sh -r | sed '2q;d' | sed 's/^v//'`
distdir=$distname-`uname -m`-$TRAVIS_OS_NAME
autoreconf -iv
if [ "x$TRAVIS_OS_NAME" = xosx ]; then
# --static fails on macOS but we want to statically link to brewed gmp.
# The linker supports neither -Wl,-static nor -l:libgmp.a.
# Make a library directory with libgmp.a but without libgmp.dylib.
mkdir static-lib
ln -s /usr/local/opt/gmp/lib/libgmp.a static-lib/libgmp.a
export LIBRARY_PATH="`pwd`/static-lib:${LIBRARY_PATH:-}"
./configure --disable-dependency-tracking --disable-native --enable-scalar --enable-threaded
else
./configure --disable-dependency-tracking --enable-static-link --disable-native --enable-scalar --enable-threaded
fi
make
make check TEST_OPTS=--stat
mkdir $distdir
cp sources/form sources/tform $distdir
tar c $distdir/* | gzip -c -9 > $distdir.tar.gz
ls -l $distdir.tar.gz && file $distdir.tar.gz sources/form sources/tform
if [ "x$TRAVIS_OS_NAME" = xosx ]; then
otool -L sources/form sources/tform
# Check if gmp is statically linked.
if otool -L sources/form sources/tform | grep -q gmp; then
echo 'Error: failed to statically link to gmp' >&2
exit 1
fi
fi
;;
*)
echo "Error: unknown CI_TARGET=$CI_TARGET" >&2
exit 1
;;
esac
|