Travis: When testing installation, build in separate dir, otherwise in checkout
The rationale is that installation from a tarball is a common task
that everyone performs. For all other builds, we do specialised
tests, and might as well build them directly in the checkout, which
also gives us fuzz corpora.
Reviewed-by: Emilia Käsper <emilia@openssl.org>
diff --git a/.travis.yml b/.travis.yml
index a278cb2..aee34cf 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -59,26 +59,38 @@
compiler: gcc
before_script:
- - sh .travis-create-release.sh $TRAVIS_OS_NAME
- - tar -xvzf _srcdist.tar.gz
- - mkdir _build;
- - cd _build;
+ - if [ -n "$DESTDIR" ]; then
+ sh .travis-create-release.sh $TRAVIS_OS_NAME;
+ tar -xvzf _srcdist.tar.gz;
+ mkdir _build;
+ cd _build;
+ srcdir=../_srcdist;
+ top=..;
+ else
+ srcdir=.;
+ top=.;
+ fi
- if [ "$CC" == i686-w64-mingw32-gcc ]; then
export CROSS_COMPILE=${CC%%gcc}; unset CC;
- ../_srcdist/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
+ $srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
export CROSS_COMPILE=${CC%%gcc}; unset CC;
- ../_srcdist/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
+ $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
else
if which ccache >/dev/null && [ "$CC" != clang-3.6 ]; then
CC="ccache $CC";
fi;
- ../_srcdist/config $CONFIG_OPTS;
+ $srcdir/config $CONFIG_OPTS;
fi
- - cd ..
+ - cd $top
script:
- - cd _build;
+ - if [ -n "$DESTDIR" ]; then
+ cd _build;
+ top=..;
+ else
+ top=.;
+ fi
- make update
- make
- if [ -z "$BUILDONLY" ]; then
@@ -93,7 +105,7 @@
mkdir "../$DESTDIR";
make install install_docs DESTDIR="../$DESTDIR";
fi
- - cd ..
+ - cd $top
notifications:
email: