Skip to content

Commit fa67dec

Browse files
authored
Merge pull request #519 from mapbox/gdal-2.2.3-gpkg
gdal 2.2.3 and sqlite 3.21.0
2 parents e986c7d + 03c1861 commit fa67dec

10 files changed

Lines changed: 559 additions & 1 deletion

File tree

scripts/gdal/2.2.3/.travis.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
language: generic
2+
3+
matrix:
4+
include:
5+
- os: osx
6+
osx_image: xcode8.2
7+
compiler: clang
8+
- os: linux
9+
sudo: false
10+
11+
script:
12+
- ./mason build ${MASON_NAME} ${MASON_VERSION}
13+
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

scripts/gdal/2.2.3/patch.diff

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
diff --git a/apps/GNUmakefile b/apps/GNUmakefile
2+
index a87cd0f..931a988 100644
3+
--- a/apps/GNUmakefile
4+
+++ b/apps/GNUmakefile
5+
@@ -79,103 +79,103 @@ gdalbuildvrt_lib.$(OBJ_EXT): gdalbuildvrt_lib.cpp
6+
$(CXX) -c $(GDAL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $< -o $@
7+
8+
gdalinfo$(EXE): gdalinfo_bin.$(OBJ_EXT) $(DEP_LIBS)
9+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) $(CONFIG_LIB_UTILS) -o $@
10+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) $(CONFIG_LIB_UTILS) -o $@ $(LNK_FLAGS)
11+
12+
gdalserver$(EXE): gdalserver.$(OBJ_EXT) $(DEP_LIBS)
13+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
14+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
15+
16+
gdal_translate$(EXE): gdal_translate_bin.$(OBJ_EXT) $(DEP_LIBS)
17+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
18+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
19+
20+
gdaladdo$(EXE): gdaladdo.$(OBJ_EXT) $(DEP_LIBS)
21+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
22+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
23+
24+
gdalwarp$(EXE): gdalwarp_bin.$(OBJ_EXT) $(DEP_LIBS)
25+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
26+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
27+
28+
gdal_contour$(EXE): gdal_contour.$(OBJ_EXT) $(DEP_LIBS)
29+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
30+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
31+
32+
nearblack$(EXE): nearblack_bin.$(OBJ_EXT) $(DEP_LIBS)
33+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
34+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
35+
36+
gdalmanage$(EXE): gdalmanage.$(OBJ_EXT) $(DEP_LIBS)
37+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
38+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
39+
40+
gdal_rasterize$(EXE): gdal_rasterize_bin.$(OBJ_EXT) $(DEP_LIBS)
41+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
42+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
43+
44+
gdaltindex$(EXE): gdaltindex.$(OBJ_EXT) $(DEP_LIBS)
45+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
46+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
47+
48+
gdalbuildvrt$(EXE): gdalbuildvrt_bin.$(OBJ_EXT) $(DEP_LIBS)
49+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
50+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
51+
52+
multireadtest$(EXE): multireadtest.$(OBJ_EXT) $(DEP_LIBS)
53+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
54+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
55+
56+
dumpoverviews$(EXE): dumpoverviews.$(OBJ_EXT) $(DEP_LIBS)
57+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
58+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
59+
60+
gdalenhance$(EXE): gdalenhance.$(OBJ_EXT) $(DEP_LIBS)
61+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
62+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
63+
64+
gdaldem$(EXE): gdaldem_bin.$(OBJ_EXT) $(DEP_LIBS)
65+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
66+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
67+
68+
gdal_grid$(EXE): gdal_grid_bin.$(OBJ_EXT) $(DEP_LIBS)
69+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
70+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
71+
72+
gdalwarpsimple$(EXE): gdalwarpsimple.$(OBJ_EXT) $(DEP_LIBS)
73+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
74+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
75+
76+
gdaltransform$(EXE): gdaltransform.$(OBJ_EXT) $(DEP_LIBS)
77+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
78+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
79+
80+
gdallocationinfo$(EXE): gdallocationinfo.$(OBJ_EXT) $(DEP_LIBS)
81+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
82+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
83+
84+
gdalsrsinfo$(EXE): gdalsrsinfo.$(OBJ_EXT) $(DEP_LIBS)
85+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
86+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
87+
88+
gdalflattenmask$(EXE): gdalflattenmask.$(OBJ_EXT) $(DEP_LIBS)
89+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
90+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
91+
92+
gdaltorture$(EXE): gdaltorture.$(OBJ_EXT) $(DEP_LIBS)
93+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
94+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
95+
96+
gdal2ogr$(EXE): gdal2ogr.$(OBJ_EXT) $(DEP_LIBS)
97+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
98+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
99+
100+
ogrinfo$(EXE): ogrinfo.$(OBJ_EXT) $(DEP_LIBS)
101+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
102+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
103+
104+
ogrlineref$(EXE): ogrlineref.$(OBJ_EXT) $(DEP_LIBS)
105+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
106+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
107+
108+
ogr2ogr$(EXE): ogr2ogr_bin.$(OBJ_EXT) $(DEP_LIBS)
109+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
110+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
111+
112+
testepsg$(EXE): testepsg.$(OBJ_EXT) $(DEP_LIBS)
113+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
114+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
115+
116+
ogrtindex$(EXE): ogrtindex.$(OBJ_EXT) $(DEP_LIBS)
117+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
118+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
119+
120+
test_ogrsf$(EXE): test_ogrsf.$(OBJ_EXT) $(DEP_LIBS)
121+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
122+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
123+
124+
gdalasyncread$(EXE): gdalasyncread.$(OBJ_EXT) $(DEP_LIBS)
125+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
126+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
127+
128+
testreprojmulti$(EXE): testreprojmulti.$(OBJ_EXT) $(DEP_LIBS)
129+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
130+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
131+
132+
gnmmanage$(EXE): gnmmanage.$(OBJ_EXT) $(DEP_LIBS)
133+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
134+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
135+
136+
gnmanalyse$(EXE): gnmanalyse.$(OBJ_EXT) $(DEP_LIBS)
137+
- $(LD) $(LNK_FLAGS) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@
138+
+ $(LD) $< $(XTRAOBJ) $(CONFIG_LIBS) -o $@ $(LNK_FLAGS)
139+
140+
clean:
141+
$(RM) *.o $(BIN_LIST) core gdal-config gdal-config-inst

