aboutsummaryrefslogtreecommitdiff
path: root/travis
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-01-22 18:31:26 +0100
committerGitHub <noreply@github.com>2020-01-22 18:31:26 +0100
commitdb31b6dfa9c8fe37d5706d95ce81012b8db3c3b9 (patch)
treedc592c2b56f8af476c42a51f5dbc6ee04fabc280 /travis
parent1ad703a58ce1867fe2ede96ebced1bdec9c63d65 (diff)
downloadPROJ-db31b6dfa9c8fe37d5706d95ce81012b8db3c3b9.tar.gz
PROJ-db31b6dfa9c8fe37d5706d95ce81012b8db3c3b9.zip
Merge RFC4 (#1865)
This commit is the result of the squashing of rfc4_dev branch in a single commit. It implements mostly RFC 4 related work. * Grid handling: - remove obsolete and presumably unfinished implementation of grid catalog functionality - all grid functionality is in grids.cpp/.hpp - vertical and horizontal grid shift: rework to no longer load whole grid into memory - remove hgrids and vgrids member from PJ structure, and store them in hgridshift/vgridshift/deformation structures - build systems: add optional libtiff dependency. Must be explicitly disabled if not desired - add support for horizontal and vertical grids in GeoTIFF, if libtiff is available - add GenericShiftGridSet and GenericShiftGrid classes, relying on TIFF grids, that can be used for generic purpose grid-based adjustment - add a +proj=xyzgridshift method to perform geocentric translation by grid. Used for French NTF to RGF93 transformation using gr3df97a.tif grid - deformation: add support for +grids= for GeoTIFF grids - horizontal grid shift: fix failures on points slightly outside a subgrid (fixes #209) * File management: - add a filemanager.cpp/.hpp to deal with file related work - test for legacy proj_api.h fileapi - proj.h: add proj_context_set_fileapi() and proj_context_set_sqlite3_vfs_name() (fixes #866) - add capability to read resource files from the user writable directory * Network access: - build systems: add optional curl dependency - add a curl-based default implementation for network related functionality - proj.h: add C API to control network functionality, and optionaly provide network callbacks - add data/proj.ini with default settings - add a SQLite3 local cache of downloaded chunks - add proj_is_download_needed() and proj_download_file() * Use Win32 Unicode APIs and expect all strings to be UTF-8 (fixes #1765) For backward compatibility, if PROJ_LIB content is found to be not UTF-8 or pointing to a non existing directory, then an attempt at interpretating it in the ANSI page encoding is done. proj_context_set_search_paths() now assumes strings to be in UTF-8, and functions returning paths will also return values in UTF-8.
Diffstat (limited to 'travis')
-rwxr-xr-xtravis/csa/before_install.sh2
-rwxr-xr-xtravis/linux_clang/before_install.sh2
-rwxr-xr-xtravis/linux_gcc/before_install.sh1
-rwxr-xr-xtravis/linux_gcc7/before_install.sh3
-rwxr-xr-xtravis/mingw32/install.sh24
-rwxr-xr-xtravis/osx/before_install.sh3
6 files changed, 29 insertions, 6 deletions
diff --git a/travis/csa/before_install.sh b/travis/csa/before_install.sh
index c2e29064..dcb7733b 100755
--- a/travis/csa/before_install.sh
+++ b/travis/csa/before_install.sh
@@ -5,7 +5,7 @@ set -e
./travis/before_install_apt.sh
./travis/before_install_pip.sh
-sudo apt-get install -qq sqlite3 libsqlite3-dev
+sudo apt-get install -qq sqlite3 libsqlite3-dev libtiff-dev libcurl4-openssl-dev
CLANG_LLVM=clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-16.04
wget http://releases.llvm.org/6.0.0/$CLANG_LLVM.tar.xz
diff --git a/travis/linux_clang/before_install.sh b/travis/linux_clang/before_install.sh
index 8ce465a2..c4b8acad 100755
--- a/travis/linux_clang/before_install.sh
+++ b/travis/linux_clang/before_install.sh
@@ -5,4 +5,4 @@ set -e
./travis/before_install_apt.sh
./travis/before_install_pip.sh
-sudo apt-get install -qq sqlite3 libsqlite3-dev
+sudo apt-get install -qq sqlite3 libsqlite3-dev libtiff-dev libcurl4-openssl-dev
diff --git a/travis/linux_gcc/before_install.sh b/travis/linux_gcc/before_install.sh
index 7725b3ef..9db2ea89 100755
--- a/travis/linux_gcc/before_install.sh
+++ b/travis/linux_gcc/before_install.sh
@@ -9,6 +9,7 @@ sudo apt-get install -qq \
lcov \
doxygen graphviz \
sqlite3 libsqlite3-dev \
+ libtiff-dev libcurl4-openssl-dev \
cppcheck
scripts/cppcheck.sh
diff --git a/travis/linux_gcc7/before_install.sh b/travis/linux_gcc7/before_install.sh
index a3f6c8c0..2ef2feee 100755
--- a/travis/linux_gcc7/before_install.sh
+++ b/travis/linux_gcc7/before_install.sh
@@ -8,7 +8,8 @@ set -e
sudo apt-get install -qq \
lcov \
doxygen graphviz \
- sqlite3 libsqlite3-dev
+ sqlite3 libsqlite3-dev \
+ libtiff-dev libcurl4-openssl-dev
#scripts/cppcheck.sh
#scripts/doxygen.sh
diff --git a/travis/mingw32/install.sh b/travis/mingw32/install.sh
index 52e4f7a6..8c756ced 100755
--- a/travis/mingw32/install.sh
+++ b/travis/mingw32/install.sh
@@ -2,6 +2,9 @@
set -e
+unset CC
+unset CXX
+
export CCACHE_CPP2=yes
export PROJ_DB_CACHE_DIR="$HOME/.ccache"
@@ -16,6 +19,22 @@ ln -s $MINGW_PREFIX/libgcc_s_seh-1.dll $WINE_SYSDIR
ln -s $MINGW_PREFIX/libgcc_s_sjlj-1.dll $WINE_SYSDIR
ln -s /usr/$MINGW_ARCH/lib/libwinpthread-1.dll $WINE_SYSDIR
+# build zlib
+wget https://github.com/madler/zlib/archive/v1.2.11.tar.gz
+tar xzf v1.2.11.tar.gz
+(cd zlib-1.2.11 && sudo make install -fwin32/Makefile.gcc SHARED_MODE=1 PREFIX=x86_64-w64-mingw32- DESTDIR=/usr/$MINGW_ARCH/)
+sudo mkdir -p /usr/$MINGW_ARCH/include
+sudo mkdir -p /usr/$MINGW_ARCH/lib
+sudo cp /usr/$MINGW_ARCH/*.h /usr/$MINGW_ARCH/include
+sudo cp /usr/$MINGW_ARCH/libz.* /usr/$MINGW_ARCH/lib
+ln -s /usr/$MINGW_ARCH/zlib1.dll $WINE_SYSDIR
+
+# build libtiff
+wget https://download.osgeo.org/libtiff/tiff-4.1.0.tar.gz
+tar xzf tiff-4.1.0.tar.gz
+(cd tiff-4.1.0 && ./configure --host=$MINGW_ARCH --prefix=/usr/$MINGW_ARCH && make -j2 && sudo make install)
+ln -s /usr/$MINGW_ARCH/bin/libtiff-5.dll $WINE_SYSDIR
+
# build sqlite3
wget https://sqlite.org/2018/sqlite-autoconf-3250100.tar.gz
tar xzf sqlite-autoconf-3250100.tar.gz
@@ -28,12 +47,13 @@ ln -s /usr/$MINGW_ARCH/bin/libsqlite3-0.dll $WINE_SYSDIR
# autoconf build
mkdir build_autoconf
cd build_autoconf
-CC="ccache $MINGW_ARCH-gcc" CXX="ccache $MINGW_ARCH-g++" LD=$MINGW_ARCH-ld ../configure --host=$MINGW_ARCH --prefix=/tmp/proj_autoconf_install
+CC="ccache $MINGW_ARCH-gcc" CXX="ccache $MINGW_ARCH-g++" LD=$MINGW_ARCH-ld ../configure --host=$MINGW_ARCH --prefix=/tmp/proj_autoconf_install --without-curl
make -j2
make install
make dist-all
find /tmp/proj_autoconf_install
(cd test; make -j2)
+cp -r ../data/tests /tmp/proj_autoconf_install/share/proj
test/unit/test_cpp_api.exe
cd ..
# Now with grids
@@ -44,7 +64,7 @@ cd ..
# autoconf build with grids
mkdir build_autoconf_grids
cd build_autoconf_grids
-CC="ccache $MINGW_ARCH-gcc" CXX="ccache $MINGW_ARCH-g++" LD=$MINGW_ARCH-ld ../configure --host=$MINGW_ARCH --prefix=/tmp/proj_autoconf_install_nad
+CC="ccache $MINGW_ARCH-gcc" CXX="ccache $MINGW_ARCH-g++" LD=$MINGW_ARCH-ld ../configure --host=$MINGW_ARCH --prefix=/tmp/proj_autoconf_install_nad --without-curl
make -j2
make install
find /tmp/proj_autoconf_install_nad
diff --git a/travis/osx/before_install.sh b/travis/osx/before_install.sh
index de9544a5..e457ec8c 100755
--- a/travis/osx/before_install.sh
+++ b/travis/osx/before_install.sh
@@ -6,7 +6,8 @@ export PATH=$HOME/Library/Python/3.7/bin:$PATH
brew update
brew install ccache
-brew install sqlite3
+#brew upgrade sqlite3
+#brew upgrade libtiff
brew install doxygen
#brew install md5sha1sum
#brew reinstall python