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],[$*])
AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],
[CXXFLAGS=""])
- m4_if(PCT_DONT_SUPRESS_INCLUDE,yes,[
- AM_INIT_AUTOMAKE(-Wall -Werror -Wno-portability subdir-objects foreign tar-ustar)
- ],[
- AM_INIT_AUTOMAKE(-Wall -Werror -Wno-portability nostdinc 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])])
PANDORA_PLATFORM
- PANDORA_LIBTOOL
-
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
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_LIBM
- dnl Bug on FreeBSD - LIBM check doesn't set the damn variable
- AC_SUBST([LIBM])
-
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
- m4_if(PCT_USE_VISIBILITY,[yes],[
- PANDORA_ENABLE_VISIBILITY
- ],[
- PANDORA_CHECK_VISIBILITY
- ])
-
PANDORA_HEADER_ASSERT
PANDORA_WARNINGS(PCT_ALL_ARGS)
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])
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}"
],[
PANDORA_USE_PIPE
- AM_CFLAGS="${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
+ AM_CFLAGS="-std=c99 ${AM_CFLAGS} ${CC_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
AM_CXXFLAGS="${AM_CXXFLAGS} ${CXX_WARNINGS} ${CC_PROFILING} ${CC_COVERAGE}"
AC_SUBST([AM_CFLAGS])