scripts/gdal/2.2.3/script.sh

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
#!/usr/bin/env bash
2+
3+
MASON_NAME=gdal
4+
MASON_VERSION=2.2.3
5+
MASON_LIB_FILE=lib/libgdal.a
6+
7+
. ${MASON_DIR}/mason.sh
8+
9+
function mason_load_source {
10+
mason_download \
11+
http://download.osgeo.org/gdal/${MASON_VERSION}/gdal-${MASON_VERSION}RC1.tar.gz \
12+
f4ac4fb76e20cc149d169163914d76d51173ce82
13+
14+
mason_extract_tar_gz
15+
16+
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
17+
}
18+
19+
function mason_prepare_compile {
20+
# This line is critical: it ensures that we install deps in
21+
# the parent folder rather than within the ./build directory
22+
# such that our modifications to the .la files work
23+
cd $(dirname ${MASON_ROOT})
24+
# set up to fix libtool .la files
25+
# https://github.com/mapbox/mason/issues/61
26+
if [[ $(uname -s) == 'Darwin' ]]; then
27+
FIND="\/Users\/travis\/build\/mapbox\/mason"
28+
else
29+
FIND="\/home\/travis\/build\/mapbox\/mason"
30+
fi
31+
REPLACE="$(pwd)"
32+
REPLACE=${REPLACE////\\/}
33+
LIBTIFF_VERSION="4.0.8"
34+
PROJ_VERSION="4.9.3"
35+
JPEG_VERSION="1.5.2"
36+
PNG_VERSION="1.6.32"
37+
EXPAT_VERSION="2.2.4"
38+
POSTGRES_VERSION="9.6.5"
39+
SQLITE_VERSION="3.21.0"
40+
CCACHE_VERSION="3.3.1"
41+
${MASON_DIR}/mason install libtiff ${LIBTIFF_VERSION}
42+
MASON_TIFF=$(${MASON_DIR}/mason prefix libtiff ${LIBTIFF_VERSION})
43+
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_TIFF}/lib/libtiff.la
44+
${MASON_DIR}/mason install proj ${PROJ_VERSION}
45+
MASON_PROJ=$(${MASON_DIR}/mason prefix proj ${PROJ_VERSION})
46+
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PROJ}/lib/libproj.la
47+
${MASON_DIR}/mason install jpeg_turbo ${JPEG_VERSION}
48+
MASON_JPEG=$(${MASON_DIR}/mason prefix jpeg_turbo ${JPEG_VERSION})
49+
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_JPEG}/lib/libjpeg.la
50+
${MASON_DIR}/mason install libpng ${PNG_VERSION}
51+
MASON_PNG=$(${MASON_DIR}/mason prefix libpng ${PNG_VERSION})
52+
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_PNG}/lib/libpng.la
53+
${MASON_DIR}/mason install expat ${EXPAT_VERSION}
54+
MASON_EXPAT=$(${MASON_DIR}/mason prefix expat ${EXPAT_VERSION})
55+
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_EXPAT}/lib/libexpat.la
56+
${MASON_DIR}/mason install libpq ${POSTGRES_VERSION}
57+
MASON_LIBPQ=$(${MASON_DIR}/mason prefix libpq ${POSTGRES_VERSION})
58+
${MASON_DIR}/mason install sqlite ${SQLITE_VERSION}
59+
MASON_SQLITE=$(${MASON_DIR}/mason prefix sqlite ${SQLITE_VERSION})
60+
perl -i -p -e "s/${FIND}/${REPLACE}/g;" ${MASON_SQLITE}/lib/libsqlite3.la
61+
# depends on sudo apt-get install zlib1g-dev
62+
${MASON_DIR}/mason install zlib system
63+
MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system)
64+
# depends on sudo apt-get install libc6-dev
65+
#${MASON_DIR}/mason install iconv system
66+
#MASON_ICONV=$(${MASON_DIR}/mason prefix iconv system)
67+
export LIBRARY_PATH=${MASON_LIBPQ}/lib:${LIBRARY_PATH:-}
68+
${MASON_DIR}/mason install ccache ${CCACHE_VERSION}
69+
MASON_CCACHE=$(${MASON_DIR}/mason prefix ccache ${CCACHE_VERSION})/bin/ccache
70+
}
71+
72+
function mason_compile {
73+
if [[ ${MASON_PLATFORM} == 'linux' ]]; then
74+
mason_step "Loading patch"
75+
patch -N -p1 < ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff
76+
fi
77+
78+
# note CFLAGS overrides defaults so we need to add optimization flags back
79+
export CFLAGS="${CFLAGS} -O3 -DNDEBUG"
80+
export CXXFLAGS="${CXXFLAGS} -O3 -DNDEBUG"
81+
82+
CUSTOM_LIBS="-L${MASON_SQLITE}/lib -lsqlite3 -L${MASON_TIFF}/lib -ltiff -L${MASON_JPEG}/lib -ljpeg -L${MASON_PROJ}/lib -lproj -L${MASON_PNG}/lib -lpng -L${MASON_EXPAT}/lib -lexpat"
83+
CUSTOM_CFLAGS="${CFLAGS} -I${MASON_LIBPQ}/include -I${MASON_TIFF}/include -I${MASON_JPEG}/include -I${MASON_PROJ}/include -I${MASON_PNG}/include -I${MASON_EXPAT}/include"
84+
85+
# very custom handling for libpq/postgres support
86+
# forcing our portable static library to be used
87+
MASON_LIBPQ_PATH=${MASON_LIBPQ}/lib/libpq.a
88+
if [[ $(uname -s) == 'Linux' ]]; then
89+
# on Linux passing -Wl will lead to libtool re-positioning libpq.a in the wrong place (no longer after libgdal.a)
90+
# which leads to unresolved symbols
91+
CUSTOM_LDFLAGS="${LDFLAGS} ${MASON_LIBPQ_PATH}"
92+
# linking statically to libsqlite requires -ldl -pthreads
93+
CUSTOM_LDFLAGS="${CUSTOM_LDFLAGS} -ldl -pthread"
94+
else
95+
# on OSX not passing -Wl will break libtool archive creation leading to confusing arch errors
96+
CUSTOM_LDFLAGS="${LDFLAGS} -Wl,${MASON_LIBPQ_PATH}"
97+
fi
98+
# we have to remove -lpq otherwise it will trigger linking to system /usr/lib/libpq
99+
perl -i -p -e "s/\-lpq //g;" configure
100+
# on linux -Wl,/path/to/libpq.a still does not work for the configure test
101+
# so we have to force it into LIBS. But we don't do this on OS X since it breaks libtool archive logic
102+
if [[ $(uname -s) == 'Linux' ]]; then
103+
CUSTOM_LIBS="${MASON_LIBPQ}/lib/libpq.a -pthread ${CUSTOM_LIBS}"
104+
fi
105+
106+
export CXX="${MASON_CCACHE} ${CXX}"
107+
108+
# note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity:
109+
# http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass
110+
if [[ $(uname -s) == 'Darwin' ]]; then
111+
export CXX="${CXX} -stdlib=libc++ -std=c++11"
112+
fi
113+
114+
# note: it might be tempting to build with --without-libtool
115+
# but I find that will only lead to a shared libgdal.so and will
116+
# not produce a static library even if --enable-static is passed
117+
LIBS="${CUSTOM_LIBS}" LDFLAGS="${CUSTOM_LDFLAGS}" CFLAGS="${CUSTOM_CFLAGS}" ./configure \
118+
--enable-static --disable-shared \
119+
${MASON_HOST_ARG} \
120+
--prefix=${MASON_PREFIX} \
121+
--with-libz=${MASON_ZLIB} \
122+
--disable-rpath \
123+
--with-libjson-c=internal \
124+
--with-geotiff=internal \
125+
--with-expat=${MASON_EXPAT} \
126+
--with-threads=yes \
127+
--with-fgdb=no \
128+
--with-rename-internal-libtiff-symbols=no \
129+
--with-rename-internal-libgeotiff-symbols=no \
130+
--with-hide-internal-symbols=yes \
131+
--with-libtiff=${MASON_TIFF} \
132+
--with-jpeg=${MASON_JPEG} \
133+
--with-png=${MASON_PNG} \
134+
--with-pg=${MASON_LIBPQ}/bin/pg_config \
135+
--with-static-proj4=${MASON_PROJ} \
136+
--with-sqlite3=${MASON_SQLITE} \
137+
--with-spatialite=no \
138+
--with-geos=no \
139+
--with-curl=no \
140+
--with-xml2=no \
141+
--with-pcraster=no \
142+
--with-cfitsio=no \
143+
--with-odbc=no \
144+
--with-libkml=no \
145+
--with-pcidsk=no \
146+
--with-jasper=no \
147+
--with-gif=no \
148+
--with-grib=no \
149+
--with-freexl=no \
150+
--with-avx=no \
151+
--with-sse=no \
152+
--with-perl=no \
153+
--with-python=no \
154+
--with-java=no \
155+
--with-podofo=no \
156+
--with-pam \
157+
--with-webp=no \
158+
--with-pcre=no \
159+
--with-liblzma=no \
160+
--with-netcdf=no \
161+
--with-poppler=no \
162+
--with-sfcgal=no
163+
164+
make -j${MASON_CONCURRENCY}
165+
make install
166+
167+
relativize_gdal_config ${MASON_PREFIX}/bin/gdal-config ${MASON_PREFIX} ${MASON_ROOT}/${MASON_PLATFORM_ID}
168+
169+
}
170+
171+
function relativize_gdal_config() {
172+
path_to_gdal_config=${1}
173+
prefix_path=${2}
174+
build_path=${3}
175+
RESOLVE_SYMLINK="readlink"
176+
if [[ $(uname -s) == 'Linux' ]];then
177+
RESOLVE_SYMLINK="readlink -f"
178+
fi
179+
mv ${path_to_gdal_config} /tmp/gdal-config-backup
180+
# append code at start
181+
echo 'if test -L $0; then BASE=$( dirname $( '${RESOLVE_SYMLINK}' "$0" ) ); else BASE=$( dirname "$0" ); fi' > ${path_to_gdal_config}
182+
cat /tmp/gdal-config-backup >> ${path_to_gdal_config}
183+
chmod +x ${path_to_gdal_config}
184+
185+
# now modify in place
186+
python -c "data=open('${path_to_gdal_config}','r').read();open('${path_to_gdal_config}','w').write(data.replace('${prefix_path}','\$( cd \"\$( dirname \${BASE} )\" && pwd )'))"
187+
# fix the path to dep libs (CONFIG_DEP_LIBS)
188+
python -c "data=open('${path_to_gdal_config}','r').read();open('${path_to_gdal_config}','w').write(data.replace('${build_path}','\$( cd \"\$( dirname \$( dirname \$( dirname \${BASE} ) ))\" && pwd )'))"
189+
# hack to re-add -lpq since otherwise it will not end up in --dep-libs
190+
python -c "data=open('${path_to_gdal_config}','r').read();open('${path_to_gdal_config}','w').write(data.replace('\$CONFIG_DEP_LIBS','\$CONFIG_DEP_LIBS -lpq'))"
191+
}
192+
193+
194+
function mason_cflags {
195+
echo "-I${MASON_PREFIX}/include"
196+
}
197+
198+
function mason_ldflags {
199+
echo $(${MASON_PREFIX}/bin/gdal-config --dep-libs --libs)
200+
}
201+
202+
function mason_clean {
203+
make clean
204+
}
205+
206+
mason_run "$@"

scripts/libgdal/2.2.3/.travis.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
language: generic
2+
3+
matrix:
4+
include:
5+
- os: osx
6+
osx_image: xcode8.3
7+
compiler: clang
8+
- os: linux
9+
sudo: false
10+
11+
script:
12+
- ./mason build ${MASON_NAME} ${MASON_VERSION}
13+
- ./mason publish ${MASON_NAME} ${MASON_VERSION}

0 commit comments

Comments
 (0)