Remove old mason
This commit is contained in:
-30
@@ -1,30 +0,0 @@
|
||||
language: cpp
|
||||
|
||||
sudo: false
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: osx
|
||||
compiler: clang
|
||||
- os: linux
|
||||
compiler: clang
|
||||
|
||||
env:
|
||||
global:
|
||||
- secure: "clCFM3prHnDocZ8lXlimPxAogvFirD1Zx8cMcFJ/XpkTA/0pCgnhpArM4y/NzLHR57pNZTSCr3p6XZI1c1iTG4Zm8x0sK2A4aTFRahypXNy/e+LzAbtd1y1+dEEDwlJvNNGxizQX4frhOgSNQFDFnWLtmF3stlft5YWyc2kI+FI="
|
||||
- secure: "jKJErCng8Sk8YJ0IN2FX3lhv7G1LeudMfFBAXViZaXn8w/gWPs+SlfXQmIJ5SruU7U2GQKnAhzbjwXjVAgAh8OAblzny0DDm5Lh5WmwkgAP8JH1LpsBwCYx2S/v8qyR4DX1RVhHS8mQu298180ZDVgGccw+hd8xrE/S5TEQcNfQ="
|
||||
|
||||
before_install:
|
||||
- source ./scripts/setup_cpp11_toolchain.sh
|
||||
|
||||
script:
|
||||
- ./mason build ${MASON_NAME} ${MASON_VERSION}
|
||||
- ./mason link ${MASON_NAME} ${MASON_VERSION}
|
||||
- export GDAL_DATA=$(pwd)/mason_packages/.link/share/gdal
|
||||
- ./mason_packages/.link/bin/ogr2ogr --formats
|
||||
- if [[ $(uname -s) == 'Darwin' ]]; then otool -L ./mason_packages/.link/bin/ogr2ogr; else ldd ./mason_packages/.link/bin/ogr2ogr; fi;
|
||||
- ./mason_packages/.link/bin/gdalinfo --formats
|
||||
- if [[ $(uname -s) == 'Darwin' ]]; then otool -L ./mason_packages/.link/bin/gdalinfo; else ldd ./mason_packages/.link/bin/gdalinfo; fi;
|
||||
|
||||
after_success:
|
||||
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
|
||||
-168
@@ -1,168 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
MASON_NAME=gdal
|
||||
MASON_VERSION=dev
|
||||
MASON_LIB_FILE=lib/libgdal.a
|
||||
|
||||
. ${MASON_DIR}/mason.sh
|
||||
|
||||
function mason_load_source {
|
||||
export MASON_BUILD_PATH=${MASON_ROOT}/.build/gdal-2.x
|
||||
if [[ ! -d ${MASON_BUILD_PATH} ]]; then
|
||||
git clone --depth 1 https://github.com/springmeyer/gdal.git -b build-fixes ${MASON_BUILD_PATH}
|
||||
else
|
||||
(cd ${MASON_BUILD_PATH} && git pull)
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ $(uname -s) == 'Darwin' ]]; then
|
||||
FIND_PATTERN="\/Users\/travis\/build\/mapbox\/mason"
|
||||
else
|
||||
FIND_PATTERN="\/home\/travis\/build\/mapbox\/mason"
|
||||
fi
|
||||
|
||||
function install_dep {
|
||||
# set up to fix libtool .la files
|
||||
# https://github.com/mapbox/mason/issues/61
|
||||
REPLACE="$(pwd)"
|
||||
REPLACE=${REPLACE////\\/}
|
||||
${MASON_DIR}/mason install $1 $2
|
||||
${MASON_DIR}/mason link $1 $2
|
||||
LA_FILE=$(${MASON_DIR}/mason prefix $1 $2)/lib/$3.la
|
||||
if [[ -f ${LA_FILE} ]]; then
|
||||
perl -i -p -e "s/${FIND_PATTERN}/${REPLACE}/g;" ${LA_FILE}
|
||||
else
|
||||
echo "$LA_FILE not found"
|
||||
fi
|
||||
}
|
||||
|
||||
function mason_prepare_compile {
|
||||
cd $(dirname ${MASON_ROOT})
|
||||
install_dep libtiff 4.0.4beta libtiff
|
||||
install_dep proj 4.8.0 libproj
|
||||
install_dep jpeg_turbo 1.4.0 libjpeg
|
||||
install_dep libpng 1.6.16 libpng
|
||||
install_dep expat 2.1.0 libexpat
|
||||
install_dep libpq 9.4.0 libpq
|
||||
# depends on sudo apt-get install zlib1g-dev
|
||||
${MASON_DIR}/mason install zlib system
|
||||
MASON_ZLIB=$(${MASON_DIR}/mason prefix zlib system)
|
||||
# depends on sudo apt-get install libc6-dev
|
||||
#${MASON_DIR}/mason install iconv system
|
||||
#MASON_ICONV=$(${MASON_DIR}/mason prefix iconv system)
|
||||
}
|
||||
|
||||
function mason_compile {
|
||||
LINK_DIR="${MASON_ROOT}/.link"
|
||||
echo $LINK_DIR
|
||||
export LIBRARY_PATH=${LINK_DIR}/lib:${LIBRARY_PATH}
|
||||
|
||||
cd gdal/
|
||||
CUSTOM_LIBS="-L${LINK_DIR}/lib -ltiff -ljpeg -lproj -lpng -lexpat"
|
||||
CUSTOM_CFLAGS="${CFLAGS} -I${LINK_DIR}/include -I${LINK_DIR}/include/libpng16"
|
||||
CUSTOM_CXXFLAGS="${CUSTOM_CFLAGS}"
|
||||
|
||||
# very custom handling for libpq/postgres support
|
||||
# forcing our portable static library to be used
|
||||
MASON_LIBPQ_PATH=${LINK_DIR}/lib/libpq.a
|
||||
if [[ $(uname -s) == 'Linux' ]]; then
|
||||
# on Linux passing -Wl will lead to libtool re-positioning libpq.a in the wrong place (no longer after libgdal.a)
|
||||
# which leads to unresolved symbols
|
||||
CUSTOM_LDFLAGS="-z nodeflib ${LDFLAGS} ${MASON_LIBPQ_PATH}"
|
||||
else
|
||||
# on OSX not passing -Wl will break libtool archive creation leading to confusing arch errors
|
||||
CUSTOM_LDFLAGS="${LDFLAGS} -Wl,${MASON_LIBPQ_PATH}"
|
||||
fi
|
||||
# we have to remove -lpq otherwise it will trigger linking to system /usr/lib/libpq
|
||||
perl -i -p -e "s/\-lpq //g;" configure
|
||||
# on linux -Wl,/path/to/libpq.a still does not work for the configure test
|
||||
# so we have to force it into LIBS. But we don't do this on OS X since it breaks libtool archive logic
|
||||
if [[ $(uname -s) == 'Linux' ]]; then
|
||||
CUSTOM_LIBS="${MASON_LIBPQ_PATH} -pthread ${CUSTOM_LIBS}"
|
||||
fi
|
||||
|
||||
# note: we put ${STDLIB_CXXFLAGS} into CXX instead of LDFLAGS due to libtool oddity:
|
||||
# http://stackoverflow.com/questions/16248360/autotools-libtool-link-library-with-libstdc-despite-stdlib-libc-option-pass
|
||||
if [[ $(uname -s) == 'Darwin' ]]; then
|
||||
CXX="${CXX} -stdlib=libc++ -std=c++11"
|
||||
fi
|
||||
|
||||
# note: it might be tempting to build with --without-libtool
|
||||
# but I find that will only lead to a shared libgdal.so and will
|
||||
# not produce a static library even if --enable-static is passed
|
||||
LIBS="${CUSTOM_LIBS}" \
|
||||
LDFLAGS="${CUSTOM_LDFLAGS}" \
|
||||
CFLAGS="${CUSTOM_CFLAGS}" \
|
||||
CXXFLAGS="${CUSTOM_CXXFLAGS}" \
|
||||
./configure \
|
||||
--enable-static --disable-shared \
|
||||
${MASON_HOST_ARG} \
|
||||
--prefix=${MASON_PREFIX} \
|
||||
--with-libz=${LINK_DIR} \
|
||||
--disable-rpath \
|
||||
--with-libjson-c=internal \
|
||||
--with-geotiff=internal \
|
||||
--with-expat=${LINK_DIR} \
|
||||
--with-threads=yes \
|
||||
--with-fgdb=no \
|
||||
--with-rename-internal-libtiff-symbols=no \
|
||||
--with-rename-internal-libgeotiff-symbols=no \
|
||||
--with-hide-internal-symbols=yes \
|
||||
--with-libtiff=${LINK_DIR} \
|
||||
--with-jpeg=${LINK_DIR} \
|
||||
--with-png=${LINK_DIR} \
|
||||
--with-pg=${LINK_DIR}/bin/pg_config \
|
||||
--with-static-proj4=${LINK_DIR} \
|
||||
--with-spatialite=no \
|
||||
--with-geos=no \
|
||||
--with-sqlite3=no \
|
||||
--with-curl=no \
|
||||
--with-xml2=no \
|
||||
--with-pcraster=no \
|
||||
--with-cfitsio=no \
|
||||
--with-odbc=no \
|
||||
--with-libkml=no \
|
||||
--with-pcidsk=no \
|
||||
--with-jasper=no \
|
||||
--with-gif=no \
|
||||
--with-grib=no \
|
||||
--with-freexl=no \
|
||||
--with-avx=no \
|
||||
--with-sse=no \
|
||||
--with-perl=no \
|
||||
--with-ruby=no \
|
||||
--with-python=no \
|
||||
--with-java=no \
|
||||
--with-podofo=no \
|
||||
--with-pam \
|
||||
--with-webp=no \
|
||||
--with-pcre=no \
|
||||
--with-liblzma=no \
|
||||
--with-netcdf=no \
|
||||
--with-poppler=no
|
||||
|
||||
make -j${MASON_CONCURRENCY}
|
||||
make install
|
||||
|
||||
# attempt to make paths relative in gdal-config
|
||||
python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('$MASON_PREFIX','\$( cd \"\$( dirname \$( dirname \"\$0\" ))\" && pwd )'))"
|
||||
# fix paths to all deps to point to mason_packages/.link
|
||||
python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('$MASON_ROOT','./mason_packages'))"
|
||||
# add static libpq.a
|
||||
python -c "data=open('$MASON_PREFIX/bin/gdal-config','r').read();open('$MASON_PREFIX/bin/gdal-config','w').write(data.replace('CONFIG_DEP_LIBS=\"','CONFIG_DEP_LIBS=\"-lpq'))"
|
||||
cat $MASON_PREFIX/bin/gdal-config
|
||||
}
|
||||
|
||||
function mason_cflags {
|
||||
echo "-I${MASON_PREFIX}/include/gdal"
|
||||
}
|
||||
|
||||
function mason_ldflags {
|
||||
echo $(${MASON_PREFIX}/bin/gdal-config --static --libs)
|
||||
}
|
||||
|
||||
function mason_clean {
|
||||
make clean
|
||||
}
|
||||
|
||||
mason_run "$@"
|
||||
Reference in New Issue
Block a user