dnl Which version of the canonical setup we're using
AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.175])
-AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[
- AC_ARG_ENABLE([fat-binaries],
- [AS_HELP_STRING([--enable-fat-binaries],
- [Enable fat binary support on OSX @<:@default=off@:>@])],
- [ac_enable_fat_binaries="$enableval"],
- [ac_enable_fat_binaries="no"])
-
- dnl Force dependency tracking on for Sun Studio builds
- AS_IF([test "x${enable_dependency_tracking}" = "x"],[
- enable_dependency_tracking=yes
- ])
- dnl If we're building OSX Fat Binaries, we have to turn off -M options
- AS_IF([test "x${ac_enable_fat_binaries}" = "xyes"],[
- enable_dependency_tracking=no
- ])
-])
-
AC_DEFUN([PANDORA_BLOCK_BAD_OPTIONS],[
AS_IF([test "x${prefix}" = "x"],[
AC_MSG_ERROR([--prefix requires an argument])
dnl The standard setup for how we build Pandora projects
AC_DEFUN([PANDORA_CANONICAL_TARGET],[
- AC_REQUIRE([PANDORA_FORCE_DEPEND_TRACKING])
ifdef([m4_define],,[define([m4_define], defn([define]))])
ifdef([m4_undefine],,[define([m4_undefine], defn([undefine]))])
m4_define([PCT_ALL_ARGS],[$*])
m4_define([PCT_FORCE_GCC42],[no])
m4_define([PCT_DONT_SUPPRESS_INCLUDE],[no])
m4_define([PCT_NO_VC_CHANGELOG],[no])
- m4_define([PCT_VERSION_FROM_VC],[no])
m4_define([PCT_USE_VISIBILITY],[yes])
m4_foreach([pct_arg],[$*],[
m4_case(pct_arg,
[dont-suppress-include], [
m4_undefine([PCT_DONT_SUPPRESS_INCLUDE])
m4_define([PCT_DONT_SUPPRESS_INCLUDE],[yes])
- ],
- [no-vc-changelog], [
- m4_undefine([PCT_NO_VC_CHANGELOG])
- m4_define([PCT_NO_VC_CHANGELOG],[yes])
- ],
- [version-from-vc], [
- m4_undefine([PCT_VERSION_FROM_VC])
- m4_define([PCT_VERSION_FROM_VC],[yes])
])
])
AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],
[CXXFLAGS=""])
- AM_INIT_AUTOMAKE(-Wall -Werror -Wno-portability subdir-objects foreign tar-ustar)
+ AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability subdir-objects foreign tar-ustar])
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
],[
vc_changelog=yes
])
- m4_if(PCT_VERSION_FROM_VC,yes,[
- PANDORA_VC_INFO_HEADER
- ],[
- PANDORA_TEST_VC_DIR
-
- changequote(<<, >>)dnl
- PANDORA_RELEASE_ID=`echo $VERSION | sed 's/[^0-9]//g'`
- changequote([, ])dnl
-
- PANDORA_RELEASE_COMMENT=""
- AC_DEFINE_UNQUOTED([PANDORA_RELEASE_VERSION],["$VERSION"],
- [Version of the software])
-
- AC_SUBST(PANDORA_RELEASE_COMMENT)
- AC_SUBST(PANDORA_RELEASE_VERSION)
- AC_SUBST(PANDORA_RELEASE_ID)
- ])
- PANDORA_VERSION
dnl Once we can use a modern autoconf, we can use this
dnl AC_PROG_CC_C99
dnl autoconf doesn't automatically provide a fail-if-no-C++ macro
dnl so we check c++98 features and fail if we don't have them, mainly
dnl for that reason
- PANDORA_CHECK_CXX_STANDARD
m4_if(PCT_REQUIRE_CXX, [yes], [
AS_IF([test "$ac_cv_cxx_stdcxx_98" = "no"],[
AC_MSG_ERROR([No working C++ Compiler has been found. ${PACKAGE} requires a C++ compiler that can handle C++98])
])
])
- PANDORA_CXX_CSTDINT
- PANDORA_CXX_CINTTYPES
m4_if(m4_substr(m4_esyscmd(test -d gnulib && echo 0),0,1),0,[
gl_INIT
AC_CONFIG_LIBOBJ_DIR([gnulib])
])
- PANDORA_CHECK_C_VERSION
PANDORA_CHECK_CXX_VERSION
- AC_C_BIGENDIAN
- AC_C_CONST
- AC_C_INLINE
- AC_C_VOLATILE
- AC_C_RESTRICT
-
AC_HEADER_TIME
AC_STRUCT_TM
AC_TYPE_SIZE_T
AC_DEFINE([TIME_T_UNSIGNED], 1, [Define to 1 if time_t is unsigned])
])
- AC_CACHE_CHECK([if system defines RUSAGE_THREAD], [ac_cv_rusage_thread],[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
-#include <sys/time.h>
-#include <sys/resource.h>
- ]],[[
- int x= RUSAGE_THREAD;
- ]])
- ],[
- ac_cv_rusage_thread=yes
- ],[
- ac_cv_rusage_thread=no
- ])
- ])
- AS_IF([test "$ac_cv_rusage_thread" = "no"],[
- AC_DEFINE([RUSAGE_THREAD], [RUSAGE_SELF],
- [Define if system doesn't define])
- ])
-
AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
PANDORA_OPTIMIZE
- AC_LANG_PUSH(C++)
- # Test whether madvise() is declared in C++ code -- it is not on some
- # systems, such as Solaris
- AC_CHECK_DECLS([madvise], [], [], [AC_INCLUDES_DEFAULT[
- #if HAVE_SYS_MMAN_H
- #include <sys/types.h>
- #include <sys/mman.h>
- #endif
- ]])
- AC_LANG_POP()
-
PANDORA_HAVE_GCC_ATOMICS
- PANDORA_HEADER_ASSERT
-
PANDORA_WARNINGS(PCT_ALL_ARGS)
PANDORA_ENABLE_DTRACE
AC_LIB_PREFIX
PANDORA_HAVE_BETTER_MALLOC
- PANDORA_WITH_VALGRIND
-
- AC_CHECK_PROGS([DOXYGEN], [doxygen])
- AC_CHECK_PROGS([PERL], [perl])
- AC_CHECK_PROGS([DPKG_GENSYMBOLS], [dpkg-gensymbols], [:])
- AC_CHECK_PROGS([LCOV], [lcov], [echo lcov not found])
- AC_CHECK_PROGS([LCOV_GENHTML], [genhtml], [echo genhtml not found])
-
- AC_CHECK_PROGS([SPHINXBUILD], [sphinx-build], [:])
- AS_IF([test "x${SPHINXBUILD}" != "x:"],[
- AC_CACHE_CHECK([if sphinx is new enough],[ac_cv_recent_sphinx],[
-
- ${SPHINXBUILD} -Q -C -b man -d conftest.d . . >/dev/null 2>&1
- AS_IF([test $? -eq 0],[ac_cv_recent_sphinx=yes],
- [ac_cv_recent_sphinx=no])
- rm -rf conftest.d
- ])
- ])
-
- AM_CONDITIONAL(HAVE_DPKG_GENSYMBOLS,[test "x${DPKG_GENSYMBOLS}" != "x:"])
- AM_CONDITIONAL(HAVE_SPHINX,[test "x${SPHINXBUILD}" != "x:"])
- AM_CONDITIONAL(HAVE_RECENT_SPHINX,[test "x${ac_cv_recent_sphinx}" = "xyes"])
-
- m4_if(m4_substr(m4_esyscmd(test -d po && echo 0),0,1),0, [
- AM_PO_SUBDIRS
- IT_PROG_INTLTOOL([0.35],[no-xml])
-
- GETTEXT_PACKAGE=$PACKAGE
- AC_CHECK_LIB(intl, libintl_gettext)
- AC_SUBST([GETTEXT_PACKAGE])
- AS_IF([test "x${USE_NLS}" = "xyes" -a "x${pandora_have_intltool}" = "xyes"],
- [AC_DEFINE([ENABLE_NLS],[1],[Turn on language support])
- AC_CONFIG_FILES([po/Makefile.in])
- ])
- ])
- AM_CONDITIONAL(BUILD_PO,[test "x${USE_NLS}" = "xyes" -a "x${pandora_have_intltool}" = "xyes"])
- AS_IF([test "x${gl_LIBOBJS}" != "x"],[
- AS_IF([test "$GCC" = "yes"],[
- AM_CPPFLAGS="-isystem \${top_srcdir}/gnulib -isystem \${top_builddir}/gnulib ${AM_CPPFLAGS}"
- ],[
- AM_CPPFLAGS="-I\${top_srcdir}/gnulib -I\${top_builddir}/gnulib ${AM_CPPFLAGS}"
- ])
- ])
m4_if(m4_substr(m4_esyscmd(test -d src && echo 0),0,1),0,[
AM_CPPFLAGS="-I\$(top_srcdir)/src -I\$(top_builddir)/src ${AM_CPPFLAGS}"
],[