aboutsummaryrefslogtreecommitdiff
path: root/travis
diff options
context:
space:
mode:
authorAndrew Bell <andrew.bell.ia@gmail.com>2019-05-15 10:47:03 -0400
committerAndrew Bell <andrew.bell.ia@gmail.com>2019-05-15 10:47:03 -0400
commit8f268409d37cea329d263e177b83e42f8384d3c7 (patch)
treec4d0f3dd19456600f718a6e0c8573577f433549b /travis
parent886ced02f0aaab5d66d16459435f7447cf976650 (diff)
parentd67203a6f76a74f5ac029ff052dbcc72e3b59624 (diff)
downloadPROJ-8f268409d37cea329d263e177b83e42f8384d3c7.tar.gz
PROJ-8f268409d37cea329d263e177b83e42f8384d3c7.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'travis')
-rwxr-xr-xtravis/after_success.sh2
-rwxr-xr-xtravis/before_install.sh4
-rwxr-xr-xtravis/csa/install.sh2
-rwxr-xr-xtravis/install.sh34
-rwxr-xr-xtravis/linux_clang/install.sh1
-rwxr-xr-xtravis/linux_gcc/install.sh1
-rwxr-xr-xtravis/linux_gcc7/after_success.sh5
-rwxr-xr-xtravis/linux_gcc7/before_install.sh20
-rwxr-xr-xtravis/linux_gcc7/install.sh8
-rwxr-xr-xtravis/mingw32/install.sh9
-rwxr-xr-xtravis/osx/before_install.sh4
-rwxr-xr-xtravis/osx/install.sh1
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