mirror of https://github.com/postgres/postgres
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.1 KiB
49 lines
1.1 KiB
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
ENABLE_COVERAGE=
|
|
|
|
for arg in "$@"
|
|
do
|
|
case "$arg" in
|
|
--enable-coverage)
|
|
ENABLE_COVERAGE="-Db_coverage=true"
|
|
shift;;
|
|
esac
|
|
done
|
|
|
|
SCRIPT_DIR="$(cd -- "$(dirname "$0")" >/dev/null 2>&1; pwd -P)"
|
|
INSTALL_DIR="$SCRIPT_DIR/../../pginst"
|
|
source "$SCRIPT_DIR/env.sh"
|
|
|
|
cd "$SCRIPT_DIR/.."
|
|
|
|
BUILD_TYPE=
|
|
|
|
case "$1" in
|
|
debug)
|
|
echo "Building with debug option"
|
|
BUILD_TYPE=$1
|
|
;;
|
|
|
|
debugoptimized)
|
|
echo "Building with debugoptimized option"
|
|
BUILD_TYPE=$1
|
|
;;
|
|
|
|
sanitize)
|
|
echo "Building with sanitize option"
|
|
export CFLAGS="-fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer -fno-inline-functions"
|
|
BUILD_TYPE=debug
|
|
;;
|
|
|
|
*)
|
|
echo "Unknown build type: $1"
|
|
echo "Please use one of the following: debug, debugoptimized, sanitize"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
meson setup build --prefix "$INSTALL_DIR" --buildtype="$BUILD_TYPE" -Dcassert=true -Dtap_tests=enabled $ENABLE_COVERAGE
|
|
cd build && ninja && ninja install
|
|
|