aboutsummaryrefslogtreecommitdiff
path: root/travis
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-02-08 16:34:52 +0100
committerEven Rouault <even.rouault@spatialys.com>2020-02-08 16:34:52 +0100
commit888e1b1553d4ee19172474f946503fa38885fc60 (patch)
treecf8f44fde2d19b4debdf4fd9485c0b01f73c7a9b /travis
parent5bb1920a5bdc3bc3e958a00e15fc449c3d2b8bd2 (diff)
downloadPROJ-888e1b1553d4ee19172474f946503fa38885fc60.tar.gz
PROJ-888e1b1553d4ee19172474f946503fa38885fc60.zip
Travis: do only builds that test with all grids on -O2 builds that are slower to build
Diffstat (limited to 'travis')
-rwxr-xr-xtravis/install.sh188
1 files changed, 97 insertions, 91 deletions
diff --git a/travis/install.sh b/travis/install.sh
index d7749239..953a7f0b 100755
--- a/travis/install.sh
+++ b/travis/install.sh
@@ -21,78 +21,81 @@ wget "https://github.com/OSGeo/proj-datumgrid/blob/master/north-america/ntv2_0.g
./autogen.sh
TOP_DIR=$PWD
-# autoconf build
-mkdir build_autoconf
-cd build_autoconf
-../configure
-make dist-all
-# Check consistency of generated tarball
-TAR_FILENAME=`ls *.tar.gz`
-TAR_DIRECTORY=`basename $TAR_FILENAME .tar.gz`
-tar xvzf $TAR_FILENAME
-cd $TAR_DIRECTORY
-
-# There's a nasty #define CS in a Solaris system header. Avoid being caught about that again
-CXXFLAGS="-DCS=do_not_use_CS_for_solaris_compat $CXXFLAGS"
-
-# autoconf build from generated tarball
-mkdir build_autoconf
-cd build_autoconf
-../configure --prefix=/tmp/proj_autoconf_install_from_dist_all
-
-make -j${NPROC}
+if [ "$SKIP_BUILDS_WITHOUT_GRID" != "yes" ]; then
+
+ # autoconf build
+ mkdir build_autoconf
+ cd build_autoconf
+ ../configure
+ make dist-all
+ # Check consistency of generated tarball
+ TAR_FILENAME=`ls *.tar.gz`
+ TAR_DIRECTORY=`basename $TAR_FILENAME .tar.gz`
+ tar xvzf $TAR_FILENAME
+ cd $TAR_DIRECTORY
+
+ # There's a nasty #define CS in a Solaris system header. Avoid being caught about that again
+ CXXFLAGS="-DCS=do_not_use_CS_for_solaris_compat $CXXFLAGS"
+
+ # autoconf build from generated tarball
+ mkdir build_autoconf
+ cd build_autoconf
+ ../configure --prefix=/tmp/proj_autoconf_install_from_dist_all
+
+ make -j${NPROC}
+
+ if [ "$(uname)" == "Linux" -a -f src/.libs/libproj.so ]; then
+ if objdump -TC "$1" | grep "elf64-x86-64">/dev/null; then
+ echo "Checking exported symbols..."
+ ${TOP_DIR}/scripts/dump_exported_symbols.sh src/.libs/libproj.so > /tmp/got_symbols.txt
+ diff -u ${TOP_DIR}/scripts/reference_exported_symbols.txt /tmp/got_symbols.txt || (echo "Difference(s) found in exported symbols. If intended, refresh scripts/reference_exported_symbols.txt with 'scripts/dump_exported_symbols.sh src/.libs/libproj.so > scripts/reference_exported_symbols.txt'"; exit 1)
+ fi
+ fi
-if [ "$(uname)" == "Linux" -a -f src/.libs/libproj.so ]; then
- if objdump -TC "$1" | grep "elf64-x86-64">/dev/null; then
- echo "Checking exported symbols..."
- ${TOP_DIR}/scripts/dump_exported_symbols.sh src/.libs/libproj.so > /tmp/got_symbols.txt
- diff -u ${TOP_DIR}/scripts/reference_exported_symbols.txt /tmp/got_symbols.txt || (echo "Difference(s) found in exported symbols. If intended, refresh scripts/reference_exported_symbols.txt with 'scripts/dump_exported_symbols.sh src/.libs/libproj.so > scripts/reference_exported_symbols.txt'"; exit 1)
- fi
+ make check
+ make install
+ find /tmp/proj_autoconf_install_from_dist_all
+
+ /tmp/proj_autoconf_install_from_dist_all/bin/projinfo EPSG:32631 -o PROJJSON -q > out.json
+ cat out.json
+ echo "Validating JSON"
+ jsonschema -i out.json /tmp/proj_autoconf_install_from_dist_all/share/proj/projjson.schema.json && echo "Valid !"
+
+ /tmp/proj_autoconf_install_from_dist_all/bin/projinfo EPSG:4326+3855 -o PROJJSON -q > out.json
+ cat out.json
+ echo "Validating JSON"
+ jsonschema -i out.json /tmp/proj_autoconf_install_from_dist_all/share/proj/projjson.schema.json && echo "Valid !"
+
+ /tmp/proj_autoconf_install_from_dist_all/bin/projinfo "+proj=longlat +ellps=GRS80 +nadgrids=@foo +type=crs" -o PROJJSON -q > out.json
+ cat out.json
+ echo "Validating JSON"
+ jsonschema -i out.json /tmp/proj_autoconf_install_from_dist_all/share/proj/projjson.schema.json && echo "Valid !"
+ /tmp/proj_autoconf_install_from_dist_all/bin/projinfo @out.json -o PROJJSON -q > out2.json
+ diff -u out.json out2.json
+
+ /tmp/proj_autoconf_install_from_dist_all/bin/projinfo -s EPSG:3111 -t GDA2020 -o PROJJSON -o PROJJSON -q > out.json
+ cat out.json
+ echo "Validating JSON"
+ jsonschema -i out.json /tmp/proj_autoconf_install_from_dist_all/share/proj/projjson.schema.json && echo "Valid !"
+ /tmp/proj_autoconf_install_from_dist_all/bin/projinfo @out.json -o PROJJSON -q > out2.json
+ diff -u out.json out2.json
+
+ cd ..
+
+ # cmake build from generated tarball
+ mkdir build_cmake
+ cd build_cmake
+ cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/proj_cmake_install
+ VERBOSE=1 make -j${NPROC}
+ make install
+ ctest
+ find /tmp/proj_cmake_install
+ cd ..
+
+ # return to root
+ cd ../..
fi
-make check
-make install
-find /tmp/proj_autoconf_install_from_dist_all
-
-/tmp/proj_autoconf_install_from_dist_all/bin/projinfo EPSG:32631 -o PROJJSON -q > out.json
-cat out.json
-echo "Validating JSON"
-jsonschema -i out.json /tmp/proj_autoconf_install_from_dist_all/share/proj/projjson.schema.json && echo "Valid !"
-
-/tmp/proj_autoconf_install_from_dist_all/bin/projinfo EPSG:4326+3855 -o PROJJSON -q > out.json
-cat out.json
-echo "Validating JSON"
-jsonschema -i out.json /tmp/proj_autoconf_install_from_dist_all/share/proj/projjson.schema.json && echo "Valid !"
-
-/tmp/proj_autoconf_install_from_dist_all/bin/projinfo "+proj=longlat +ellps=GRS80 +nadgrids=@foo +type=crs" -o PROJJSON -q > out.json
-cat out.json
-echo "Validating JSON"
-jsonschema -i out.json /tmp/proj_autoconf_install_from_dist_all/share/proj/projjson.schema.json && echo "Valid !"
-/tmp/proj_autoconf_install_from_dist_all/bin/projinfo @out.json -o PROJJSON -q > out2.json
-diff -u out.json out2.json
-
-/tmp/proj_autoconf_install_from_dist_all/bin/projinfo -s EPSG:3111 -t GDA2020 -o PROJJSON -o PROJJSON -q > out.json
-cat out.json
-echo "Validating JSON"
-jsonschema -i out.json /tmp/proj_autoconf_install_from_dist_all/share/proj/projjson.schema.json && echo "Valid !"
-/tmp/proj_autoconf_install_from_dist_all/bin/projinfo @out.json -o PROJJSON -q > out2.json
-diff -u out.json out2.json
-
-cd ..
-
-# cmake build from generated tarball
-mkdir build_cmake
-cd build_cmake
-cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/proj_cmake_install
-VERBOSE=1 make -j${NPROC}
-make install
-ctest
-find /tmp/proj_cmake_install
-cd ..
-
-# return to root
-cd ../..
-
# Install grid files
(cd data && unzip -o ../proj-datumgrid-1.8.zip && cp ../ntv2_0.gsb . )
@@ -112,28 +115,31 @@ make clean
find /tmp/proj_autoconf_install_grids
cd ..
-# There's an issue with the clang on Travis + coverage + cpp code
-if [ "$BUILD_NAME" != "linux_clang" ]; then
- # autoconf build with grids and coverage
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
- CFLAGS="--coverage" CXXFLAGS="--coverage" ./configure;
+if [ "$SKIP_BUILDS_WITHOUT_GRID" != "yes" ]; then
+
+ # There's an issue with the clang on Travis + coverage + cpp code
+ if [ "$BUILD_NAME" != "linux_clang" ]; then
+ # autoconf build with grids and coverage
+ if [ "$TRAVIS_OS_NAME" == "osx" ]; then
+ CFLAGS="--coverage" CXXFLAGS="--coverage" ./configure;
+ else
+ CFLAGS="$CFLAGS --coverage" CXXFLAGS="$CXXFLAGS --coverage" LDFLAGS="$LDFLAGS -lgcov" ./configure;
+ fi
else
- CFLAGS="$CFLAGS --coverage" CXXFLAGS="$CXXFLAGS --coverage" LDFLAGS="$LDFLAGS -lgcov" ./configure;
+ ./configure
+ fi
+ make -j${NPROC}
+ make check
+
+ # Rerun tests without grids not included in proj-datumgrid
+ rm -v data/egm96_15.gtx
+ make check
+
+ if [ "$BUILD_NAME" != "linux_clang" ]; then
+ mv src/.libs/*.gc* src
+ mv src/conversions/.libs/*.gc* src/conversions
+ mv src/iso19111/.libs/*.gc* src/iso19111
+ mv src/projections/.libs/*.gc* src/projections
+ mv src/transformations/.libs/*.gc* src/transformations
fi
-else
- ./configure
-fi
-make -j${NPROC}
-make check
-
-# Rerun tests without grids not included in proj-datumgrid
-rm -v data/egm96_15.gtx
-make check
-
-if [ "$BUILD_NAME" != "linux_clang" ]; then
- mv src/.libs/*.gc* src
- mv src/conversions/.libs/*.gc* src/conversions
- mv src/iso19111/.libs/*.gc* src/iso19111
- mv src/projections/.libs/*.gc* src/projections
- mv src/transformations/.libs/*.gc* src/transformations
fi