aboutsummaryrefslogtreecommitdiff
path: root/travis/install.sh
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-04-26 18:43:42 +0200
committerEven Rouault <even.rouault@spatialys.com>2019-04-26 19:45:46 +0200
commite168ad31badb6702240174250894a76385da323b (patch)
tree6af4903168b032291ff8ecaf1c62b076d000c41c /travis/install.sh
parent210df01d861f4d75b3e4c698b9394d6d48989169 (diff)
downloadPROJ-e168ad31badb6702240174250894a76385da323b.tar.gz
PROJ-e168ad31badb6702240174250894a76385da323b.zip
Travis: check that the exported symbols conform to what is expected
This is to help checking that we do not introduce un-intended API/ABI breakage. Not fully bullet proof, but a start.
Diffstat (limited to 'travis/install.sh')
-rwxr-xr-xtravis/install.sh8
1 files changed, 8 insertions, 0 deletions
diff --git a/travis/install.sh b/travis/install.sh
index c8da9046..1b0cc759 100755
--- a/travis/install.sh
+++ b/travis/install.sh
@@ -7,6 +7,7 @@ wget http://download.osgeo.org/proj/proj-datumgrid-1.8.zip
# prepare build files
./autogen.sh
+TOP_DIR=$PWD
# autoconf build
mkdir build_autoconf
@@ -28,6 +29,13 @@ else
../configure --prefix=/tmp/proj_autoconf_install_from_dist_all
fi
make -j2
+
+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