182 lines
7.5 KiB
Bash
182 lines
7.5 KiB
Bash
#!/usr/bin/env bash
|
|
set -e
|
|
if [[ "${OVERRIDE}" == '' ]] ; then
|
|
export GEOS_VER=3.10.2
|
|
export GDAL_VER=3.4.2
|
|
export PROJ_VER=7.2.1
|
|
export SFCGAL_VER=1.4.1
|
|
export CGAL_VER=5.3
|
|
export ICON_VER=1.16
|
|
export ZLIB_VER=1.2.11
|
|
export PROTOBUF_VER=3.2.0
|
|
export PROTOBUFC_VER=1.2.1
|
|
export JSON_VER=0.12
|
|
export PROJSO=libproj-19.dll
|
|
fi;
|
|
|
|
export PROTOBUF_VER=3.2.0
|
|
export PROTOBUFC_VER=1.2.1
|
|
export JSON_VER=0.12
|
|
export PCRE_VER=8.33
|
|
|
|
if [[ "${ICON_VER}" == '' ]] ; then
|
|
export ICON_VER=1.15
|
|
fi;
|
|
|
|
echo "ICON_VER ${ICON_VER}"
|
|
|
|
#set to something even if override is on but not set
|
|
if [[ "${ZLIB_VER}" == '' ]] ; then
|
|
export ZLIB_VER=1.2.11
|
|
fi;
|
|
|
|
|
|
#set to something even if override is on but not set
|
|
if [[ "${LIBXML_VER}" == '' ]] ; then
|
|
export LIBXML_VER=2.7.8
|
|
fi;
|
|
|
|
#set to something even if override is on but not set
|
|
if [[ "${CGAL_VER}" == '' ]] ; then
|
|
export CGAL_VER=5.3
|
|
fi;
|
|
|
|
#export GDAL_VER=2.4.0
|
|
#export PROJ_VER=5.2.0
|
|
|
|
echo "ZLIB_VER $ZLIB_VER"
|
|
echo "PROJ_VER $PROJ_VER"
|
|
echo "LIBXML_VER $LIBXML_VER"
|
|
echo "CGAL_VER $CGAL_VER"
|
|
export PROJECTS=/projects
|
|
export MINGPROJECTS=/projects
|
|
export PATHOLD=$PATH
|
|
|
|
if [ "$OS_BUILD" == "64" ] ; then
|
|
export MINGHOST=x86_64-w64-mingw32
|
|
else
|
|
export MINGHOST=i686-w64-mingw32
|
|
fi;
|
|
|
|
echo PATH AFTER: $PATH
|
|
#export PG_VER=9.2beta2
|
|
export PGWINVER=${PG_VER}edb
|
|
export WORKSPACE=`pwd`
|
|
|
|
echo PATH BEFORE: $PATH
|
|
|
|
#export PGHOST=localhost
|
|
#export PGPORT=8442
|
|
export PGUSER=postgres
|
|
#export GEOS_VER=3.4.0dev
|
|
#export GDAL_VER=1.9.1
|
|
export PGPATH=${PROJECTS}/postgresql/rel/pg${PG_VER}w${OS_BUILD}${GCC_TYPE}
|
|
export PGPATHEDB=${PROJECTS}/postgresql/rel/pg${PG_VER}w${OS_BUILD}${GCC_TYPE}edb
|
|
|
|
if [ -n "$SOURCE_FOLDER" ]; then
|
|
export POSTGIS_SRC=${PROJECTS}/postgis/$SOURCE_FOLDER
|
|
cd ${POSTGIS_SRC}
|
|
else
|
|
if [[ "$POSTGIS_MICRO_VERSION" == *SVN* || "$POSTGIS_MICRO_VERSION" == *dev* ]] ; then
|
|
export POSTGIS_SRC=${PROJECTS}/postgis/branches/${POSTGIS_VER}
|
|
else
|
|
#tagged version -- official release
|
|
export POSTGIS_SRC=${PROJECTS}/postgis/tags/${POSTGIS_VER}.${POSTGIS_MICRO_VERSION}
|
|
fi;
|
|
fi;
|
|
|
|
export POSTGIS_VER=${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}
|
|
export POSTGIS_MICRO_VER=${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}.${POSTGIS_MICRO_VERSION}
|
|
|
|
|
|
#export POSTGIS_SRC=${PROJECTS}/postgis/trunk
|
|
export GDAL_DATA="${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}${GCC_TYPE}/share/gdal"
|
|
|
|
export RELVERDIR=postgis-pg${REL_PGVER}-binaries-${POSTGIS_MICRO_VER}w${OS_BUILD}
|
|
|
|
export PATH="${PATHOLD}:${PGPATH}/bin:${PGPATH}/lib"
|
|
export PATH="${PROJECTS}/xsltproc:${PROJECTS}/gtkw${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/geos/rel-${GEOS_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE}/bin:${MINGPROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PATH}"
|
|
export PKG_CONFIG_PATH="${PROJECTS}/sqlite/rel-sqlite3w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/protobuf/rel-${PROTOBUF_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${PROJECTS}/json-c/rel-${JSON_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${PROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${PROJECTS}/pcre/rel-${PCRE_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig::${PROJECTS}/gtkw${OS_BUILD}${GCC_TYPE}/lib/pkgconfig"
|
|
export SHLIB_LINK="-static-libstdc++ -lstdc++ -Wl,-Bdynamic -lm"
|
|
CPPFLAGS="-I${PGPATH}/include -I${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE}/include"
|
|
|
|
#add protobuf
|
|
export PATH="${PROJECTS}/protobuf/rel-${PROTOBUF_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/protobuf/rel-${PROTOBUF_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PATH}"
|
|
|
|
echo PATH AFTER: $PATH
|
|
|
|
echo WORKSPACE IS $WORKSPACE
|
|
#mkdir ${PROJECTS}/postgis/tmp
|
|
export PGIS_REG_TMPDIR=${PROJECTS}/postgis/tmp/${POSTGIS_MICRO_VER}_pg${PG_VER}_geos${GEOS_VER}_gdal${GDAL_VER}w${OS_BUILD}
|
|
rm -rf ${PGIS_REG_TMPDIR}
|
|
mkdir ${PGIS_REG_TMPDIR}
|
|
export TMPDIR=${PGIS_REG_TMPDIR}
|
|
|
|
#rm -rf ${PGIS_REG_TMPDIR}
|
|
#TMPDIR=${PROJECTS}/postgis/tmp/${POSTGIS_VER}_${PG_VER}_${GEOS_VERSION}_${PROJ_VER}
|
|
echo PORT IS $PGPORT
|
|
echo PGIS_REG_TMPDIR IS $PGIS_REG_TMPDIR
|
|
export XSLTPROCFLAGS=
|
|
cd ${POSTGIS_SRC}
|
|
# if [ -e ./GNUMakefile ]; then
|
|
# make distclean
|
|
# fi
|
|
|
|
sh autogen.sh
|
|
|
|
if [ -n "$PCRE_VER" ]; then
|
|
export PATH="${PROJECTS}/pcre/rel-${PCRE_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/pcre/rel-${PCRE_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PATH}"
|
|
fi
|
|
|
|
|
|
|
|
if [ -n "$SFCGAL_VER" ]; then
|
|
##hard code versions of cgal etc. for now
|
|
export CGAL_VER=4.11
|
|
BOOST_VER=1.53.0
|
|
#BOOST_VER_WU=1_49_0
|
|
export BOOST_VER_WU=1_53_0
|
|
export PATH="${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE}/lib:${PATH}"
|
|
|
|
|
|
#CPPFLAGS="-I${PGPATH}/include -I${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE}/include" \
|
|
#CFLAGS="-Wall -fno-omit-frame-pointer"
|
|
|
|
#LDFLAGS="-Wl,--enable-auto-import -L${PGPATH}/lib -L${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}${GCC_TYPE}/lib -L${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE}/lib" \
|
|
|
|
LDFLAGS="-Wl,--enable-auto-import -L${PGPATH}/lib -L${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE}/lib -L${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/lib" \
|
|
./configure \
|
|
--host=${MINGHOST} --with-xml2config=${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/bin/xml2-config \
|
|
--with-pgconfig=${PGPATH}/bin/pg_config \
|
|
--with-geosconfig=${PROJECTS}/geos/rel-${GEOS_VER}w${OS_BUILD}${GCC_TYPE}/bin/geos-config \
|
|
--with-projdir=${MINGPROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE} \
|
|
--with-libiconv=${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE} \
|
|
--with-xsldir=${PROJECTS}/docbook/docbook-xsl-1.76.1 \
|
|
--with-gui --with-gettext=no \
|
|
--with-sfcgal=${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin/sfcgal-config \
|
|
--without-interrupt-tests \
|
|
--prefix=${PROJECTS}/postgis/liblwgeom-${POSTGIS_VER}w${OS_BUILD}${GCC_TYPE} --with-library-minor-version
|
|
#exit
|
|
else
|
|
CPPFLAGS="-I${PGPATH}/include -I${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE}/include" \
|
|
CFLAGS="-Wall -fno-omit-frame-pointer" \
|
|
LDFLAGS="-L${PGPATH}/lib -L${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}${GCC_TYPE}/lib -L${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE}/lib" ./configure \
|
|
--host=${MINGHOST} --with-xml2config=${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/bin/xml2-config \
|
|
--with-pgconfig=${PGPATH}/bin/pg_config \
|
|
--with-geosconfig=${PROJECTS}/geos/rel-${GEOS_VER}w${OS_BUILD}${GCC_TYPE}/bin/geos-config \
|
|
--with-projdir=${MINGPROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE} \
|
|
--with-gui --with-gettext=no \
|
|
--with-libiconv=${PROJECTS}/rel-libiconv-${ICON_VER}w${OS_BUILD}${GCC_TYPE} \
|
|
--with-xsldir=${PROJECTS}/docbook/docbook-xsl-1.76.1 \
|
|
--without-interrupt-tests \
|
|
--prefix=${PROJECTS}/postgis/liblwgeom-${POSTGIS_VER}w${OS_BUILD}${GCC_TYPE} --with-library-minor-version
|
|
fi;
|
|
|
|
make clean
|
|
|
|
#patch liblwgeom generated make to get rid of dynamic linking
|
|
#sed -i 's/LDFLAGS += -no-undefined//g' liblwgeom/Makefile
|
|
|
|
make
|
|
make install
|