Skip to content

Instantly share code, notes, and snippets.

@robe2
Last active October 2, 2021 16:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robe2/0e84da5354a7d44981bdc2b7804ac61e to your computer and use it in GitHub Desktop.
Save robe2/0e84da5354a7d44981bdc2b7804ac61e to your computer and use it in GitHub Desktop.
mingwgcc81 dependencies needed for PostGIS 3.1-PostGIS3.2
export OS_BUILD=64
export GCC_TYPE=gcc81
PROJECTS=/projects
SOURCES=/sources
mkdir ${PROJECTS}
mkdir ${SOURCES}
if [[ "${OS_BUILD}" == "" && "$1" == "" ]] ; then
echo "Usage: makedependencies OS_BUILD"
echo " OS_BUILD = 32|64"
echo " or export OS_BUILD=xx"
exit 1
fi
if [[ "${OS_BUILD}" == "64" ]] ; then
export MINGHOST=x86_64-w64-mingw32
export PG_BITS=
else
export MINGHOST=i686-w64-mingw32
export PG_BITS=w32
fi
CMAKE_PATH=/cmake
cd ${PROJECTS}
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin"
cd ${PROJECTS}
#zlib (needed for sqlite, openjpeg, and gdal)
if false; then
#export PATH=/mingw
cd ${SOURCES}
export ZLIB_VER=1.2.11
#wget --no-check-certificate http://zlib.net/zlib-1.2.11.tar.gz
rm -rf zlib-${ZLIB_VER}
tar xvfz zlib-${ZLIB_VER}.tar.gz
cd zlib-${ZLIB_VER}
export REL_PATH=/projects/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
make install -fwin32/Makefile.gcc SHARED_MODE=1 INCLUDE_PATH=${REL_PATH}/include LIBRARY_PATH=${REL_PATH}/lib BINARY_PATH=${REL_PATH}/bin
#make && make install
fi
#build openssl
if false; then
cd ${PROJECTS}
mkdir ssl
cd ssl
cd ${SOURCES}
export PATH="/mingw/bin:/bin"
export SSL_VER=1.1.1c
#export SSL_VER=1.0.2g
#wget https://www.openssl.org/source/openssl-${SSL_VER}.tar.gz
rm -rf openssl-${SSL_VER}
tar xvfz openssl-${SSL_VER}.tar.gz
cd openssl-${SSL_VER}
SSL_REL_PATH=${PROJECTS}/ssl/rel-openssl-${SSL_VER}w${OS_BUILD}${GCC_TYPE}
make clean
./configure mingw64 --prefix=${SSL_REL_PATH} shared
make
make install
fi
#build curl
if false; then
cd ${PROJECTS}
mkdir curl
cd curl
cd ${SOURCES}
export PATH="/mingw/bin:/bin"
export CURL_VER=7.73.0
export ZLIB_VER=1.2.11
export SSL_VER=1.1.1c
export PATH="${PATH}:${PROJECTS}/ssl/rel-openssl-${SSL_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/ssl/rel-openssl-${SSL_VER}w${OS_BUILD}${GCC_TYPE}/lib"
wget --no-check-certificate http://curl.haxx.se/download/curl-${CURL_VER}.tar.gz
rm -rf curl-${CURL_VER}
tar xvfz curl-${CURL_VER}.tar.gz
cd curl-${CURL_VER}
CURL_REL_PATH=${PROJECTS}/curl/rel-curl-${CURL_VER}w${OS_BUILD}${GCC_TYPE}
#LIBXML_PATH=${PROJECTS}/libxml/rel-libxml2-2.7.8w${OS_BUILD}${GCC_TYPE}
make clean
./configure --enable-shared --disable-static --prefix=${CURL_REL_PATH} --with-ssl=${PROJECTS}/ssl/rel-openssl-${SSL_VER}w${OS_BUILD}${GCC_TYPE} --with-zlib=${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
make
make install
cd ${CURL_REL_PATH}/bin
strip *.dll
fi
#SQLite3 library
if false; then
export ZLIB_VER=1.2.11
export ZLIB_PATH=/projects/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
echo $PATH
cd ${SOURCES}
#exit
export PATH="/bin:/mingw/bin:/mingw/include:${ZLIB_PATH}/bin:${ZLIB_PATH}/lib:${ZLIB_PATH}/include"
#xport SQLVER=3240000
#export SQLVER=3280000
export SQLVER=3300100
export SQLYR=2019
#export ZLIB_VER=1.2.11
#export PATH="/projects/zlib/rel-zlib${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}:${PATH}"
#export PKG_CONFIG_PATH=/projects/zlib/rel-zlib${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig
#export SQLVER=3160200
#export SQLYR=2017
#rm sqlite-autoconf-${SQLVER}.tar.gz
wget --no-check-certificate https://www.sqlite.org/${SQLYR}/sqlite-autoconf-${SQLVER}.tar.gz
rm -rf sqlite-autoconf-${SQLVER}
tar xvfz sqlite-autoconf-${SQLVER}.tar.gz
cd sqlite-autoconf-${SQLVER}
export "CFLAGS=-O3 -DSQLITE_ENABLE_STAT3=1 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_TREE_EXPLAIN=1 -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_COLUMN_METADATA=1"
sh configure
#./configure --help
#exit
#./configure --target=${MINGHOST} --enable-shared=yes --enable-static=no --prefix=${PROJECTS}/sqlite/rel-sqlite3w${OS_BUILD}${GCC_TYPE}
./configure --target=${MINGHOST} --prefix=${PROJECTS}/sqlite/rel-sqlite3w${OS_BUILD}${GCC_TYPE}
#gcc -shared -link sqlite3.c -o sqlite3.dll
make
make install-strip
make check
exit
fi
if false; then
cd ${PROJECTS}
LIBICONV_VER=1.16
wget --no-parent -O /sources/libiconv-${LIBICONV_VER}.tar.gz http://ftp.gnu.org/gnu/libiconv/libiconv-${LIBICONV_VER}.tar.gz
rm -rf libiconv-${LIBICONV_VER}
tar xvfz /sources/libiconv-${LIBICONV_VER}.tar.gz
cd libiconv-${LIBICONV_VER}
export LFLAGS="-static-libgcc"
./configure --build=${MINGHOST} --target=${MINGHOST} --prefix=${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}
make && make install
make check
rm -rf ${PROJECTS}/libiconv-${LIBICONV_VER}
fi
if false; then
cd ${SOURCES}
rm -rf CUnit-2.1-2
rm -rf CUnit-2.1-3
#wget --no-parent -O ${SOURCES}/CUnit-2.1-2-src.tar.bz2 http://iweb.dl.sourceforge.net/project/cunit/CUnit/2.1-2/CUnit-2.1-2-src.tar.bz2
tar xvf CUnit-2.1-2-src.tar.bz2
cd CUnit-2.1-2
# libtoolize -f -c -i \
# && aclocal \
# && autoconf \
# && automake --gnu --add-missing \
./configure --target=${MINGHOST} --prefix=/mingw/${MINGHOST}
make clean
make && make install
make check
cd ..
rm -rf ${SOURCES}/CUnit-2.1-3
fi
if false; then
export LIBXML_VER=2.9.9
mkdir ${PROJECTS}/libxml
cd ${PROJECTS}/libxml
cd ${SOURCES}
export LIBICONV_VER=1.15
export PATH="/bin:/mingw/bin:/mingw/include:/bin"
export CURL_VER=7.61.1
export SSL_VER=1.0.2g
export CURL_REL_PATH=${PROJECTS}/curl/rel-curl-${CURL_VER}w${OS_BUILD}${GCC_TYPE}
#export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin:${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/bin:${CURL_REL_PATH}/include"
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin:${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/bin"
#had to rename C:\ming64gcc81\mingw64\x86_64-w64-mingw32\lib\libz.a to libz.a.old so didn't get picked up
#wget -O libxml2-${LIBXML_VER}.tar.gz ftp://xmlsoft.org/libxml2/libxml2-${LIBXML_VER}.tar.gz
rm -rf libxml2-${LIBXML_VER}
tar xvfz libxml2-${LIBXML_VER}.tar.gz
cd libxml2-${LIBXML_VER}
./configure --prefix=${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE} --target=${MINGHOST} --with-threads=no --enable-shared CFLAGS=-O2
make clean
make
make install
make check
cd ..
rm -rf ${PROJECTS}/libxml/libxml2-${LIBXML_VER}
fi
if false; then
#This is needed for ST_GeomFromGeoJSON and family
mkdir ${PROJECTS}/json-c
cd ${PROJECTS}/json-c
export JSON_VER=0.12
#rm json-c-${JSON_VER}.zip
cd ${SOURCES}
#wget --no-check-certificate --output-document=${SOURCES}/json-c-${JSON_VER}.zip https://github.com/json-c/json-c/archive/json-c-${JSON_VER}.zip
rm -rf json-c-${JSON_VER}
unzip ${SOURCES}/json-c-${JSON_VER}.zip
mv json-c-json-c-${JSON_VER} json-c-${JSON_VER}
cd json-c-${JSON_VER}
## had to compile with -w (disable warnings otherwise it gave errors)
# note we use --enable-static -disable-shared so we don't have a small itsy bitsy json..dll we need to distribute
# this will force json support to be embedded directly in postgis-.dll
export VERBOSE=1
./configure --target=${MINGHOST} \
--prefix=${PROJECTS}/json-c/rel-${JSON_VER}w${OS_BUILD}${GCC_TYPE} --enable-static --disable-shared CFLAGS=-w
make
make install
make check #fails for some reason
#after install change lib/libjson-c.la file from library_names='' to library_names='libjson-c.a'
#for some reason install fails to copy this file
#cp json_object_iterator.h ${PROJECTS}/json-c/rel-${JSON_VER}w${OS_BUILD}${GCC_TYPE}/include/json/json_object_iterator.h
fi
#needed for proj 7+
if false; then
cd ${SOURCES}
export TIFF_VER=4.1.0
export ZLIB_VER=1.2.11
export ZLIB_PATH=/projects/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
#wget http://download.osgeo.org/libtiff/tiff-${TIFF_VER}.tar.gz
tar xvfz tiff-${TIFF_VER}.tar.gz
cd tiff-${TIFF_VER}
LDFLAGS="-L${ZLIB_PATH}/lib" \
./configure --disable-static --enable-shared --prefix=${PROJECTS}/tiff/rel-tiff-${TIFF_VER}w${OS_BUILD}${GCC_TYPE} --build=${MINGHOST}
make
make check
make install
fi
if false; then
#export PROJ_VER=7.1.1
export PROJ_VER=7.2.0
export TIFF_VER=4.1.0
export TIFF_PATH=/projects/tiff/rel-tiff-${TIFF_VER}w${OS_BUILD}${GCC_TYPE}
#export DATUM_VER=1.8
#export DATUM_VER=world-1.0RC1
export DATUM_VER=world-1.0
export DATUM_VER_NA=north-america-1.2
export DATA_VER=1.3
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin:/cmake/bin"
export ZLIB_VER=1.2.11
export ZLIB_PATH=/projects/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
#wget --no-check-certificate http://zlib.net/zlib-1.2.11.tar.gz
export PATH="/bin:/mingw/bin:/mingw/include:${ZLIB_PATH}/bin:${ZLIB_PATH}/lib:${ZLIB_PATH}/include"
export CURL_VER=7.73.0
export CURL_PATH=/projects/curl/rel-curl-${CURL_VER}w${OS_BUILD}${GCC_TYPE}
export PKG_CONFIG_PATH=${PROJECTS}/sqlite/rel-sqlite3w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${ZLIB_PATH}/lib/pkgconfig:${TIFF_PATH}/lib/pkgconfig:${CURL_PATH}/lib/pkgconfig
export PATH=${PROJECTS}/sqlite/rel-sqlite3w${OS_BUILD}${GCC_TYPE}/bin:${CURL_PATH}/bin:${PATH}
echo $PKG_CONFIG_PATH
#exit
cd ${SOURCES}
rm -rf proj-${PROJ_VER}
#wget https://ftp.osuosl.org/pub/osgeo/download/proj/proj-${PROJ_VER}.tar.gz
#wget https://download.osgeo.org/proj/proj-data-${DATA_VER}.tar.gz
#wget http://download.osgeo.org/proj/proj-datumgrid-${DATUM_VER}.zip
#wget https://download.osgeo.org/proj/proj-datumgrid-n${DATUM_VER_NA}.zip
tar xvfz proj-${PROJ_VER}.tar.gz
tar xvfz proj-data-${DATA_VER}.tar.gz -d proj-${PROJ_VER}/data/
cd proj-${PROJ_VER}
make clean
#cd nad
#unzip ../../proj-datumgrid-${DATUM_VER}.zip
#cd ..
LDFLAGS="-L${ZLIB_PATH}/lib -L${CURL_PATH}/lib -L${CURL_PATH}/bin" \
./configure --enable-shared --disable-static --prefix=${PROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE} --build=${MINGHOST}
#/cmake/bin/cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:bool=on -DTIFF_LIBRARY:PATH=${TIFF_PATH}/lib/libtiff.dll.a -DTIFF_INCLUDE_DIR:PATH=${TIFF_PATH}/include -DCMAKE_INSTALL_PREFIX:PATH=${PROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE}
#exit
#make clean
make && make install
cd ${PROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE}
strip bin/*.dll
exit
fi
## building PROJ 7.1
if false; then
#export PROJ_VER=5.2.0
export PROJ_VER=7.1.0
#export DATUM_VER=1.8
#export DATUM_VER=world-1.0RC1
export DATUM_VER=world-1.0
export DATUM_VER_NA=north-america-1.2
export PROJ_DATA=1.1
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin"
export ZLIB_VER=1.2.11
export ZLIB_PATH=/projects/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
#wget --no-check-certificate http://zlib.net/zlib-1.2.11.tar.gz
export PATH="/bin:/mingw/bin:/mingw/include:${ZLIB_PATH}/bin:${ZLIB_PATH}/lib:${ZLIB_PATH}/include"
export PATH=${PROJECTS}/sqlite/rel-sqlite3w${OS_BUILD}${GCC_TYPE}/bin:${PATH}
export PKG_CONFIG_PATH=${PROJECTS}/sqlite/rel-sqlite3w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${ZLIB_PATH}/lib/pgconfig
cd ${SOURCES}
rm -rf proj-${PROJ_VER}
#wget https://download.osgeo.org/proj/proj-${PROJ_VER}.tar.gz
#wget https://download.osgeo.org/proj/proj-data-${PROJ_DATA}.tar.gz
tar xvfz proj-${PROJ_VER}.tar.gz
tar xvfz ../proj-${PROJ_VER}.tar.gz -d proj-${PROJ_VER}/data/
cd proj-${PROJ_VER}
make clean
#cd nad
#unzip ../../proj-datumgrid-${DATUM_VER}.zip
#cd ..
LDFLAGS="-L${ZLIB_PATH}/lib" \
./configure --enable-shared --disable-static --prefix=${PROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE} --build=${MINGHOST}
#exit
#make clean
make && make install
cd ${PROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE}
strip bin/*.dll
exit
fi
#compile freexl
if false; then
export PATH="/mingw/usr/bin:/mingw/bin:/mingw/include:/mingw/lib:/bin:${PROJECTS}/rel-libiconv-1.15w${OS_BUILD}${GCC_TYPE}/bin"
cd ${PROJECTS}
mkdir freexl
export FREEXL_VER=1.0.6
cd ${SOURCES}
wget http://www.gaia-gis.it/gaia-sins/freexl-${FREEXL_VER}.tar.gz
rm -rf freexl-${FREEXL_VER}
tar xvfz freexl-${FREEXL_VER}.tar.gz
cd freexl-${FREEXL_VER}
export FREEXL_REL_PATH=${PROJECTS}/freexl/rel-freexl-${FREEXL_VER}w${OS_BUILD}${GCC_TYPE}
./configure --disable-static --enable-shared --prefix=${FREEXL_REL_PATH}
make && make install
make check
fi
#compile openjpeg
if false; then
cd ${PROJECTS}
mkdir openjpeg
export OPENJPEG_VER=2.3.1
cd ${SOURCES}
export ZLIB_VER=1.2.11
#export PATH="$PATH:${PROJECTS}/openjpeg/rel-openjpeg-${OPENJPEG_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig"
export ZLIB_PATH=/projects/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
export PATH="/cmake/bin:/mingw/bin:/mingw/include:/mingw/lib:/bin"
#wget https://github.com/uclouvain/openjpeg/archive/v${OPENJPEG_VER}.tar.gz -O openjpeg-${OPENJPEG_VER}.tar.gz
rm -rf openjpeg-${OPENJPEG_VER}
tar xvfz openjpeg-${OPENJPEG_VER}.tar.gz
rm -rf build
mkdir -p build
cd build
#export PATH="/cmake/bin:/mingw/bin:/mingw/include:/mingw/lib:/bin"
/cmake/bin/cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PKGCONFIG_FILES=on -DBUILD_SHARED_LIBS:bool=on -DZLIB_LIBRARY:PATH=${ZLIB_PATH}/lib/libz.a -DZLIB_INCLUDE_DIR:PATH=${ZLIB_PATH}/include -DCMAKE_INSTALL_PREFIX:PATH=${PROJECTS}/openjpeg/rel-openjpeg-${OPENJPEG_VER}w${OS_BUILD}${GCC_TYPE} ../openjpeg-${OPENJPEG_VER}
#after install edit the lib/pkgconfig file to get rid of windows paths e.g C:/.. should be /projects/..
#cd openjpeg-${OPENJPEG_VER}
#autoconf
#./configure --prefix=${PROJECTS}/openjpeg/rel-openjpeg-${OPENJPEG_VER}w${OS_BUILD}${GCC_TYPE}
make && make install
#make check
fi
## build expat needed for ogr XLSX support
if false; then
cd ${PROJECTS}
mkdir expat
EXPAT_VER=2.2.10
EXPAT_VERWU=R_2_2_10
cd ${SOURCES}
#rm -rf expat-${EXPAT_VER}.tar.gz
#need to download expat from here
wget https://github.com/libexpat/libexpat/archive/${EXPAT_VERWU}.tar.gz -O expat-${EXPAT_VER}.tar.gz
#exit
rm -rf expat-${EXPAT_VER}
tar xvfz expat-${EXPAT_VER}.tar.gz
mv libexpat-${EXPAT_VERWU} expat-${EXPAT_VER}
cd expat-${EXPAT_VER}/expat
sh buildconf.sh
#had to put in --without-xmlwf wide-format otherwise looks for docbook and fails install
./configure --host=${MINGHOST} --target=${MINGHOST} --without-xmlwf --prefix=${PROJECTS}/expat/rel-expat-${EXPAT_VER}w${OS_BUILD}${GCC_TYPE}
make && make install
#doc build fails, that's okay
fi
# build protobuf
if false; then
export PATH="/mingw/bin:/mingw/include:/bin"
cd ${PROJECTS}
mkdir protobuf
cd ${PROJECTS}/protobuf
cd ${SOURCES}
export PROTOBUF_VER=3.2.0
#rm protobuf-${PROTOBUF_VER}.tar.gz
wget https://github.com/google/protobuf/archive/v${PROTOBUF_VER}.tar.gz -O protobuf-${PROTOBUF_VER}.tar.gz
rm -rf protobuf-${PROTOBUF_VER}
tar xvfz protobuf-${PROTOBUF_VER}.tar.gz
cd protobuf-${PROTOBUF_VER}
sh autogen.sh
#CPPFLAGS="-I${PROJECTS}/rel-libiconv-1.13.1w${OS_BUILD}${GCC_TYPE}/include"
#LDFLAGS="-L${PROJECTS}/rel-libiconv-1.13.1w${OS_BUILD}${GCC_TYPE}/lib -L${CURL_REL_PATH}/lib -L/mingw/x86_64-w64-mingw32/lib"
#export LIBS="-lodbc32 -lodbcinst32"
./configure --build=${MINGHOST} --prefix=${PROJECTS}/protobuf/rel-${PROTOBUF_VER}w${OS_BUILD}${GCC_TYPE}
#exit
#./configure --build=${MINGHOST} --with-curl=no --with-threads=no --prefix=${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}${GCC_TYPE}
make && make install
cd ${PROJECTS}/protobuf/rel-${PROTOBUF_VER}w${OS_BUILD}${GCC_TYPE}
strip *.dll
fi
#build protobuf-c
if false; then
export PATH="/mingw/bin:/mingw/include:/bin"
cd ${PROJECTS}
mkdir protobuf-c
cd ${PROJECTS}/protobuf-c
cd ${SOURCES}
export PROTOBUFC_VER=1.2.1
export PROTOBUF_VER=3.2.0
#export PATH="${PATH}:${PROJECTS}/protobuf/rel-${PROTOBUF_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/protobuf/rel-${PROTOBUF_VER}w${OS_BUILD}${GCC_TYPE}/include"
export PKG_CONFIG_PATH=${PROJECTS}/protobuf/rel-${PROTOBUF_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig;
rm protobuf-c-${PROTOBUFC_VER}.tar.gz
wget https://github.com/protobuf-c/protobuf-c/releases/download/v${PROTOBUFC_VER}/protobuf-c-${PROTOBUFC_VER}.tar.gz
rm -rf protobuf-c-${PROTOBUFC_VER}
tar xvfz protobuf-c-${PROTOBUFC_VER}.tar.gz
cd protobuf-c-${PROTOBUFC_VER}
make clean
#CPPFLAGS="-I${PROJECTS}/rel-libiconv-1.13.1w${OS_BUILD}${GCC_TYPE}/include"
#LDFLAGS="-L${PROJECTS}/rel-libiconv-1.13.1w${OS_BUILD}${GCC_TYPE}/lib -L${CURL_REL_PATH}/lib -L/mingw/x86_64-w64-mingw32/lib"
#export LIBS="-lodbc32 -lodbcinst32"
#./configure --build=${MINGHOST} --prefix=${PROJECTS}/protobuf-c/rel-${PROTOBUFC_VER}w${OS_BUILD}${GCC_TYPE}
./configure --build=${MINGHOST} --prefix=${PROJECTS}/protobuf/rel-${PROTOBUF_VER}w${OS_BUILD}${GCC_TYPE}
make && make install
cd ${PROJECTS}/protobuf-c/rel-${PROTOBUFC_VER}w${OS_BUILD}${GCC_TYPE}
strip *.dll
fi
# Build GDAL from source tarball
if false; then
export PATH=$PATHOLD
export LIBICONV_VER=1.16
#export CURL_VER=7.67.0
#export CURL_VER=7.65.3
#export CURL_VER=7.54.1
export CURL_VER=7.73.0
#export SSL_VER=1.0.2g
export SSL_VER=1.1.1c
export PROJ_VER=7.1.1
export CURL_REL_PATH=${PROJECTS}/curl/rel-curl-${CURL_VER}w${OS_BUILD}${GCC_TYPE}
#export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin:${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/bin:${CURL_REL_PATH}/include"
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin:${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/bin"
cd ${PROJECTS}
mkdir gdal
cd ${PROJECTS}/gdal
export GDAL_VER=3.2.3
export GDAL_VER_PRE=3.2.3
cd ${SOURCES}
#rm gdal-${GDAL_VER_PRE}.tar.gz
#wget https://github.com/OSGeo/gdal/releases/download/v${GDAL_VER}/gdal-${GDAL_VER}.tar.gz #17MB/s
#wget http://ftp.osuosl.org/pub/osgeo/download/gdal/${GDAL_VER}/gdal-${GDAL_VER_PRE}.tar.gz # 5.20MB/s
#wget ftp://ftp.osuosl.org/pub/osgeo/download/gdal/${GDAL_VER}/gdal-${GDAL_VER_PRE}.tar.gz # 2.53MB/s
#exit
#wget http://download.osgeo.org/gdal/${GDAL_VER}/gdal-${GDAL_VER_PRE}.tar.gz #800-1.5MB/s
#wget https://download.osgeo.org/postgis/source/postgis-3.0.0.tar.gz #660kb/s
#wget https://postgis.net/stuff/postgis-3.0.0.tar.gz #5.1MB/s
rm -rf gdal-${GDAL_VER}
tar xvfz gdal-${GDAL_VER_PRE}.tar.gz
#exit
export EXPAT_VER=2.2.10
export FREEXL_VER=1.0.6
export ZLIB_VER=1.2.11
#export OPENJPEG_VER=2.12
export OPENJPEG_VER=2.3.1
export FREEXL_REL_PATH=${PROJECTS}/freexl/rel-freexl-${FREEXL_VER}w${OS_BUILD}${GCC_TYPE}
export ZLIB_REL_PATH=${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
#export PATH="$PATH:${PROJECTS}/openjpeg/rel-openjpeg-${OPENJPEG_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig"
export PKG_CONFIG_PATH="${PROJECTS}/openjpeg/rel-openjpeg-${OPENJPEG_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${PROJECTS}/ssl/rel-openssl-${SSL_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${PROJECTS}/openjpeg/rel-openjpeg-${OPENJPEG_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${PROJECTS}/sqlite/rel-sqlite3w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig"
#add proj
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${PROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${CURL_REL_PATH}/lib/pkgconfig"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${PROJECTS}/expat/rel-expat-${EXPAT_VER}w${OS_BUILD}${GCC_TYPE}/lib/pkgconfig:${FREEXL_REL_PATH}/lib/pkgconfig"
#add expat
echo ${PKG_CONFIG_PATH}
#exit
#cd gdal
#cd branches/${GDAL_VER}/gdal
#this you need to create and change m_nColCount = 500 to m_nColCount = 1024 (2 lines of that)
cp /projects/gdal/branches/${GDAL_VER}/port/cpl_odbc.cpp gdal-${GDAL_VER}/port
cd gdal-${GDAL_VER}
#make
#exit
#if you get a static exes (huge exes) and no dll it's usually libiconv or zlib that is the culprit.
# (I use --with-libz=internal because mingw sometimes comes with static libz that causes build to be static )
# Make sure after install you have a .dll in your install bin folder
export CPPFLAGS="-I${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/include -I${CURL_REL_PATH}/include"
#export CPPFLAGS="-I${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/include"
#export LDFLAGS="-L${PROJECTS}/ssl/rel-openssl-${SSL_VER}w${OS_BUILD}${GCC_TYPE}/lib -L${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/lib -L${CURL_REL_PATH}/lib -L/mingw/x86_64-w64-mingw32"
export LDFLAGS="-L${PROJECTS}/ssl/rel-openssl-${SSL_VER}w${OS_BUILD}${GCC_TYPE}/lib -L${PROJECTS}/rel-libiconv-${LIBICONV_VER}w${OS_BUILD}${GCC_TYPE}/lib -L/mingw/x86_64-w64-mingw32"
#export PKG_CONFIG_PATH=""
make clean
./configure --host=${MINGHOST} --enable-shared --disable-static --with-expat=${PROJECTS}/expat/rel-expat-${EXPAT_VER}w${OS_BUILD}${GCC_TYPE} --with-freexl=${FREEXL_REL_PATH} --with-odbc=/mingw/${MINGHOST} --with-sqlite3=${PROJECTS}/sqlite/rel-sqlite3w${OS_BUILD}${GCC_TYPE} --with-curl=${CURL_REL_PATH}/bin/curl-config \
--with-openjpeg=${PROJECTS}/openjpeg/rel-openjpeg-${OPENJPEG_VER}w${OS_BUILD}${GCC_TYPE} \
--with-proj=${PROJECTS}/proj/rel-${PROJ_VER}w${OS_BUILD}${GCC_TYPE} \
--prefix=${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}${GCC_TYPE}
#--with-libz=internal \
#exit
make
make install
#if you get an error like gdalopeninfo.cpp:87:8: error: 'mutex' in namespace 'std' does not name a type
#then your mingw64 is missing std compatible thread support - download this https://github.com/meganz/mingw-std-threads
cd ${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}${GCC_TYPE}/bin
strip *.dll
strip *.exe
fi
#-- SFCGAL and pgRouting dependencies start here --
cd ${PROJECTS}
mkdir CGAL
export GMP_VER=6.2.0
#MPFR_VER=4.0.1
export MPFR_VER=4.1.0
export CGAL_VER=5.3
#BOOST_VER=1.59.0
#BOOST_VER=1.68.0
BOOST_VER=1.73.0
BOOST_VER_WU=1_73_0
BOOST_SHARED=shared
#BOOST_VER_WU=1_68_0
#BOOST_VER_WU=1_53_0
export ICU_VER=62.1
export ICU_VER_WU=62_1
export PATH="/mingw/bin:/mingw/include:/c/Windows/system32"
PATH="${PATH}:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/bin"
PATH="${PATH}:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/bin"
PATH="${PATH}:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib"
#PATH="${PATH}:${PROJECTS}/CGAL/gmp-${GMP_VER}"
PATH="${PATH}:.:/bin:/include"
#build ICU needed for boost regex which is needed for address_standardizer2
if false; then
cd ${PROJECTS}
mkdir icu
cd ${SOURCES}
#wget http://download.icu-project.org/files/icu4c/${ICU_VER}/icu4c-${ICU_VER_WU}-src.tgz
rm -rf icu
tar -xvf icu4c-${ICU_VER_WU}-src.tgz
cd icu/source
./runConfigureICU MinGW --disable-strict --disable-threads --enable-shared --prefix=${PROJECTS}/ICU/rel-icu-${ICU_VER}w${OS_BUILD}${GCC_TYPE}
# ./configure --enable-static --disable-shared --prefix=${PROJECTS}/ICU/rel-icu-${ICU_VER}w${OS_BUILD}${GCC_TYPE}
# make
make
make install
fi
if false; then
cd ${PROJECTS}
mkdir boost
cd ${PROJECTS}/boost
cd ${SOURCES}
export BOOST_VER_WU=1_73_0
export BOOST_VER=1.73.0
export BOOST_REGEX_DYN_LINK=true
#wget http://sourceforge.net/projects/boost/files/boost/${BOOST_VER}/boost_${BOOST_VER_WU}.tar.bz2
wget https://dl.bintray.com/boostorg/release/${BOOST_VER}/source/boost_${BOOST_VER_WU}.tar.bz2
#rm -rf boost_${BOOST_VER_WU}
#tar xjf boost_${BOOST_VER_WU}.tar.bz2
cd boost_${BOOST_VER_WU}
export BOOST_HAS_ICU=true
export ICU_PATH=${PROJECTS}/icu/rel-icu-${ICU_VER}w${OS_BUILD}${GCC_TYPE}
export PKG_CONFIG_PATH=${PATH}:${ICU_PATH}/lib/pkgconfig
#export ICU_LINK="-L${ICU_PATH}/lib `pkg-config --libs --cflags icu-i18n icu-uc icu-io`"
#export LIB="$LIB:${ICU_PATH}/lib"
#export ICU_LINK="-L${ICU_PATH}/lib -licuuc -licuin -licudt"
echo $ICU_LINK
#export LDFLAGS="$LDFLAGS -L${ICU_PATH}/lib `pkg-config --libs`"
#cmd //c bootstrap.bat mingw
cmd //c bootstrap.bat gcc
cd tools/build
#cp b2.exe ../..
cd ../..
#b2 --clean
#static
#b2 threading=multi address-model=${OS_BUILD} toolset=gcc define=BOOST_USE_WINDOWS_H variant=release link=static threading=multi --with-thread --with-system --with-filesystem --with-date_time --with-serialization --with-regex --with-graph --with-program_options --prefix=${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE} install
#dynamic
#b2 threading=multi address-model=${OS_BUILD} toolset=gcc define=BOOST_USE_WINDOWS_H variant=release link=shared threading=multi --with-thread --with-system --with-filesystem --with-date_time --with-serialization --with-regex --with-graph --with-program_options --prefix=${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE}shared install
#--with-regex dynamic
b2 threading=multi address-model=${OS_BUILD} toolset=gcc define=BOOST_USE_WINDOWS_H variant=release link=shared threading=multi --with-atomic --with-thread --with-system --with-filesystem --with-date_time --with-serialization --with-regex --with-graph --with-program_options --prefix=${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE}shared install
#--with-regex static
#b2 threading=multi address-model=${OS_BUILD} toolset=gcc define=BOOST_USE_WINDOWS_H variant=release link=static threading=multi --with-atomic --with-thread --with-system --with-filesystem --with-date_time --with-serialization --with-regex --with-graph --with-program_options --prefix=${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE} install
#cd ..
#rm -rf boost_${BOOST_VER_WU}
fi
if false; then
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin"
export GMP_VER=6.2.0
cd ${PROJECTS}/CGAL
cd ${SOURCES}
#wget ftp://ftp.gmplib.org/pub/gmp/gmp-${GMP_VER}.tar.bz2
rm -rf gmp-${GMP_VER}
tar xvjf gmp-${GMP_VER}.tar.bz2
cd gmp-${GMP_VER}
make clean
./configure --build=${MINGHOST} --enable-static --enable-cxx --disable-shared --prefix=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}
make && make install
make check
exit
fi
if false; then
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin"
cd ${PROJECTS}/CGAL
cd ${SOURCES}
export MPFR_VER=4.1.0
wget http://www.mpfr.org/mpfr-current/mpfr-${MPFR_VER}.tar.bz2
rm -rf mpfr-${MPFR_VER}
tar xvjf mpfr-${MPFR_VER}.tar.bz2
cd mpfr-${MPFR_VER}
make clean
export CPPFLAGS="-I${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include"
export LDFLAGS="-L${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib"
./configure --build=${MINGHOST} --enable-static --disable-shared --prefix=${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}
make && make install
make check
fi
#make CGAL
if false; then
cd ${PROJECTS}/CGAL
export CGAL_VER=5.3
export CGAL_VER_FULL=5.0.4
#CGAL_VER_FULL=5.3
export ZLIB_VER=1.2.11
#BOOST_VER=1.59.0
BOOST_VER=1.73.0
#BOOST_VER=1.53.0
#BOOST_VER_WU=1_59_0
BOOST_VER_WU=1_73_0
export BOOST_SHARED=
#export MPFR_VER=4.1.0
#export GMP_VER=5.1.2
cd ${SOURCES}
# # this site requires a login so you have to fetch the file interactively
# delete all dynamic boost files *.dll* from boost install otherwise compiles dynamicall and libCGAL has dependency on boost
#wget https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-${CGAL_VER_FULL}/CGAL-${CGAL_VER_FULL}.tar.xz
wget https://github.com/CGAL/cgal/releases/download/v${CGAL_VER_FULL}/CGAL-${CGAL_VER_FULL}.tar.xz
#wget https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-${CGAL_VER_FULL}/CGAL-${CGAL_VER_FULL}-library.tar.xz
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin:/cmake/bin"
rm -rf CGAL-${CGAL_VER}
cd ${SOURCES}
#rm -rf CGAL-${CGAL_VER}
#rm -rf CGAL-${CGAL_FULL_VER}
tar xf ${SOURCES}/CGAL-${CGAL_VER_FULL}.tar.xz
mv CGAL-${CGAL_VER_FULL} CGAL-${CGAL_VER}
export MPFR_DIR=${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}
export GMP_DIR=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}
export ZLIB_DIR=${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
export CPPFLAGS="-I${GMP_DIR}/include -I${MPR_DIR}/include"
export LDFLAGS="-L${GMP_DIR}/lib"
export PKG_CONFIG_PATH="${MPFR_DIR}/lib/pkgconfig:${GMP_DIR}/lib/pkgconfig:${ZLIB_DIR}/lib/pkgconfig"
export PATH="${GMP_DIR}/include:${PATH}"
rm -rf build
mkdir -p build
cd build
#had to copy gmp.h into C:\ming64gcc81\mingw64\x86_64-w64-mingw32\include
#BOOST_SHARED=shared
#had to get rid of the x64 on the boost system and thread libraries
##for some reason if the boost .dlls are in boost bin folder, then static doesn't work.
## To force statis remove the .dlls from boost folder so you just have the .a in lib left
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE} \
-DBoost_USE_STATIC_LIBS=ON -DCMAKE_CXX_FLAGS:STRING="-DBOOST_THREAD_USE_LIB -DBoost_USE_STATIC_LIBS -DBOOST_USE_WINDOWS_H" \
-DBOOST_ROOT:PATH=${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE}${BOOST_SHARED} -DBoost_NO_SYSTEM_PATHS=ON \
-DBoost_DEBUG=OFF \
-DGMP_ROOT:PATH=${GMP_DIR} \
-DWITH_CGAL_Core=ON -DWITH_CGAL_ImageIO=OFF -DWITH_CGAL_Qt5=OFF \
../CGAL-${CGAL_VER}
make
make install
exit
fi
#SFCGAL from git head
if false; then
export SFCGAL_VER=1.4.0
#export CGAL_VER=4.11
export CGAL_VER=5.3
export CGAL_DIR=${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin
echo "GMP VER is ${GMP_VER}"
#exit
#export PATH="/mingw/bin:/mingw/include:/c/Windows/system32"
PATH="${PATH}:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/bin"
PATH="${PATH}:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/bin"
PATH="${PATH}:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib"
#PATH="${PATH}:${PROJECTS}/CGAL/gmp-${GMP_VER}"
#PATH="${PATH}:.:/bin:/include"
export PATH="${PATH}:/cmake/bin"
cd ${PROJECTS}/CGAL
#cd ${SOURCES}
#rm -rf SFCGAL-${SFCGAL_VER}
#wget --no-check-certificate -O SFCGAL-${SFCGAL_VER}.tar.gz https://gitlab.com/Oslandia/SFCGAL/-/archive/v${SFCGAL_VER}/SFCGAL-v${SFCGAL_VER}.tar.gz
#wget https://gitlab.com/Oslandia/SFCGAL/-/archive/master/SFCGAL-master.tar.gz
#tar xvfz SFCGAL-${SFCGAL_VER}.tar.gz
export PATH="/mingw/bin:/mingw/include:/c/Windows/system32"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/bin"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/bin"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib"
# #PATH="${PATH}:${PROJECTS}/CGAL/gmp-${GMP_VER}"
# PATH="${PATH}:.:/bin:/include"
# #export PATH="/mingw/bin:/mingw/include:/c/Windows/system32"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/bin"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/bin"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib"
#PATH="${PATH}:${PROJECTS}/CGAL/gmp-${GMP_VER}"
PATH="${PATH}:.:/bin:/include"
export PATH="${PATH}:/cmake/bin"
#cd ${PROJECTS}/CGAL
#wget --no-check-certificate -O SFCGAL-${SFCGAL_VER}.tar.gz https://github.com/Oslandia/SFCGAL/archive/v${SFCGAL_VER}.tar.gz
#tar -xvf SFCGAL-${SFCGAL_VER}.tar.gz
export MPFR_DIR=${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}
export GMP_DIR=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}
export CPPFLAGS="-I${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include"
export LDFLAGS="-L${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib"
export CGAL_DIR=${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}
export GMP_INCLUDE_DIRS=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include
export GMP_LIBRARIES=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib/libgmp.a
export CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
export BOOST_SHARED=
# cd ${PROJECTS}/cgal/sfcgal
# cd build${OS_BUILD}${GCC_TYPE}
# make
# exit
#git clone https://gitlab.com/Oslandia/SFCGAL.git sfcgal-git
cd sfcgal-git
#git reset --hard
#git checkout
# git clean -fd
# git pull
git checkout v${SFCGAL_VER}
# git checkout master
#git pull
#git clean -fd
#cd ${PROJECTS}/cgal/sfcgal
#make sure to change file src/CMakeList.txt move MPFR check before GMP
rm -rf build${OS_BUILD}${GCC_TYPE}
mkdir -p build${OS_BUILD}${GCC_TYPE}
cd build${OS_BUILD}${GCC_TYPE}
#export Boost_USE_STATIC_LIBS=ON
#if gmp include not find, hack teh cgal/lib/CGAL/CGALConfig.make replacing C:\ming..\Projects with /projects
#change CMakefile to force Boost_USE_STATIC_LIBS otherwise compile error, it ignores the cmake setting
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE:STRING=Release -DCGAL_DIR="${CGAL_DIR}" -DCMAKE_INSTALL_PREFIX:PATH=${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE} \
-DGMP_INCLUDE_DIR:PATH=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include \
-DBOOST_ROOT:PATH=${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE}${BOOST_SHARED} \
-DBoost_USE_STATIC_LIBS=true \
${PROJECTS}/cgal/sfcgal-git
#exit
make
make install
cd ${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin
strip *.dll
#config file looks for dll in the lib folder instead of bin
cp ${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin/*.dll ${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib
#replace windows path format (drive latter) with unix path format
sed -i "/prefix=./c\prefix=${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}" ${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin/sfcgal-config
fi
#build sfcgal tar ball
if false; then
export SFCGAL_VER=1.3.8
#export CGAL_VER=4.11
export CGAL_VER=5.1
export CGAL_DIR=${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin
echo "GMP VER is ${GMP_VER}"
#exit
#export PATH="/mingw/bin:/mingw/include:/c/Windows/system32"
PATH="${PATH}:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/bin"
PATH="${PATH}:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/bin"
PATH="${PATH}:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib"
#PATH="${PATH}:${PROJECTS}/CGAL/gmp-${GMP_VER}"
#PATH="${PATH}:.:/bin:/include"
export PATH="${PATH}:/cmake/bin"
#cd ${PROJECTS}/CGAL
cd ${SOURCES}
#rm -rf SFCGAL-${SFCGAL_VER}
#wget --no-check-certificate -O SFCGAL-${SFCGAL_VER}.tar.gz https://github.com/Oslandia/SFCGAL/archive/v${SFCGAL_VER}.tar.gz
#tar xvfz SFCGAL-${SFCGAL_VER}.tar.gz
export PATH="/mingw/bin:/mingw/include:/c/Windows/system32"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/bin"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/bin"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib"
# #PATH="${PATH}:${PROJECTS}/CGAL/gmp-${GMP_VER}"
# PATH="${PATH}:.:/bin:/include"
# #export PATH="/mingw/bin:/mingw/include:/c/Windows/system32"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/bin"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/bin"
# PATH="${PATH}:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib"
#PATH="${PATH}:${PROJECTS}/CGAL/gmp-${GMP_VER}"
PATH="${PATH}:.:/bin:/include"
export PATH="${PATH}:/cmake/bin"
#cd ${PROJECTS}/CGAL
#wget --no-check-certificate -O SFCGAL-${SFCGAL_VER}.tar.gz https://github.com/Oslandia/SFCGAL/archive/v${SFCGAL_VER}.tar.gz
#tar -xvf SFCGAL-${SFCGAL_VER}.tar.gz
export MPFR_DIR=${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}
export GMP_DIR=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}
export CPPFLAGS="-I${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include"
export LDFLAGS="-L${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib"
export CGAL_DIR=${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}
export GMP_INCLUDE_DIRS=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include
export GMP_LIBRARIES=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib/libgmp.a
export CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
export BOOST_SHARED=
cd ${PROJECTS}/cgal/sfcgal
#make sure to change file src/CMakeList.txt move MPFR check before GMP
rm -rf build${OS_BUILD}${GCC_TYPE}
mkdir -p build${OS_BUILD}${GCC_TYPE}
cd build${OS_BUILD}${GCC_TYPE}
#export Boost_USE_STATIC_LIBS=ON
#if gmp include not find, hack teh cgal/lib/CGAL/CGALConfig.make replacing C:\ming..\Projects with /projects
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE:STRING=Release -DCGAL_DIR="${CGAL_DIR}" -DCMAKE_INSTALL_PREFIX:PATH=${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE} \
-DGMP_INCLUDE_DIR:PATH=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include \
-DBOOST_ROOT:PATH=${PROJECTS}/boost/rel-${BOOST_VER_WU}w${OS_BUILD}${GCC_TYPE}${BOOST_SHARED} \
-DBoost_USE_STATIC_LIBS=TRUE \
${SOURCES}/SFCGAL-${SFCGAL_VER}
exit
make
make install
cd ${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin
strip *.dll
#config file looks for dll in the lib folder instead of bin
cp ${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin/*.dll ${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib
#replace windows path format (drive latter) with unix path format
sed -i "/prefix=./c\prefix=${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}" ${PROJECTS}/CGAL/rel-sfcgal-${SFCGAL_VER}w${OS_BUILD}${GCC_TYPE}/bin/sfcgal-config
fi
#--SFCGAL and pgRouting dependencies end here --
#from tar
if false; then
export LIBXML_VER=2.9.9
cd ${PROJECTS}/postgresql
export PG_VER=9.4w${OS_BUILD}${GCC_TYPE}
export PG_VER_FULL=9.4.12
export PG_DIR=${PROJECTS}/postgresql/postgresql-${PG_VER_FULL}
#cd ${PG_DIR}/contrib/hstore
#make clean
#make
#make install
#exit;
#rm postgresql-${PG_VER_FULL}.tar.bz2
rm -rf postgresql-${PG_VER_FULL}
wget http://ftp.postgresql.org/pub/source/v${PG_VER_FULL}/postgresql-${PG_VER_FULL}.tar.bz2
#wget http://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2
#tar -xvjf postgresql-snapshot.tar.bz2
tar -xvjf postgresql-${PG_VER_FULL}.tar.bz2
#gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -shared -o hstore.dll hstore_io.o hstore_op.o hstore_gist.o hstore_gin.o hstore_compat.o crc32.o -L../../src/port -L../../src/common -Wl,--allow-multiple-definition -Wl,--disable-auto-import -Wl,--as-needed -L../../src/backend -lpostgres -lpgcommon -lpgport -lm -lws2_32 -lshfolder -Wl,--export-all-symbols -Wl,--out-implib=libhstore.a
#9.3
#gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I. -I. -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND "-I../../src/include/port/win32" -c -o hstore_io.o hstore_io.c
#dllwrap -o hstore.dll --dllname hstore.dll --def libhstoredll.def hstore_io.o hstore_op.o hstore_gist.o hstore_gin.o hstore_compat.o crc32.o -L../../src/port -L../../src/common -Wl,--allow-multiple-definition -Wl,--as-needed -L../../src/backend -lpostgres
cd postgresql-${PG_VER_FULL}
export PATH="${PROJECTS}/rel/pg${PG_VER}/bin:${PROJECTS}/rel/pg${PG_VER}/lib:$PATH"
export PATH="${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/bin:$PATH"
make distclean
#if you are building for 64-bit then use x86_64-w64-mingw32 for the build,host,target
#32 bit uses i686-w64-mingw32 for build, host, target
#9.4 LDFLAGS=-Wl,--allow-multiple-definition -Wl,--disable-auto-import -Wl,--as-needed
#9.3 LDFLAGS=-Wl,--allow-multiple-definition -Wl,--as-needed
export LDFLAGS=-Wl,--allow-multiple-definition -Wl,--enable-auto-import -Wl,--as-needed
./configure --prefix=${PROJECTS}/postgresql/rel/pg${PG_VER}\
--build=${MINGHOST} \
--with-pgport=8443 --disable-float8-byval --enable-cassert --enable-debug \
--without-zlib --with-libxml
make clean
make
#gmake world
rm -rf ${PROJECTS}/postgresql/rel/pg${PG_VER}
make install
make check
#gmake install-world
cd ${PG_DIR}/contrib/postgres_fdw
make install
cd ${PG_DIR}/contrib/hstore
make
make install
cd ${PG_DIR}/contrib/fuzzystrmatch
make
make install
cd ${PG_DIR}/contrib/pg_trgm
make
make install
exit;
fi
#from tar
if false; then
export LIBXML_VER=2.9.9
cd ${PROJECTS}/postgresql
export PG_VER=9.6w${OS_BUILD}${GCC_TYPE}
export PG_VER_FULL=9.6.2
export PG_DIR=${PROJECTS}/postgresql/postgresql-${PG_VER_FULL}
rm postgresql-${PG_VER_FULL}.tar.bz2
rm -rf postgresql-${PG_VER_FULL}
wget http://ftp.postgresql.org/pub/source/v${PG_VER_FULL}/postgresql-${PG_VER_FULL}.tar.bz2
#wget http://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2
#tar -xvjf postgresql-snapshot.tar.bz2
tar -xvjf postgresql-${PG_VER_FULL}.tar.bz2
cd postgresql-${PG_VER_FULL}
export PATH="${PROJECTS}/rel/pg${PG_VER}/bin:${PROJECTS}/rel/pg${PG_VER}/lib:$PATH"
export PATH="${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/bin:$PATH"
make distclean
#if you are building for 64-bit then use x86_64-w64-mingw32 for the build,host,target
#32 bit uses i686-w64-mingw32 for build, host, target
#9.4 LDFLAGS=-Wl,--allow-multiple-definition -Wl,--disable-auto-import -Wl,--as-needed
#9.3 LDFLAGS=-Wl,--allow-multiple-definition -Wl,--as-needed
#export LDFLAGS=-Wl,--allow-multiple-definition -Wl,--enable-auto-import -Wl,--as-needed
./configure --prefix=${PROJECTS}/postgresql/rel/pg${PG_VER}\
--build=${MINGHOST} \
--with-pgport=8443 --enable-cassert --enable-debug \
--without-zlib --with-libxml
make clean
make
rm -rf ${PROJECTS}/postgresql/rel/pg${PG_VER}
make install
make check
#gmake install-world
cd ${PG_DIR}/contrib/postgres_fdw
make install
cd ${PG_DIR}/contrib/hstore
make
make install
cd ${PG_DIR}/contrib/fuzzystrmatch
make
make install
cd ${PG_DIR}/contrib/pg_trgm
make
make install
fi
#from tar
if false; then
export LIBXML_VER=2.9.9
cd ${PROJECTS}/postgresql
export PG_VER=9.6w${OS_BUILD}${GCC_TYPE}
export PG_VER_FULL=9.6.0
export PG_DIR=${PROJECTS}/postgresql/postgresql-${PG_VER_FULL}
#cd ${PG_DIR}/contrib/hstore
#make clean
#make
#make install
#exit;
#rm postgresql-${PG_VER_FULL}.tar.bz2
#rm -rf postgresql-${PG_VER_FULL}
#wget http://ftp.postgresql.org/pub/source/v${PG_VER_FULL}/postgresql-${PG_VER_FULL}.tar.bz2
#wget http://ftp.postgresql.org/pub/snapshot/${PG_VER_FULL}/postgresql-${PG_VER_FULL}-snapshot.tar.bz2
#tar -xvjf postgresql-${PG_VER_FULL}-snapshot.tar.bz2
#tar -xvjf postgresql-${PG_VER_FULL}.tar.bz2
#gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -shared -o hstore.dll hstore_io.o hstore_op.o hstore_gist.o hstore_gin.o hstore_compat.o crc32.o -L../../src/port -L../../src/common -Wl,--allow-multiple-definition -Wl,--disable-auto-import -Wl,--as-needed -L../../src/backend -lpostgres -lpgcommon -lpgport -lm -lws2_32 -lshfolder -Wl,--export-all-symbols -Wl,--out-implib=libhstore.a
#9.3
#gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -I. -I. -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND "-I../../src/include/port/win32" -c -o hstore_io.o hstore_io.c
#dllwrap -o hstore.dll --dllname hstore.dll --def libhstoredll.def hstore_io.o hstore_op.o hstore_gist.o hstore_gin.o hstore_compat.o crc32.o -L../../src/port -L../../src/common -Wl,--allow-multiple-definition -Wl,--as-needed -L../../src/backend -lpostgres
cd postgresql-${PG_VER_FULL}
export PATH="${PROJECTS}/rel/pg${PG_VER}/bin:${PROJECTS}/rel/pg${PG_VER}/lib:$PATH"
export PATH="${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/bin:$PATH"
make distclean
#if you are building for 64-bit then use x86_64-w64-mingw32 for the build,host,target
#32 bit uses i686-w64-mingw32 for build, host, target
#9.4 LDFLAGS=-Wl,--allow-multiple-definition -Wl,--disable-auto-import -Wl,--as-needed
#9.3 LDFLAGS=-Wl,--allow-multiple-definition -Wl,--as-needed
#export LDFLAGS=-Wl,--allow-multiple-definition -Wl,--enable-auto-import -Wl,--as-needed
./configure --prefix=${PROJECTS}/postgresql/rel/pg${PG_VER}\
--build=${MINGHOST} \
--with-pgport=8443 --enable-cassert --enable-debug \
--without-zlib --with-libxml
#9.4 and below add
## --disable-float8-byval
make clean
make
#gmake world
rm -rf ${PROJECTS}/postgresql/rel/pg${PG_VER}
make install
make check
#gmake install-world
cd ${PG_DIR}/contrib/postgres_fdw
make install
cd ${PG_DIR}/contrib/hstore
make
make install
cd ${PG_DIR}/contrib/fuzzystrmatch
make
make install
cd ${PG_DIR}/contrib/pg_trgm
make
make install
cd ${PG_DIR}/contrib/bloom
make
make install
cd ${PG_DIR}/contrib/earthdistance
make
make install
exit;
fi
#from tar master branch
if false; then
export LIBXML_VER=2.9.9
cd ${PROJECTS}/postgresql
export PG_VER=10w${OS_BUILD}${GCC_TYPE}
export PG_VER_FULL=10.3
export PG_DIR=${PROJECTS}/postgresql/postgresql-${PG_VER_FULL}
export ZLIB_VER=1.2.11
rm postgresql-${PG_VER_FULL}.tar.bz2
# rm postgresql-snapshot.tar.bz2
# rm -rf postgresql-${PG_VER_FULL}
wget http://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2
tar -xvjf postgresql-snapshot.tar.bz2
cd postgresql-${PG_VER_FULL}
export PATH="${PROJECTS}/rel/pg${PG_VER}/bin:${PROJECTS}/rel/pg${PG_VER}/lib:$PATH"
export PATH="${PROJECTS}/zlib/rel-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/lib:$PATH"
export PATH="${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/bin:$PATH"
export PATH="${PROJECTS}/zlib/rel-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/bin:$PATH"
# make distclean
#./configure --prefix=${PROJECTS}/postgresql/rel/pg${PG_VER}\
# --build=${MINGHOST} \
# --with-pgport=8443 --enable-cassert --enable-debug \
# --with-zlib --with-libxml
## make clean
#make
## #gmake world
## rm -rf ${PROJECTS}/postgresql/rel/pg${PG_VER}
#make install
#make check
#gmake install-world
cd ${PG_DIR}/contrib/fuzzystrmatch
make
make install
cd ${PG_DIR}/contrib/adminpack
make && make install
cd ${PG_DIR}/contrib/auto_explain
make && make install
cd ${PG_DIR}/contrib/btree_gin
make install
cd ${PG_DIR}/contrib/btree_gist
make install
cd ${PG_DIR}/contrib/dblink
make install
exit
cd ${PG_DIR}/contrib/postgres_fdw
make install
cd ${PG_DIR}/contrib/hstore
make
make install
cd ${PG_DIR}/contrib/pg_trgm
make
make install
cd ${PG_DIR}/contrib/bloom
make
make install
cd ${PG_DIR}/contrib/earthdistance
make
make install
exit;
fi
if false; then #make PostgreSQL 9.6 from git
export LIBXML_VER=2.9.9
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin"
cd ${PROJECTS}/postgresql
#export PG_VER_FULL=9.6
#export PG_VER_FULL=9.5
export PG_VER_FULL=13
export PG_VER=${PG_VER_FULL}w${OS_BUILD}${GCC_TYPE}
export PG_DIR=${PROJECTS}/postgresql/postgresql-git
export PGUSER=postgres
#rm -rf $PG_DIR
#wget https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2
#tar -xvjf postgresql-snapshot.tar.bz2
git config --global core.autocrlf false
#git clone https://git.postgresql.org/git/postgresql.git $PG_DIR
#git clone --depth=1 -b REL_10_STABLE http://git.postgresql.org/git/postgresql.git $PG_DIR
cd $PG_DIR
git checkout REL_${PG_VER_FULL}_STABLE
#git checkout REL9_6_STABLE
git clean -fd
#git checkout REL9_5_STABLE
#git checkout master
git pull
git clean -fd #-n use -n to see files tath will be deleted
#exit
#dos2unix *
#dos2unix *.*
#dos2unix */*.*
#dos2unix */*/*.h
#find . -type f -exec dos2unix --safe {} \;
#exit
#find -type f -not \( -wholename '*git*' \) -exec dos2unix {} \;
#exit;
#export PATH="${PROJECTS}/rel/pg${PG_VER}/bin:${PROJECTS}/rel/pg${PG_VER}/lib:$PATH"
#make clean
#make distclean
# cd ${PG_DIR}/contrib/hstore
# make
# make install
# make installcheck
# make install
# make installcheck
# cd ${PG_DIR}/contrib/pg_trgm
# make
# make install
# make installcheck
# exit
#sh autogen.sh
#autoconf
#exit
#if you are building for 64-bit then use x86_64-w64-mingw32 for the build,host,target
#32 bit uses i686-w64-mingw32 for build, host, target
#9.4 LDFLAGS=-Wl,--allow-multiple-definition -Wl,--disable-auto-import -Wl,--as-needed
#9.3 LDFLAGS=-Wl,--allow-multiple-definition -Wl,--as-needed
#export LDFLAGS=-Wl,--allow-multiple-definition -Wl,--enable-auto-import -Wl,--as-needed
export LIBXML_VER=2.9.9
export ZLIB_VER=1.2.11
export ZLIB_PATH=${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
export CPPFLAGS="-I${ZLIB_PATH}/include -I${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/include"
export LDFLAGS="-L${ZLIB_PATH}/lib -L${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/lib"
export PATH=${PATH}:${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}/bin
./configure --prefix=${PROJECTS}/postgresql/rel/pg${PG_VER}\
--build=${MINGHOST} \
--with-pgport=8443 --enable-cassert --enable-debug \
--with-zlib --with-libxml
#for 9.4 and below for EDB add to configure --with-float-by-val=false
make clean
make
#gmake world
rm -rf ${PROJECTS}/postgresql/rel/pg${PG_VER}
make install
make check
#gmake install-world
cd ${PG_DIR}/contrib/postgres_fdw
make && make install
cd ${PG_DIR}/contrib/hstore
make
make install
cd ${PG_DIR}/contrib/fuzzystrmatch
make
make install
cd ${PG_DIR}/contrib/pg_trgm
make
make install
exit;
fi
#lz4 for PostgreSQL 14 and above
if false; then
cd /projects/lz4
#wget https://github.com/lz4/lz4/archive/refs/tags/v1.9.3.tar.gz
#tar -xvf v1.9.3.tar.gz
export LZ4_VER=1.9.3
PATH="${PATH}:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/bin"
PATH="${PATH}:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/lib:${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/bin"
PATH="${PATH}:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/include:${PROJECTS}/CGAL/rel-cgal-${CGAL_VER}w${OS_BUILD}${GCC_TYPE}/lib"
#PATH="${PATH}:${PROJECTS}/CGAL/gmp-${GMP_VER}"
#PATH="${PATH}:.:/bin:/include"
export PATH="${PATH}:/cmake/bin"
cd lz4-${LZ4_VER}
#export CMAKE_PARAMS='-G"MSYS Makefiles" -DCMAKE_INSTALL_PREFIX:PATH="${PROJECTS}/lz4/rel-lz4-w${OS_BUILD}${GCC_TYPE}"'
#export CC=g++
cd build/cmake
cmake -G"MSYS Makefiles" -DCMAKE_INSTALL_PREFIX:PATH="${PROJECTS}/lz4/rel-lz4-${LZ4_VER}w${OS_BUILD}${GCC_TYPE}" CMakeLists.txt
make
make install
fi
if true; then #make PostgreSQL from git 14
export LIBXML_VER=2.9.9
export ZLIB_VER=1.2.11
export PATH="/mingw/bin:/mingw/include:/mingw/lib:/bin"
cd ${PROJECTS}/postgresql
export feature_type=
export PG_VER_FULL=14${feature_type}
export PG_VER=${PG_VER_FULL}w${OS_BUILD}${GCC_TYPE}
export PG_DIR=${PROJECTS}/postgresql/postgresql-git
export PGUSER=postgres
export ZLIB_PATH=${PROJECTS}/zlib/rel-zlib-${ZLIB_VER}w${OS_BUILD}${GCC_TYPE}
export LZ4_VER=1.9.3
export LZ4_PATH=${PROJECTS}/lz4/rel-lz4-${LZ4_VER}w${OS_BUILD}${GCC_TYPE}
export CPPFLAGS="-I${ZLIB_PATH}/include -I${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/include"
export LDFLAGS="-L${ZLIB_PATH}/lib -L${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/lib"
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:/mingw/${MINGHOST}/lib/pkgconfig:${LZ4_PATH}/lib/pkgconfig"
git clone --depth=1 -b master https://git.postgresql.org/git/postgresql.git $PG_DIR
cd $PG_DIR
# cd ${PG_DIR}/contrib/pageinspect
# make && make install
# exit
#git checkout master
git clean -fd
git pull
git reset --hard
git pull
#make && make check
#exit
#git checkout REL${PG_VER_FULL/./_}_STABLE #for 9.6
git checkout REL_${PG_VER_FULL/./_}_STABLE #for pg11/12/13/14
export PATH=${PATH}:${PROJECTS}/libxml/rel-libxml2-${LIBXML_VER}w${OS_BUILD}${GCC_TYPE}/bin:${PROJECTS}/libxml
export PATH=${PATH}:${ZLIB_PATH}/bin:${ZLIB_PATH}/lib:${ZLIB_PATH}/include:${LZ4_PATH}/lib:${LZ4_PATH}/include
./configure --prefix=${PROJECTS}/postgresql/rel/pg${PG_VER}\
--build=${MINGHOST} \
--with-pgport=8447 --enable-cassert --enable-debug \
--with-zlib --with-libxml --with-lz4
#exit
#for 9.4 and below for EDB add to configure --with-float-by-val=false
make clean
#rm -rf ${PROJECTS}/postgresql/rel/pg${PG_VER}
#make check
make && make check
rm -rf ${PROJECTS}/postgresql/rel/pg${PG_VER}
make install
#gmake install-world
#exit
#gmake install-world
cd ${PG_DIR}/contrib/fuzzystrmatch
make && make install
cd ${PG_DIR}/contrib/file_fdw
make && make install
cd ${PG_DIR}/contrib/postgres_fdw
make && make install
cd ${PG_DIR}/contrib/hstore
make
make install
cd ${PG_DIR}/contrib/pg_trgm
make && make install
cd ${PG_DIR}/contrib/pg_stat_statements
make && make install
cd ${PG_DIR}/contrib/pageinspect
make && make install
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment