git-subtree-dir: third_party/mason git-subtree-split: c7a967003a7113a17faafe3b41082ad1ae3f1c2f
71 lines
2.4 KiB
Bash
Executable File
71 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
MASON_NAME=postgres
|
|
MASON_VERSION=9.6.1
|
|
MASON_LIB_FILE=bin/psql
|
|
|
|
. ${MASON_DIR}/mason.sh
|
|
|
|
function mason_load_source {
|
|
mason_download \
|
|
http://ftp.postgresql.org/pub/source/v${MASON_VERSION}/postgresql-${MASON_VERSION}.tar.bz2 \
|
|
6aef3fb521aaf987a9363a314ff7d5539b6601cd
|
|
|
|
mason_extract_tar_bz2
|
|
|
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/postgresql-${MASON_VERSION}
|
|
}
|
|
|
|
function mason_compile {
|
|
if [[ ${MASON_PLATFORM} == 'linux' ]]; then
|
|
mason_step "Loading patch"
|
|
patch src/include/pg_config_manual.h ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff
|
|
fi
|
|
|
|
# note CFLAGS overrides defaults (-Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument) so we need to add optimization flags back
|
|
export CFLAGS="${CFLAGS} -O3 -DNDEBUG -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument"
|
|
./configure \
|
|
--prefix=${MASON_PREFIX} \
|
|
${MASON_HOST_ARG} \
|
|
--enable-thread-safety \
|
|
--enable-largefile \
|
|
--with-python \
|
|
--with-zlib \
|
|
--without-bonjour \
|
|
--without-openssl \
|
|
--without-pam \
|
|
--without-gssapi \
|
|
--without-ossp-uuid \
|
|
--without-readline \
|
|
--without-ldap \
|
|
--without-libxml \
|
|
--without-libxslt \
|
|
--without-selinux \
|
|
--without-perl \
|
|
--without-tcl \
|
|
--disable-rpath \
|
|
--disable-debug \
|
|
--disable-profiling \
|
|
--disable-coverage \
|
|
--disable-dtrace \
|
|
--disable-depend \
|
|
--disable-cassert
|
|
|
|
make -j${MASON_CONCURRENCY} -C src/interfaces/libpq/ install
|
|
rm -f src/interfaces/libpq{*.so*,*.dylib}
|
|
rm -f ${MASON_PREFIX}/lib/libpq{*.so*,*.dylib}
|
|
MASON_LIBPQ_PATH=${MASON_PREFIX}/lib/libpq.a
|
|
MASON_LIBPQ_PATH2=${MASON_LIBPQ_PATH////\\/}
|
|
perl -i -p -e "s/\-lpq/${MASON_LIBPQ_PATH2} -pthread/g;" src//Makefile.global.in
|
|
perl -i -p -e "s/\-lpq/${MASON_LIBPQ_PATH2} -pthread/g;" src//Makefile.global
|
|
make -j${MASON_CONCURRENCY} install
|
|
make -j${MASON_CONCURRENCY} -C contrib/hstore install
|
|
rm -f ${MASON_PREFIX}/lib/lib{*.so*,*.dylib}
|
|
}
|
|
|
|
function mason_clean {
|
|
make clean
|
|
}
|
|
|
|
mason_run "$@"
|