1
0
Fork 0
arangodb/configure.ac

407 lines
13 KiB
Plaintext

dnl ============================================================================
dnl ArangoDB (c) triAGENS GmbH
dnl ============================================================================
dnl ============================================================================
dnl --SECTION-- triAGENS GmbH Build Environment
dnl ============================================================================
AC_INIT([triAGENS ArangoDB], [2.6.0-devel], [info@arangodb.com], [arangodb], [https://www.arangodb.com])
dnl ----------------------------------------------------------------------------
dnl auxillary directory for install-sh and missing
dnl ----------------------------------------------------------------------------
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_MACRO_DIR([m4])
CURRENT_DIR=`pwd`
AC_MSG_NOTICE([configure started in '$CURRENT_DIR])
AC_MSG_NOTICE([with CC='$CC'])
AC_MSG_NOTICE([with CXX='$CXX'])
AC_MSG_NOTICE([with CPPFLAGS='$CPPFLAGS'])
AC_MSG_NOTICE([with CFLAGS='$CFLAGS'])
AC_MSG_NOTICE([with CXXFLAGS='$CXXFLAGS'])
AC_MSG_NOTICE([with LDFLAGS='$LDFLAGS'])
dnl ----------------------------------------------------------------------------
dnl grab the configure command, options and flags and store them in m4 variables
dnl ----------------------------------------------------------------------------
if test `expr -- [$]0 : "'.*"` = 0; then
TRI_CONFIGURE_COMMAND="$TRI_CONFIGURE_COMMAND '[$]0'"
else
TRI_CONFIGURE_COMMAND="$TRI_CONFIGURE_COMMAND [$]0"
fi
TRI_CONFIGURE_OPTIONS="$ac_configure_args"
for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS EXTRA_LDFLAGS_PROGRAM LIBS CC CXX; do
eval val=\$$var
if test -n "$val"; then
TRI_CONFIGURE_FLAGS="$TRI_CONFIGURE_FLAGS $var='$val'"
fi
done
AC_SUBST(TRI_CONFIGURE_COMMAND)
AC_SUBST(TRI_CONFIGURE_OPTIONS)
AC_SUBST(TRI_CONFIGURE_FLAGS)
AC_DEFINE_UNQUOTED(TRI_CONFIGURE_COMMAND, "$TRI_CONFIGURE_COMMAND", "" , [configure command])
AC_DEFINE_UNQUOTED(TRI_CONFIGURE_OPTIONS, "$TRI_CONFIGURE_OPTIONS", "" , [configure options])
AC_DEFINE_UNQUOTED(TRI_CONFIGURE_FLAGS, "$TRI_CONFIGURE_FLAGS", "" , [configure flags])
dnl ----------------------------------------------------------------------------
dnl grab the git version number if available
dnl ----------------------------------------------------------------------------
if test -d ".git"; then
TRI_REPOSITORY_VERSION=`git describe --all --tags --long --abbrev=40 --dirty="-dirty" 2> /dev/null`
else
TRI_REPOSITORY_VERSION=""
fi
AC_SUBST(TRI_REPOSITORY_VERSION)
AC_DEFINE_UNQUOTED(TRI_REPOSITORY_VERSION, "$TRI_REPOSITORY_VERSION", "" , [repository version])
dnl ============================================================================
dnl --SECTION-- 3RD-PARTY LIBRARIES
dnl ============================================================================
dnl ----------------------------------------------------------------------------
dnl ETCD
dnl ----------------------------------------------------------------------------
AC_ARG_ENABLE(all-in-one-etcd,
AS_HELP_STRING([--enable-all-in-one-etcd], [use supplied etcd from 3rdParty directory (default: yes)]),
[tr_ALL_IN_ONE_ETCD="${enableval:-yes}"],
[tr_ALL_IN_ONE_ETCD=yes]
)
AM_CONDITIONAL(ENABLE_ALL_IN_ONE_ETCD, test "x$tr_ALL_IN_ONE_ETCD" = xyes)
dnl ----------------------------------------------------------------------------
dnl GO
dnl ----------------------------------------------------------------------------
AC_ARG_ENABLE(internal-go,
AS_HELP_STRING([--enable-internal-go], [use go binaries from 3rdParty directory (default: no)]),
[tr_INTERNAL_GO="${enableval:-yes}"],
[tr_INTERNAL_GO=no]
)
AM_CONDITIONAL(ENABLE_INTERNAL_GO, test "x$tr_INTERNAL_GO" = xyes)
if test "x$tr_INTERNAL_GO" = "xno"; then
AC_CHECK_PROG(GO, go, go)
if test "x$GO" = "x"; then
AC_MSG_WARN([no go executable found.])
BASIC_INFO="$BASIC_INFO|GO BINARY: not found"
else
BASIC_INFO="$BASIC_INFO|GO BINARY: $GO"
fi
fi
dnl ============================================================================
dnl --SECTION-- OPTIONS
dnl ============================================================================
dnl ----------------------------------------------------------------------------
dnl RELATIVE PATH
dnl ----------------------------------------------------------------------------
AC_ARG_ENABLE(relative,
AS_HELP_STRING([--enable-relative], [all path are relative to the binary (default: no)]),
[tr_RELATIVE="${enableval:-yes}"],
[tr_RELATIVE=no]
)
AM_CONDITIONAL(ENABLE_RELATIVE, test "x$tr_RELATIVE" = xyes)
if test "x$tr_RELATIVE" != xno; then
BASIC_INFO="$BASIC_INFO|RELATIVE PATHS: enabled"
else
BASIC_INFO="$BASIC_INFO|RELATIVE PATHS: disabled"
fi
dnl ============================================================================
dnl --SECTION-- CONFIGURATION
dnl ============================================================================
m4_include([m4/configure.basics])
AC_PROG_RANLIB
m4_include([m4/configure.logging])
m4_include([m4/configure.largefile])
m4_include([m4/configure.threads])
m4_include([m4/configure.documentation])
m4_include([m4/configure.coverage])
m4_include([m4/configure.maintainer])
dnl ============================================================================
dnl --SECTION-- EXTERNAL LIBRARIES
dnl ============================================================================
dnl ----------------------------------------------------------------------------
dnl -lrt
dnl ----------------------------------------------------------------------------
m4_include([m4/clock_gettime])
AC_CLOCK()
dnl ----------------------------------------------------------------------------
dnl MATH
dnl ----------------------------------------------------------------------------
m4_include([m4/external.math])
dnl ----------------------------------------------------------------------------
dnl READLINE
dnl ----------------------------------------------------------------------------
m4_include([m4/external.readline])
dnl ----------------------------------------------------------------------------
dnl OPENSSL
dnl ----------------------------------------------------------------------------
m4_include([m4/external.openssl])
dnl ----------------------------------------------------------------------------
dnl MRUBY
dnl ----------------------------------------------------------------------------
MRUBY_CPPFLAGS=""
MRUBY_LDLAGS=""
MRUBY_LIBSLAGS=""
AC_ARG_ENABLE(mruby,
AS_HELP_STRING([--enable-mruby], [enable MRUBY (default: no)]),
[tr_MRUBY="${enableval:-yes}"],
[tr_MRUBY=no]
)
if test "x$tr_MRUBY" = "xyes"; then
MRUBY_VERSION="2013-08-22 (aa099f7f7d1f8c61db936fb7c39a3c734175af16)"
MRUBY_CPPFLAGS="-I${srcdir}/3rdParty/mruby/include -DTRI_MRUBY_VERSION='\"${MRUBY_VERSION}\"'"
MRUBY_LDFLAGS=""
MRUBY_LIBS="${srcdir}/3rdParty/mruby/build/host/lib/libmruby.a"
fi
AM_CONDITIONAL(ENABLE_MRUBY, test "x$tr_MRUBY" = "xyes")
AC_SUBST(MRUBY_CPPFLAGS)
AC_SUBST(MRUBY_LDFLAGS)
AC_SUBST(MRUBY_LIBS)
if test "x$tr_MRUBY" = "xyes"; then
LIB_INFO="$LIB_INFO|MRUBY: 3rdParty version"
LIB_INFO="$LIB_INFO|MRUBY VERSION: ${TRI_MRUBY_VERSION}"
LIB_INFO="$LIB_INFO|MRUBY_CPPFLAGS: ${MRUBY_CPPFLAGS}"
LIB_INFO="$LIB_INFO|MRUBY_LDFLAGS: ${MRUBY_LDFLAGS}"
LIB_INFO="$LIB_INFO|MRUBY_LIBS: ${MRUBY_LIBS}"
else
LIB_INFO="$LIB_INFO|MRUBY: disabled"
fi
LIB_INFO="$LIB_INFO|."
dnl ----------------------------------------------------------------------------
dnl V8
dnl ----------------------------------------------------------------------------
V8_VERSION="3.31.74.1"
V8_DIR=V8-${V8_VERSION}
V8_CPPFLAGS="-I${srcdir}/3rdParty/${V8_DIR}/include -DTRI_V8_VERSION='\"${V8_VERSION}\"'"
V8_LDFLAGS=""
V8_TARGET="native"
v8_lib_dir=""
AC_ARG_ENABLE(v8-debug,
AS_HELP_STRING([--enable-v8-debug], [build debug version of V8 (default: no)]),
[tr_V8_DEBUG="${enableval:-yes}"],
[tr_V8_DEBUG=no]
)
AM_CONDITIONAL(ENABLE_V8_DEBUG, test "x$tr_V8_DEBUG" = xyes)
if test x$tr_ARM == xyes; then
if test x$tr_V8_DEBUG == xyes; then
V8_TARGET="arm.debug"
else
V8_TARGET="arm.release"
fi
v8_lib_dir="${srcdir}/3rdParty/${V8_DIR}/out/$V8_TARGET/obj.target/tools/gyp"
elif test x$tr_DARWIN == xyes; then
if test "x$tr_BITS" == x64; then
if test x$tr_V8_DEBUG == xyes; then
V8_TARGET="x64.debug"
else
V8_TARGET="x64.release"
fi
else
if test x$tr_V8_DEBUG == xyes; then
V8_TARGET="ia32.debug"
else
V8_TARGET="ia32.release"
fi
fi
v8_lib_dir="${srcdir}/3rdParty/${V8_DIR}/out/$V8_TARGET"
else
if test "x$tr_BITS" == x64; then
if test x$tr_V8_DEBUG == xyes; then
V8_TARGET="x64.debug"
else
V8_TARGET="x64.release"
fi
else
if test x$tr_V8_DEBUG == xyes; then
V8_TARGET="ia32.debug"
else
V8_TARGET="ia32.release"
fi
fi
v8_lib_dir="${srcdir}/3rdParty/${V8_DIR}/out/$V8_TARGET/obj.target/tools/gyp"
fi
V8_LIBS="${v8_lib_dir}/libv8_base.a ${v8_lib_dir}/libv8_libbase.a ${v8_lib_dir}/libv8_libplatform.a ${v8_lib_dir}/libv8_nosnapshot.a"
if test "x$tr_FREEBSD" == xyes; then
V8_LIBS="$V8_LIBS -lexecinfo"
fi
AC_SUBST(V8_VERSION)
AC_SUBST(V8_DIR)
AC_SUBST(V8_CPPFLAGS)
AC_SUBST(V8_LDFLAGS)
AC_SUBST(V8_LIBS)
AC_SUBST(V8_TARGET)
LIB_INFO="$LIB_INFO|V8: 3rdParty version"
LIB_INFO="$LIB_INFO|V8 VERSION: ${V8_VERSION}"
LIB_INFO="$LIB_INFO|V8_TARGET: ${V8_TARGET}"
LIB_INFO="$LIB_INFO|V8_CPPFLAGS: ${V8_CPPFLAGS}"
LIB_INFO="$LIB_INFO|V8_LDFLAGS: ${V8_LDFLAGS}"
LIB_INFO="$LIB_INFO|V8_LIBS: ${V8_LIBS}"
LIB_INFO="$LIB_INFO|."
dnl ----------------------------------------------------------------------------
dnl ICU
dnl ----------------------------------------------------------------------------
ICU_VERSION="52.2"
ICU_CPPFLAGS="-D_REENTRANT -I${srcdir}/3rdParty/${V8_DIR}/third_party/icu/source/common -I${srcdir}/3rdParty/${V8_DIR}/third_party/icu/source/i18n -I${srcdir}/3rdParty/${V8_DIR}/third_party/icu/source/io"
ICU_LDFLAGS=""
if test "x$tr_DARWIN" = xyes; then
icu_lib_dir="${srcdir}/3rdParty/${V8_DIR}/out/$V8_TARGET"
else
icu_lib_dir="${srcdir}/3rdParty/${V8_DIR}/out/$V8_TARGET/obj.target/third_party/icu"
fi
ICU_LIBS="-ldl -lm ${icu_lib_dir}/libicui18n.a ${icu_lib_dir}/libicuuc.a ${icu_lib_dir}/libicudata.a -ldl -lm"
AC_SUBST(ICU_CPPFLAGS)
AC_SUBST(ICU_LDFLAGS)
AC_SUBST(ICU_LIBS)
ICU_CPPFLAGS="${ICU_CPPFLAGS}"
LIB_INFO="$LIB_INFO|ICU: 3rdParty version"
LIB_INFO="$LIB_INFO|ICU VERSION: ${ICU_VERSION}"
LIB_INFO="$LIB_INFO|ICU_CPPFLAGS: ${ICU_CPPFLAGS}"
LIB_INFO="$LIB_INFO|ICU_LDFLAGS: ${ICU_LDFLAGS}"
LIB_INFO="$LIB_INFO|ICU_LIBS: ${ICU_LIBS}"
LIB_INFO="$LIB_INFO|."
dnl ----------------------------------------------------------------------------
dnl LIBEV
dnl ----------------------------------------------------------------------------
LIBEV_VERSION="4.11"
LIBEV_CPPFLAGS="-I${srcdir}/3rdParty/libev -DTRI_LIBEV_VERSION='\"${LIBEV_VERSION}\"'"
LIBEV_CPPFLAGS="${LIBEV_CPPFLAGS}"
LIBEV_LDFLAGS=""
LIBEV_LIBS="${srcdir}/3rdParty/libev/BUILD/.libs/libev.a"
AC_SUBST(LIBEV_VERSION)
AC_SUBST(LIBEV_CPPFLAGS)
AC_SUBST(LIBEV_LDFLAGS)
AC_SUBST(LIBEV_LIBS)
LIB_INFO="$LIB_INFO|LIBEV: 3rdParty version"
LIB_INFO="$LIB_INFO|LIBEV VERSION: ${LIBEV_VERSION}"
LIB_INFO="$LIB_INFO|LIBEV_CPPFLAGS: ${LIBEV_CPPFLAGS}"
LIB_INFO="$LIB_INFO|LIBEV_LDFLAGS: ${LIBEV_LDFLAGS}"
LIB_INFO="$LIB_INFO|LIBEV_LIBS: ${LIBEV_LIBS}"
LIB_INFO="$LIB_INFO|."
dnl ----------------------------------------------------------------------------
dnl ZLIB
dnl ----------------------------------------------------------------------------
ZLIB_VERSION="1.2.7"
ZLIB_CPPFLAGS=""
ZLIB_LDFLAGS=""
ZLIB_LIBS="${srcdir}/3rdParty/zlib-${ZLIB_VERSION}/libz.a"
AC_SUBST(ZLIB_VERSION)
AC_SUBST(ZLIB_CPPFLAGS)
AC_SUBST(ZLIB_LDFLAGS)
AC_SUBST(ZLIB_LIBS)
LIB_INFO="$LIB_INFO|ZLIB: 3rdParty version"
LIB_INFO="$LIB_INFO|ZLIB VERSION: ${ZLIB_VERSION}"
LIB_INFO="$LIB_INFO|ZLIB_CPPFLAGS: ${ZLIB_CPPFLAGS}"
LIB_INFO="$LIB_INFO|ZLIB_LDFLAGS: ${ZLIB_LDFLAGS}"
LIB_INFO="$LIB_INFO|ZLIB_LIBS: ${ZLIB_LIBS}"
dnl ============================================================================
dnl --SECTION-- GENERATE FILES
dnl ============================================================================
BUILD_H="\$(top_srcdir)/build.h"
AC_SUBST(BUILD_H)
AC_CONFIG_FILES([Makefile Installation/MacOSX/Bundle/Info.plist])
AC_CONFIG_HEADER([config/config.h lib/Basics/local-configuration.h])
AC_OUTPUT
dnl ============================================================================
dnl --SECTION-- GENERATE INFO
dnl ============================================================================
m4_include([m4/configure.information])
dnl ============================================================================
dnl --SECTION-- END-OF-FILE
dnl ============================================================================
dnl Local Variables:
dnl mode: outline-minor
dnl outline-regexp: "^\\(dnl [a-zA-Z]\\|dnl --SECTION--\\)"
dnl End: