mirror of https://github.com/citusdata/citus.git
110 lines
3.7 KiB
Plaintext
110 lines
3.7 KiB
Plaintext
# Citus autoconf input script.
|
|
#
|
|
# Converted into an actual configure script by autogen.sh. This
|
|
# conversion only has to be done when configure.in changes. To avoid
|
|
# everyone needing autoconf installed, the resulting files are checked
|
|
# into the SCM.
|
|
|
|
AC_INIT([Citus], [5.0], [], [citus], [])
|
|
AC_COPYRIGHT([Copyright (c) Copyright (c) 2012-2015, Citus Data, Inc.])
|
|
|
|
AC_PROG_SED
|
|
|
|
# Locate pg_config binary
|
|
AC_ARG_VAR([PG_CONFIG], [Location to find pg_config for target PostgreSQL instalation (default PATH)])
|
|
AC_ARG_VAR([PATH], [PATH for target PostgreSQL install pg_config])
|
|
|
|
if test -z "$PG_CONFIG"; then
|
|
AC_PATH_PROG(PG_CONFIG, pg_config)
|
|
fi
|
|
|
|
if test -z "$PG_CONFIG"; then
|
|
AC_MSG_ERROR([Could not find pg_config. Set PG_CONFIG or PATH.])
|
|
fi
|
|
|
|
# check we're building against a supported version of PostgreSQL
|
|
citusac_pg_config_version=$($PG_CONFIG --version 2>/dev/null)
|
|
version_num=$(echo "$citusac_pg_config_version"|
|
|
$SED -e 's/^PostgreSQL \([[0-9]]*\)\.\([[0-9]]*\)\([[a-zA-Z0-9.]]*\)$/\1.\2/')
|
|
|
|
if test -z "$version_num"; then
|
|
AC_MSG_ERROR([Could not detect PostgreSQL version from pg_config.])
|
|
fi
|
|
|
|
if test "$version_num" != '9.4' -a "$version_num" != '9.5'; then
|
|
AC_MSG_ERROR([Citus is not compatible with the detected PostgreSQL version ${version_num}.])
|
|
else
|
|
AC_MSG_NOTICE([building against PostgreSQL $version_num])
|
|
fi;
|
|
|
|
# Check whether we're building inside the source tree, if not, prepare
|
|
# the build directory.
|
|
if test "$srcdir" -ef '.' ; then
|
|
vpath_build=no
|
|
else
|
|
vpath_build=yes
|
|
_AS_ECHO_N([preparing build tree... ])
|
|
citusac_abs_top_srcdir=`cd "$srcdir" && pwd`
|
|
$SHELL "$citusac_abs_top_srcdir/prep_buildtree" "$citusac_abs_top_srcdir" "." \
|
|
|| AC_MSG_ERROR(failed)
|
|
AC_MSG_RESULT(done)
|
|
fi
|
|
AC_SUBST(vpath_build)
|
|
|
|
# Allow to overwrite the C compiler, default to the one postgres was
|
|
# compiled with
|
|
AC_PROG_CC([$($PG_CONFIG --cc)])
|
|
|
|
# check for a number of CFLAGS that make development easier
|
|
|
|
# CITUSAC_PROG_CC_CFLAGS_OPT
|
|
# -----------------------
|
|
# Given a string, check if the compiler supports the string as a
|
|
# command-line option. If it does, add the string to CFLAGS.
|
|
AC_DEFUN([CITUSAC_PROG_CC_CFLAGS_OPT],
|
|
[define([Ac_cachevar], [AS_TR_SH([citusac_cv_prog_cc_cflags_$1])])dnl
|
|
AC_CACHE_CHECK([whether $CC supports $1], [Ac_cachevar],
|
|
[citusac_save_CFLAGS=$CFLAGS
|
|
CFLAGS="$citusac_save_CFLAGS $1"
|
|
ac_save_c_werror_flag=$ac_c_werror_flag
|
|
ac_c_werror_flag=yes
|
|
_AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
|
[Ac_cachevar=yes],
|
|
[Ac_cachevar=no])
|
|
ac_c_werror_flag=$ac_save_c_werror_flag
|
|
CFLAGS="$citusac_save_CFLAGS"])
|
|
if test x"$Ac_cachevar" = x"yes"; then
|
|
CITUS_CFLAGS="$CITUS_CFLAGS $1"
|
|
fi
|
|
undefine([Ac_cachevar])dnl
|
|
])# CITUSAC_PROG_CC_CFLAGS_OPT
|
|
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wall])
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wextra])
|
|
# disarm options included in the above, which are too noisy for now
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wno-unused-parameter])
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wno-sign-compare])
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wno-missing-field-initializers])
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wno-clobbered])
|
|
# And add a few extra warnings
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wdeclaration-after-statement])
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wendif-labels])
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wmissing-format-attribute])
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wmissing-declarations])
|
|
CITUSAC_PROG_CC_CFLAGS_OPT([-Wmissing-prototypes])
|
|
|
|
AC_SUBST(CITUS_CFLAGS, "$CITUS_CFLAGS")
|
|
|
|
AC_CONFIG_FILES([Makefile.global])
|
|
AC_CONFIG_HEADERS([src/include/citus_config.h])
|
|
AH_TOP([
|
|
/*
|
|
* citus_config.h.in is generated by autoconf/autoheader and
|
|
* converted into citus_config.h by configure. Include when code needs to
|
|
* depend on determinations made by configure.
|
|
*
|
|
* Do not manually edit!
|
|
*/
|
|
])
|
|
AC_OUTPUT
|