@@ -4,27 +4,36 @@ set -eu
44if [ " $BUILD_NAME " = " PHP_7.2_WITH_ASAN" ]; then
55 export CC=" ccache clang"
66 export CXX=" ccache clang++"
7+ else
8+ export CC=" ccache gcc"
9+ export CXX=" ccache g++"
10+ fi
11+
12+ curl http://download.osgeo.org/proj/proj-6.1.1.tar.gz > proj-6.1.1.tar.gz
13+ tar xzf proj-6.1.1.tar.gz
14+ mv proj-6.1.1 proj
15+ (cd proj/data && curl http://download.osgeo.org/proj/proj-datumgrid-1.8.tar.gz > proj-datumgrid-1.8.tar.gz && tar xvzf proj-datumgrid-1.8.tar.gz)
16+ (cd proj; CFLAGS=' -O2 -DPROJ_RENAME_SYMBOLS' CXXFLAGS=' -O2 -DPROJ_RENAME_SYMBOLS' ./configure --disable-static --prefix=/usr/local && CCACHE_CPP2=yes make -j2 && sudo make -j3 install)
17+ sudo rm -f /usr/include/proj_api.h
18+
19+ if [ " $BUILD_NAME " = " PHP_7.2_WITH_ASAN" ]; then
20+ # Force use of PROJ 4 API
21+ sudo rm /usr/local/include/proj.h
722 # -DNDEBUG to avoid issues with cairo cleanup
8- make cmakebuild MFLAGS=" -j2" CMAKE_C_FLAGS=" -g -fsanitize=address -DNDEBUG" CMAKE_CXX_FLAGS=" -g -fsanitize=address -DNDEBUG" EXTRA_CMAKEFLAGS=" -DCMAKE_BUILD_TYPE=None -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address"
23+ make cmakebuild MFLAGS=" -j2" CMAKE_C_FLAGS=" -g -fsanitize=address -DNDEBUG -DPROJ_RENAME_SYMBOLS -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H " CMAKE_CXX_FLAGS=" -g -fsanitize=address -DNDEBUG -DPROJ_RENAME_SYMBOLS -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H " EXTRA_CMAKEFLAGS=" -DCMAKE_BUILD_TYPE=None -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address -DPROJ_INCLUDE_DIR=/usr/local/include -DPROJ_LIBRARY=/usr/local/lib/libproj.so.15 "
924 export AUTOTEST_OPTS=" -q -strict -run_under_asan"
1025 # Only run tests that only involve mapserv/shp2img binaries. mspython, etc would require LD_PREOLOAD'ing the asan shared object
1126 make -j4 asan_compatible_tests
1227elif [ " $BUILD_NAME " = " PHP_7.3_WITH_PROJ6" ]; then
13- curl http://download.osgeo.org/proj/proj-6.1.1.tar.gz > proj-6.1.1.tar.gz
14- tar xzf proj-6.1.1.tar.gz
15- mv proj-6.1.1 proj
16- (cd proj/data && curl http://download.osgeo.org/proj/proj-datumgrid-1.8.tar.gz > proj-datumgrid-1.8.tar.gz && tar xvzf proj-datumgrid-1.8.tar.gz)
17- (cd proj; CFLAGS=' -O2 -DPROJ_RENAME_SYMBOLS' CXXFLAGS=' -O2 -DPROJ_RENAME_SYMBOLS' ./configure --disable-static --prefix=/usr/local && CCACHE_CPP2=yes make -j2 && sudo make -j3 install)
28+ # Avoid any use of PROJ 4 API
1829 sudo rm -f /usr/include/proj_api.h
1930 make cmakebuild MFLAGS=" -j2" CMAKE_C_FLAGS=" -O2 -DPROJ_RENAME_SYMBOLS" CMAKE_CXX_FLAGS=" -O2 -DPROJ_RENAME_SYMBOLS" EXTRA_CMAKEFLAGS=" -DPROJ_INCLUDE_DIR=/usr/local/include -DPROJ_LIBRARY=/usr/local/lib/libproj.so.15"
20- export LD_LIBRARY_PATH=/usr/local/lib
21- ./build/mapserv
2231 make mspython-wheel
2332 make -j4 test
2433else
25- export CC= " ccache gcc "
26- export CXX= " ccache g++ "
27- make cmakebuild MFLAGS=" -j2"
34+ # Force use of PROJ 4 API
35+ sudo rm /usr/local/include/proj.h
36+ make cmakebuild MFLAGS=" -j2" CMAKE_C_FLAGS= " -DPROJ_RENAME_SYMBOLS -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H " CMAKE_CXX_FLAGS= " -DPROJ_RENAME_SYMBOLS -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H " EXTRA_CMAKEFLAGS= " -DPROJ_INCLUDE_DIR=/usr/local/include -DPROJ_LIBRARY=/usr/local/lib/libproj.so.15 "
2837 make mspython-wheel
2938 make -j4 test
3039fi
0 commit comments