diff options
| author | Andrew Bell <andrew.bell.ia@gmail.com> | 2019-05-15 10:47:03 -0400 |
|---|---|---|
| committer | Andrew Bell <andrew.bell.ia@gmail.com> | 2019-05-15 10:47:03 -0400 |
| commit | 8f268409d37cea329d263e177b83e42f8384d3c7 (patch) | |
| tree | c4d0f3dd19456600f718a6e0c8573577f433549b /travis | |
| parent | 886ced02f0aaab5d66d16459435f7447cf976650 (diff) | |
| parent | d67203a6f76a74f5ac029ff052dbcc72e3b59624 (diff) | |
| download | PROJ-8f268409d37cea329d263e177b83e42f8384d3c7.tar.gz PROJ-8f268409d37cea329d263e177b83e42f8384d3c7.zip | |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'travis')
| -rwxr-xr-x | travis/after_success.sh | 2 | ||||
| -rwxr-xr-x | travis/before_install.sh | 4 | ||||
| -rwxr-xr-x | travis/csa/install.sh | 2 | ||||
| -rwxr-xr-x | travis/install.sh | 34 | ||||
| -rwxr-xr-x | travis/linux_clang/install.sh | 1 | ||||
| -rwxr-xr-x | travis/linux_gcc/install.sh | 1 | ||||
| -rwxr-xr-x | travis/linux_gcc7/after_success.sh | 5 | ||||
| -rwxr-xr-x | travis/linux_gcc7/before_install.sh | 20 | ||||
| -rwxr-xr-x | travis/linux_gcc7/install.sh | 8 | ||||
| -rwxr-xr-x | travis/mingw32/install.sh | 9 | ||||
| -rwxr-xr-x | travis/osx/before_install.sh | 4 | ||||
| -rwxr-xr-x | travis/osx/install.sh | 1 |
12 files changed, 77 insertions, 14 deletions
diff --git a/travis/after_success.sh b/travis/after_success.sh index 0adb6d77..a8bcc915 100755 --- a/travis/after_success.sh +++ b/travis/after_success.sh @@ -11,7 +11,7 @@ fi echo "$TRAVIS_SECURE_ENV_VARS" ./travis/build_docs.sh # Only build and publish docs when changes are made on most recent maintenance branch -if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "5.2"; then +if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "6.0"; then echo "publish website"; ./travis/add_deploy_key.sh; ./travis/deploy_website.sh $TRAVIS_BUILD_DIR/docs/build /tmp; diff --git a/travis/before_install.sh b/travis/before_install.sh index ac45a6d4..59b5be9f 100755 --- a/travis/before_install.sh +++ b/travis/before_install.sh @@ -2,3 +2,7 @@ # All platform-specific before_install scripts starts by running this # "global" before_install script. + +# Configure Python pip +pip install --user --upgrade pip +pip config --user set global.progress_bar off diff --git a/travis/csa/install.sh b/travis/csa/install.sh index 301aead9..12a1bf6d 100755 --- a/travis/csa/install.sh +++ b/travis/csa/install.sh @@ -6,6 +6,6 @@ set -e ./autogen.sh CXXFLAGS="-std=c++11" ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-build -o scanbuildoutput -plist -v ./configure -./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-build -o scanbuildoutput -plist -v make -j3 +./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-build -o scanbuildoutput -plist -v make -j2 if grep -r "\.c" scanbuildoutput | grep "<string>" | grep -v -e "<key>" -e _generated_parser; then echo "error" && /bin/false; else echo "ok"; fi diff --git a/travis/install.sh b/travis/install.sh index 2013a610..334dcda3 100755 --- a/travis/install.sh +++ b/travis/install.sh @@ -2,11 +2,23 @@ set -e +UNAME="$(uname)" || UNAME="" +if test "${UNAME}" = "Linux" ; then + NPROC=$(nproc); +elif test "${UNAME}" = "Darwin" ; then + NPROC=$(sysctl -n hw.ncpu); +fi +if test "x${NPROC}" = "x"; then + NPROC=2; +fi +echo "NPROC=${NPROC}" + # Download grid files -wget http://download.osgeo.org/proj/proj-datumgrid-1.7.zip +wget http://download.osgeo.org/proj/proj-datumgrid-1.8.zip # prepare build files ./autogen.sh +TOP_DIR=$PWD # autoconf build mkdir build_autoconf @@ -23,11 +35,19 @@ cd $TAR_DIRECTORY mkdir build_autoconf cd build_autoconf if [ -f /usr/lib/jvm/java-7-openjdk-amd64/include/jni.h ]; then - CXXFLAGS="-I/usr/lib/jvm/java-7-openjdk-amd64/include -I/usr/lib/jvm/java-7-openjdk-amd64/include/linux" ../configure --prefix=/tmp/proj_autoconf_install_from_dist_all --with-jni + CXXFLAGS="-I/usr/lib/jvm/java-7-openjdk-amd64/include -I/usr/lib/jvm/java-7-openjdk-amd64/include/linux $CXXFLAGS" ../configure --prefix=/tmp/proj_autoconf_install_from_dist_all --with-jni else ../configure --prefix=/tmp/proj_autoconf_install_from_dist_all fi -make -j3 + +make -j${NPROC} + +if [ "$(uname)" == "Linux" -a -f src/.libs/libproj.so ]; 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 @@ -37,7 +57,7 @@ cd .. mkdir build_cmake cd build_cmake cmake .. -DCMAKE_INSTALL_PREFIX=/tmp/proj_cmake_install -make -j3 +VERBOSE=1 make -j${NPROC} make install # The cmake build is not able to generate the null file, so copy it at hand cp /tmp/proj_autoconf_install_from_dist_all/share/proj/null /tmp/proj_cmake_install/share/proj @@ -49,13 +69,13 @@ cd .. cd ../.. # Install grid files -(cd data && unzip -o ../proj-datumgrid-1.7.zip) +(cd data && unzip -o ../proj-datumgrid-1.8.zip) # autoconf build with grids mkdir build_autoconf_grids cd build_autoconf_grids ../configure --prefix=/tmp/proj_autoconf_install_grids -make -j3 +make -j${NPROC} make check (cd src && make multistresstest && make test228) PROJ_LIB=../data src/multistresstest @@ -74,7 +94,7 @@ if [ "$BUILD_NAME" != "linux_clang" ]; then else ./configure fi -make -j3 +make -j${NPROC} make check # Rerun tests without grids not included in proj-datumgrid diff --git a/travis/linux_clang/install.sh b/travis/linux_clang/install.sh index f4b1ad12..50c02882 100755 --- a/travis/linux_clang/install.sh +++ b/travis/linux_clang/install.sh @@ -3,6 +3,7 @@ set -e export CCACHE_CPP2=yes +export PROJ_DB_CACHE_DIR="$HOME/.ccache" # -fno-use-cxa-atexit is needed to build with -coverage CC="ccache clang" CXX="ccache clang++" CFLAGS="-Werror -fsanitize=address -fno-use-cxa-atexit" CXXFLAGS="-Werror -fsanitize=address -fno-use-cxa-atexit" LDFLAGS="-fsanitize=address" ./travis/install.sh diff --git a/travis/linux_gcc/install.sh b/travis/linux_gcc/install.sh index ad5caa9c..17f07c56 100755 --- a/travis/linux_gcc/install.sh +++ b/travis/linux_gcc/install.sh @@ -3,5 +3,6 @@ set -e export CCACHE_CPP2=yes +export PROJ_DB_CACHE_DIR="$HOME/.ccache" CC="ccache gcc" CXX="ccache g++" CFLAGS="-std=c89 -Werror" CXXFLAGS="-Werror" ./travis/install.sh diff --git a/travis/linux_gcc7/after_success.sh b/travis/linux_gcc7/after_success.sh new file mode 100755 index 00000000..70c6f5cb --- /dev/null +++ b/travis/linux_gcc7/after_success.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +#./travis/after_success.sh diff --git a/travis/linux_gcc7/before_install.sh b/travis/linux_gcc7/before_install.sh new file mode 100755 index 00000000..25c7483f --- /dev/null +++ b/travis/linux_gcc7/before_install.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +./travis/before_install.sh + +sudo apt-get update -qq +sudo apt-get install -y cppcheck +sudo apt-get install -qq lcov +sudo apt-get install -qq doxygen graphviz +sudo apt-get install -qq sqlite3 libsqlite3-dev +sudo apt-get install -qq openjdk-7-jdk + +#scripts/cppcheck.sh +#scripts/doxygen.sh + +#pip install --user sphinxcontrib-bibtex +#pip install --user cpp-coveralls + +#./travis/docker.sh diff --git a/travis/linux_gcc7/install.sh b/travis/linux_gcc7/install.sh new file mode 100755 index 00000000..dbd1f076 --- /dev/null +++ b/travis/linux_gcc7/install.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -e + +export CCACHE_CPP2=yes +export PROJ_DB_CACHE_DIR="$HOME/.ccache" + +CC="ccache $CC" CXX="ccache $CXX" CFLAGS="-std=c89 -Werror $CFLAGS" CXXFLAGS="-Werror $CXXFLAGS" ./travis/install.sh diff --git a/travis/mingw32/install.sh b/travis/mingw32/install.sh index e4fcfe72..80d591f4 100755 --- a/travis/mingw32/install.sh +++ b/travis/mingw32/install.sh @@ -3,6 +3,7 @@ set -e export CCACHE_CPP2=yes +export PROJ_DB_CACHE_DIR="$HOME/.ccache" # prepare wine environment wine64 cmd /c dir @@ -13,7 +14,7 @@ ln -s /usr/x86_64-w64-mingw32/lib/libwinpthread-1.dll $HOME/.wine/drive_c/windo # build sqlite3 wget https://sqlite.org/2018/sqlite-autoconf-3250100.tar.gz tar xzf sqlite-autoconf-3250100.tar.gz -(cd sqlite-autoconf-3250100 && CC="ccache x86_64-w64-mingw32-gcc" CXX="ccache x86_64-w64-mingw32-g++" LD=x86_64-w64-mingw32-ld ./configure --host=x86_64-w64-mingw32 --prefix=/usr/x86_64-w64-mingw32 && make -j3 && sudo make install) +(cd sqlite-autoconf-3250100 && CC="ccache x86_64-w64-mingw32-gcc" CXX="ccache x86_64-w64-mingw32-g++" LD=x86_64-w64-mingw32-ld ./configure --host=x86_64-w64-mingw32 --prefix=/usr/x86_64-w64-mingw32 && make -j2 && sudo make install) ln -s /usr/x86_64-w64-mingw32/bin/libsqlite3-0.dll $HOME/.wine/drive_c/windows # prepare build files @@ -22,11 +23,11 @@ ln -s /usr/x86_64-w64-mingw32/bin/libsqlite3-0.dll $HOME/.wine/drive_c/windows mkdir build_autoconf cd build_autoconf CC="ccache x86_64-w64-mingw32-gcc" CXX="ccache x86_64-w64-mingw32-g++" LD=x86_64-w64-mingw32-ld ../configure --host=x86_64-w64-mingw32 --prefix=/tmp/proj_autoconf_install -make -j3 +make -j2 make install make dist-all find /tmp/proj_autoconf_install -(cd test; make -j3) +(cd test; make -j2) test/unit/test_cpp_api.exe cd .. # Now with grids @@ -38,7 +39,7 @@ cd .. mkdir build_autoconf_grids cd build_autoconf_grids CC="ccache x86_64-w64-mingw32-gcc" CXX="ccache x86_64-w64-mingw32-g++" LD=x86_64-w64-mingw32-ld ../configure --host=x86_64-w64-mingw32 --prefix=/tmp/proj_autoconf_install_nad -make -j3 +make -j2 make install find /tmp/proj_autoconf_install_nad #make check diff --git a/travis/osx/before_install.sh b/travis/osx/before_install.sh index 3e9d8d46..964fbc67 100755 --- a/travis/osx/before_install.sh +++ b/travis/osx/before_install.sh @@ -8,8 +8,10 @@ brew update brew install ccache brew install sqlite3 brew install doxygen +brew install md5sha1sum export PATH=$HOME/Library/Python/2.7/bin:$PATH -pip install --user sphinx sphinx-rtd-theme sphinxcontrib-bibtex breathe +# breathe=4.12.0 is the last version to work for us with sphinx 1.8.5 / Python 2 +pip install --user sphinx sphinx-rtd-theme sphinxcontrib-bibtex breathe==4.12.0 which sphinx-build (cd docs; make html) diff --git a/travis/osx/install.sh b/travis/osx/install.sh index 46bdbb22..4869ee65 100755 --- a/travis/osx/install.sh +++ b/travis/osx/install.sh @@ -3,5 +3,6 @@ set -e export CCACHE_CPP2=yes +export PROJ_DB_CACHE_DIR="$HOME/.ccache" CC="ccache clang" CXX="ccache clang++" CFLAGS="-Werror -O2" CXXFLAGS="-Werror -O2" ./travis/install.sh |
