|
@@ -4,7 +4,7 @@ dnl gives unlimited permission to copy and/or distribute it,
|
|
dnl with or without modifications, as long as this notice is preserved.
|
|
dnl with or without modifications, as long as this notice is preserved.
|
|
|
|
|
|
dnl Which version of the canonical setup we're using
|
|
dnl Which version of the canonical setup we're using
|
|
-AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.63])
|
|
|
|
|
|
+AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.86])
|
|
|
|
|
|
AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[
|
|
AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[
|
|
dnl Force dependency tracking on for Sun Studio builds
|
|
dnl Force dependency tracking on for Sun Studio builds
|
|
@@ -24,6 +24,8 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
|
|
m4_define([PCT_IGNORE_SHARED_PTR],[no])
|
|
m4_define([PCT_IGNORE_SHARED_PTR],[no])
|
|
m4_define([PCT_FORCE_GCC42],[no])
|
|
m4_define([PCT_FORCE_GCC42],[no])
|
|
m4_define([PCT_SRC_IN_SRC],[no])
|
|
m4_define([PCT_SRC_IN_SRC],[no])
|
|
|
|
+ m4_define([PCT_VERSION_FROM_VC],[no])
|
|
|
|
+ m4_define([PCT_USE_VISIBILITY],[yes])
|
|
m4_foreach([pct_arg],[$*],[
|
|
m4_foreach([pct_arg],[$*],[
|
|
m4_case(pct_arg,
|
|
m4_case(pct_arg,
|
|
[use-gnulib], [
|
|
[use-gnulib], [
|
|
@@ -42,9 +44,17 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
|
|
m4_undefine([PCT_FORCE_GCC42])
|
|
m4_undefine([PCT_FORCE_GCC42])
|
|
m4_define([PCT_FORCE_GCC42],[yes])
|
|
m4_define([PCT_FORCE_GCC42],[yes])
|
|
],
|
|
],
|
|
|
|
+ [skip-visibility], [
|
|
|
|
+ m4_undefine([PCT_USE_VISIBILITY])
|
|
|
|
+ m4_define([PCT_USE_VISIBILITY],[no])
|
|
|
|
+ ],
|
|
[src-in-src], [
|
|
[src-in-src], [
|
|
m4_undefine([PCT_SRC_IN_SRC])
|
|
m4_undefine([PCT_SRC_IN_SRC])
|
|
m4_define([PCT_SRC_IN_SRC],[yes])
|
|
m4_define([PCT_SRC_IN_SRC],[yes])
|
|
|
|
+ ],
|
|
|
|
+ [version-from-vc], [
|
|
|
|
+ m4_undefine([PCT_VERSION_FROM_VC])
|
|
|
|
+ m4_define([PCT_VERSION_FROM_VC],[yes])
|
|
])
|
|
])
|
|
])
|
|
])
|
|
|
|
|
|
@@ -58,7 +68,7 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
|
|
|
|
|
|
AC_CANONICAL_TARGET
|
|
AC_CANONICAL_TARGET
|
|
|
|
|
|
- AM_INIT_AUTOMAKE(-Wall -Werror nostdinc subdir-objects)
|
|
|
|
|
|
+ AM_INIT_AUTOMAKE(-Wall -Werror nostdinc subdir-objects foreign)
|
|
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
|
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
|
|
|
|
|
m4_if(PCT_USE_GNULIB,yes,[ gl_EARLY ])
|
|
m4_if(PCT_USE_GNULIB,yes,[ gl_EARLY ])
|
|
@@ -67,6 +77,11 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
|
|
AC_REQUIRE([PANDORA_MAC_GCC42])
|
|
AC_REQUIRE([PANDORA_MAC_GCC42])
|
|
AC_REQUIRE([PANDORA_64BIT])
|
|
AC_REQUIRE([PANDORA_64BIT])
|
|
|
|
|
|
|
|
+ m4_if(PCT_VERSION_FROM_VC,yes,[
|
|
|
|
+ PANDORA_VC_VERSION
|
|
|
|
+ ])
|
|
|
|
+ PANDORA_VERSION
|
|
|
|
+
|
|
dnl Once we can use a modern autoconf, we can use this
|
|
dnl Once we can use a modern autoconf, we can use this
|
|
dnl AC_PROG_CC_C99
|
|
dnl AC_PROG_CC_C99
|
|
AC_REQUIRE([AC_PROG_CXX])
|
|
AC_REQUIRE([AC_PROG_CXX])
|
|
@@ -90,6 +105,7 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
|
|
AS_IF([test "$ac_cv_cxx_stdcxx_98" = "no"],[
|
|
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])
|
|
AC_MSG_ERROR([No working C++ Compiler has been found. ${PACKAGE} requires a C++ compiler that can handle C++98])
|
|
])
|
|
])
|
|
|
|
+
|
|
])
|
|
])
|
|
|
|
|
|
PANDORA_SHARED_PTR
|
|
PANDORA_SHARED_PTR
|
|
@@ -104,6 +120,9 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
|
|
AC_CONFIG_LIBOBJ_DIR([gnulib])
|
|
AC_CONFIG_LIBOBJ_DIR([gnulib])
|
|
])
|
|
])
|
|
|
|
|
|
|
|
+ PANDORA_CHECK_C_VERSION
|
|
|
|
+ PANDORA_CHECK_CXX_VERSION
|
|
|
|
+
|
|
AC_C_BIGENDIAN
|
|
AC_C_BIGENDIAN
|
|
AC_C_CONST
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_C_INLINE
|
|
@@ -114,17 +133,71 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
|
|
AC_TYPE_SIZE_T
|
|
AC_TYPE_SIZE_T
|
|
AC_SYS_LARGEFILE
|
|
AC_SYS_LARGEFILE
|
|
|
|
|
|
|
|
+ # off_t is not a builtin type
|
|
|
|
+ AC_CHECK_SIZEOF(off_t, 4)
|
|
|
|
+ AS_IF([test "$ac_cv_sizeof_off_t" -eq 0],[
|
|
|
|
+ AC_MSG_ERROR("${PACKAGE} needs an off_t type.")
|
|
|
|
+ ])
|
|
|
|
+
|
|
|
|
+ AC_CHECK_SIZEOF(size_t)
|
|
|
|
+ AS_IF([test "$ac_cv_sizeof_size_t" -eq 0],[
|
|
|
|
+ AC_MSG_ERROR("${PACKAGE} needs an size_t type.")
|
|
|
|
+ ])
|
|
|
|
+
|
|
|
|
+ AC_DEFINE_UNQUOTED([SIZEOF_SIZE_T],[$ac_cv_sizeof_size_t],[Size of size_t as computed by sizeof()])
|
|
|
|
+ AC_CHECK_SIZEOF(long long)
|
|
|
|
+ AC_DEFINE_UNQUOTED([SIZEOF_LONG_LONG],[$ac_cv_sizeof_long_long],[Size of long long as computed by sizeof()])
|
|
|
|
+ AC_CACHE_CHECK([if time_t is unsigned], [ac_cv_time_t_unsigned],[
|
|
|
|
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
|
|
|
+ [[
|
|
|
|
+#include <time.h>
|
|
|
|
+ ]],
|
|
|
|
+ [[
|
|
|
|
+ int array[(((time_t)-1) > 0) ? 1 : -1];
|
|
|
|
+ ]])
|
|
|
|
+ ],[
|
|
|
|
+ ac_cv_time_t_unsigned=yes
|
|
|
|
+ ],[
|
|
|
|
+ ac_cv_time_t_unsigned=no
|
|
|
|
+ ])
|
|
|
|
+ ])
|
|
|
|
+ AS_IF([test "$ac_cv_time_t_unsigned" = "yes"],[
|
|
|
|
+ AC_DEFINE([TIME_T_UNSIGNED], 1, [Define to 1 if time_t is unsigned])
|
|
|
|
+ ])
|
|
|
|
+
|
|
|
|
+ dnl AC_FUNC_ALLOCA would test for stack direction if we didn't have a working
|
|
|
|
+ dnl alloca - but we need to know it anyway for check_stack_overrun.
|
|
|
|
+ PANDORA_STACK_DIRECTION
|
|
|
|
+
|
|
|
|
+ AC_CHECK_LIBM
|
|
|
|
+
|
|
|
|
+ AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
|
|
|
|
+ AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
|
|
|
|
+
|
|
|
|
|
|
- PANDORA_CHECK_C_VERSION
|
|
|
|
- PANDORA_CHECK_CXX_VERSION
|
|
|
|
|
|
|
|
PANDORA_OPTIMIZE
|
|
PANDORA_OPTIMIZE
|
|
|
|
|
|
- dnl We need to inject error into the cflags to test if visibility works or not
|
|
|
|
- save_CFLAGS="${CFLAGS}"
|
|
|
|
- CFLAGS="${CFLAGS} -Werror"
|
|
|
|
- gl_VISIBILITY
|
|
|
|
- CFLAGS="${save_CFLAGS}"
|
|
|
|
|
|
+ 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],[
|
|
|
|
+ dnl We need to inject error into the cflags to test if visibility works or not
|
|
|
|
+ save_CFLAGS="${CFLAGS}"
|
|
|
|
+ CFLAGS="${CFLAGS} -Werror"
|
|
|
|
+ gl_VISIBILITY
|
|
|
|
+ CFLAGS="${save_CFLAGS}"
|
|
|
|
+ ])
|
|
|
|
|
|
PANDORA_HEADER_ASSERT
|
|
PANDORA_HEADER_ASSERT
|
|
|
|
|