Remove another chunck of Pandora.
authorBrian Aker <brian@tangent.org>
Sat, 6 Oct 2012 23:35:12 +0000 (19:35 -0400)
committerBrian Aker <brian@tangent.org>
Sat, 6 Oct 2012 23:35:12 +0000 (19:35 -0400)
configure.ac
libmemcached/backtrace.cc
libmemcached/common.h
libmemcached/include.am
libmemcached/io.cc
libtest/include.am
libtest/test.hpp
libtest/timer.hpp
m4/ax_debug.m4
m4/pandora_canonical.m4 [deleted file]
m4/pandora_platform.m4

index 3827735a4e752892a235ba722422792133a72c33..dc7b8ca70bda407e7a38169f07a26e8e07a0ee95 100644 (file)
@@ -1,4 +1,3 @@
-#!/usr/bin/env bash
 # LibmemcacheD
 # Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/
 # Copyright (C) 2006-2010 Brian Aker, Monty Taylor, Trond Norbye
@@ -8,28 +7,20 @@
 # the COPYING file in this directory for full text.
 
 AC_INIT([libmemcached],[1.0.12],[http://libmemcached.org/])
-
 AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_MACRO_DIR([m4])
 
 AC_CANONICAL_TARGET
+AC_ARG_PROGRAM
+AC_USE_SYSTEM_EXTENSIONS
 
-AM_INIT_AUTOMAKE
-
-AC_CANONICAL_HOST
-AC_CANONICAL_BUILD
+AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability subdir-objects foreign tar-ustar])
 
 AC_PREREQ([2.61])
 
-AC_CONFIG_MACRO_DIR([m4])
-
 AC_CONFIG_HEADERS([config.h:config.in])dnl Keep filename to 8.3 for MS-DOS.
-
 AC_CONFIG_SRCDIR([libmemcached/memcached.cc])
 
-PANDORA_CANONICAL_TARGET
-AC_CHECK_PROGS([YACC], ['bison'], [:])
-AC_CHECK_PROGS([LEX], ['flex'], [:])
-
 #shared library versioning
 MEMCACHED_UTIL_LIBRARY_VERSION=2:0:0
 MEMCACHED_PROTOCAL_LIBRARY_VERSION=0:0:0
@@ -48,20 +39,20 @@ AC_SUBST(MEMCACHED_UTIL_LIBRARY_VERSION)
 AC_SUBST(MEMCACHED_PROTOCAL_LIBRARY_VERSION)
 AC_SUBST(MEMCACHED_LIBRARY_VERSION)
 
-
 HASHKIT_LIBRARY_VERSION=2:0:0
 AC_SUBST(HASHKIT_LIBRARY_VERSION)
 
 LT_PREREQ([2.2])
 LT_INIT
 LT_LANG([C++])
-LT_LANG([C])
 gl_VISIBILITY
+PANDORA_PLATFORM
+m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 
 AX_CXX_HEADER_STDCXX_98
-  if test "$ax_cv_cxx_stdcxx_98" = no; then
-    AC_MSG_ERROR([Your system lacks a new enough C++ compiler])
-  fi
+AS_IF([ test "$ax_cv_cxx_stdcxx_98" = no ],[
+       AC_MSG_ERROR([Your system lacks a new enough C++ compiler])
+       ])
 
 # Adding support for libtest
 m4_include([libtest/yatl.m4])
@@ -77,9 +68,6 @@ AC_DEFINE([HAVE_LIBMEMCACHED], [1], [Enables libmemcached Support])
 
 AM_CONDITIONAL([BUILDING_GEARMAN], [false])
 
-AC_SEARCH_LIBS(getopt_long, gnugetopt)
-AC_SEARCH_LIBS(gethostbyname, nsl)
-
 dnl Specialty checks
 AX_CXX_CINTTYPES
 CONFIG_EXTRA
@@ -93,18 +81,45 @@ PROTOCOL_BINARY_TEST
 ENABLE_DEPRECATED
 
 # Checks for programs.
+AC_CHECK_PROGS([LEX], ['flex'], [:])
+AC_CHECK_PROGS([YACC], ['bison'], [:])
 AX_PROG_SPHINX_BUILD
 
 # Checks for libraries.
+AC_SEARCH_LIBS(getopt_long, gnugetopt)
+AC_SEARCH_LIBS(gethostbyname, nsl)
 
 # Checks for header files.
+AC_CHECK_HEADERS([arpa/inet.h])
+AC_CHECK_HEADERS([errno.h])
+AC_CHECK_HEADERS([dlfcn.h])
+AC_CHECK_HEADERS([execinfo.h])
+AC_CHECK_HEADERS([fcntl.h])
+AC_CHECK_HEADERS([inttypes.h])
+AC_CHECK_HEADERS([libintl.h])
+AC_CHECK_HEADERS([limits.h])
+AC_CHECK_HEADERS([malloc.h])
+AC_CHECK_HEADERS([math.h])
+AC_CHECK_HEADERS([netdb.h])
+AC_CHECK_HEADERS([netinet/in.h])
+AC_CHECK_HEADERS([netinet/tcp.h])
+AC_CHECK_HEADERS([pthread.h])
+AC_CHECK_HEADERS([stdarg.h])
+AC_CHECK_HEADERS([stddef.h])
+AC_CHECK_HEADERS([stdio.h])
+AC_CHECK_HEADERS([stdlib.h])
+AC_CHECK_HEADERS([sys/socket.h])
+AC_CHECK_HEADERS([sys/sysctl.h])
+AC_CHECK_HEADERS([sys/time.h])
+AC_CHECK_HEADERS([time.h])
+AC_CHECK_HEADERS([unistd.h])
+AC_HEADER_TIME
 
 # Checks for typedefs, structures, and compiler characteristics.
 
 # Checks for library functions.
 
 AC_CHECK_FUNCS([alarm])
-AC_CHECK_FUNCS([clock_gettime])
 AC_CHECK_FUNCS([dup2])
 AC_CHECK_FUNCS([getline])
 AC_CHECK_FUNCS([gettimeofday])
@@ -123,29 +138,12 @@ AC_CHECK_FUNCS([strerror])
 AC_CHECK_FUNCS([strtol])
 AC_CHECK_FUNCS([strtoul])
 AC_CHECK_FUNCS([strtoull])
-
-AC_CHECK_HEADERS([arpa/inet.h])
-AC_CHECK_HEADERS([errno.h])
-AC_CHECK_HEADERS([execinfo.h])
-AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([inttypes.h])
-AC_CHECK_HEADERS([libintl.h])
-AC_CHECK_HEADERS([limits.h])
-AC_CHECK_HEADERS([malloc.h])
-AC_CHECK_HEADERS([math.h])
-AC_CHECK_HEADERS([netdb.h])
-AC_CHECK_HEADERS([netinet/in.h])
-AC_CHECK_HEADERS([pthread.h])
-AC_CHECK_HEADERS([stdarg.h])
-AC_CHECK_HEADERS([stddef.h])
-AC_CHECK_HEADERS([stdlib.h])
-AC_CHECK_HEADERS([sys/time.h])
-AC_CHECK_HEADERS([unistd.h])
-AC_CHECK_HEADERS([cxxabi.h], 
-                 AC_DEFINE([HAVE_CXXABI_H], [1], [Have cxxabi.h]),
-                 AC_DEFINE([HAVE_CXXABI_H], [0], [Have cxxabi.h]))
-
-AC_CHECK_HEADERS([sys/sysctl.h])
+AC_FUNC_ALLOCA
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_FORK
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_FUNC_STRERROR_R
 
 AC_CHECK_HEADER(umem.h, [
    AC_DEFINE([HAVE_UMEM_H], 1,
@@ -157,12 +155,6 @@ AM_CONDITIONAL([BUILD_CACHE], [test "x$build_cache" = "xyes"])
 
 AX_COMPILER_VENDOR
 
-AC_FUNC_ALLOCA
-AC_FUNC_ERROR_AT_LINE
-AC_FUNC_FORK
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
-AC_FUNC_STRERROR_R
 AC_HEADER_STDBOOL
 AC_TYPE_INT16_T
 AC_TYPE_INT32_T
@@ -194,16 +186,23 @@ AS_IF([test "x$ac_enable_sasl" = "xyes"], [
        ],[ LIBMEMCACHED_WITH_SASL_SUPPORT="#define LIBMEMCACHED_WITH_SASL_SUPPORT 0" ])
 AC_SUBST(LIBMEMCACHED_WITH_SASL_SUPPORT)
 
-AC_CHECK_LIB([rt], [clock_gettime], 
-             [
+AC_CHECK_LIB([rt], [clock_gettime], [
               RT_LIB="-lrt"
               AC_SUBST(RT_LIB)
-              AC_DEFINE([HAVE_LIBRT], [ 1 ], [Have clock_gettime])
-              ], 
-             [
-              AC_DEFINE([HAVE_LIBRT], [ 0 ], [Have clock_gettime])
+              AC_DEFINE([HAVE_CLOCK_GETTIME], [ 1 ], [Have clock_gettime])
+              ],[
+              AC_DEFINE([HAVE_CLOCK_GETTIME], [ 0 ], [Have clock_gettime])
               ])
 
+# Check for the ability to call dlopen
+AC_CHECK_LIB([dl], [dlopen],[
+              DL_LIB="-ldl"
+              AC_SUBST(DL_LIB)
+              AC_DEFINE([HAVE_LIBDL], [ 1 ], [Have dlopen])
+              ],[
+                 AC_DEFINE([HAVE_LIBDL], [ 0 ], [Have dlopen])
+                 ])
+
 AC_CHECK_LIB([m], [floor])
 AC_CHECK_FUNCS([sigignore])
 
@@ -261,6 +260,7 @@ AX_UUID_GENERATE_TIME_SAFE
 AX_PTHREAD(, [AC_MSG_ERROR([could not find libpthread])])
 AX_PTHREAD_TIMEDJOIN_NP
 
+PANDORA_ENABLE_DTRACE
 AX_ENDIAN
 AX_HEX_VERSION
 AX_ASSERT
index 871f27afb762d3151e192cc9f5367e3909262e06..81cfddefcc94d69fe014b3154f46c228b330ecdd 100644 (file)
 
 #include <cstring>
 #include <cstdlib>
+#include <cstdio>
 
 #ifdef HAVE_EXECINFO_H
-#include <execinfo.h>
+#  include <execinfo.h>
 #endif
 
-#ifdef HAVE_CXXABI_H
-#include <cxxabi.h>
+#ifdef HAVE_GCC_ABI_DEMANGLE
+#  include <cxxabi.h>
+#endif
+
+#ifdef HAVE_DLFCN_H
+#  include <dlfcn.h>
 #endif
 
 #ifdef HAVE_GCC_ABI_DEMANGLE
-#define USE_DEMANGLE 1
+#  define USE_DEMANGLE 1
 #else
-#define USE_DEMANGLE 0
+#  define USE_DEMANGLE 0
 #endif
 
+const int MAX_DEPTH= 50;
+
 void custom_backtrace(void)
 {
 #ifdef HAVE_EXECINFO_H
-  void *array[50];
+  void *array[MAX_DEPTH];
 
-  int size= backtrace(array, 50);
-  char **strings= backtrace_symbols(array, size);
+  int backtrace_size= backtrace(array, MAX_DEPTH);
+  fprintf(stderr, "Number of stack frames obtained: %d\n", backtrace_size);
 
-  if (strings == NULL)
-  {
-    return;
-  }
-
-  fprintf(stderr, "Number of stack frames obtained: %d\n", size);
-
-  char *named_function= (char *)std::realloc(NULL, 1024);
-  
-  if (named_function == NULL)
-  {
-    std::free(strings);
-    return;
-  }
+#ifdef HAVE_DLFCN_H
+  Dl_info dlinfo;
+#endif
 
-  for (int x= 1; x < size; x++) 
-  {
-    if (USE_DEMANGLE)
+  for (int x= 0; x < backtrace_size; ++x)
+  {  
+#ifdef HAVE_DLFCN_H
+    if (dladdr(array[x], &dlinfo) == 0)
     {
-      size_t sz= 200;
-      char *named_function_ptr= (char *)std::realloc(named_function, sz);
-      if (named_function_ptr == NULL)
-      {
-        continue;
-      }
-      named_function= named_function_ptr;
+      continue;
+    }
+#endif
 
-      char *begin_name= 0;
-      char *begin_offset= 0;
-      char *end_offset= 0;
+    const char* symname= dlinfo.dli_sname;
 
-      for (char *j= strings[x]; *j; ++j)
-      {
-        if (*j == '(')
-        {
-          begin_name= j;
-        }
-        else if (*j == '+')
-        {
-          begin_offset= j;
-        }
-        else if (*j == ')' and begin_offset) 
-        {
-          end_offset= j;
-          break;
-        }
-      }
+    int status;
+    char* demangled= abi::__cxa_demangle(symname, NULL, 0, &status);
+    if (status == 0 and demangled)
+    {
+      symname= demangled;
+    }
 
-      if (begin_name and begin_offset and end_offset and begin_name < begin_offset)
-      {
-        *begin_name++= '\0';
-        *begin_offset++= '\0';
-        *end_offset= '\0';
+    printf("object: %s, function: %s\n", dlinfo.dli_fname, symname);
 
-        int status;
-        char *ret= abi::__cxa_demangle(begin_name, named_function, &sz, &status);
-        if (ret) // realloc()'ed string
-        {
-          named_function= ret;
-          fprintf(stderr, "  %s : %s()+%s\n", strings[x], begin_name, begin_offset);
-        }
-        else
-        {
-          fprintf(stderr, "  %s : %s()+%s\n", strings[x], begin_name, begin_offset);
-        }
-      }
-      else
-      {
-        fprintf(stderr, " %s\n", strings[x]);
-      }
-    }
-    else
+    if (demangled)
     {
-      fprintf(stderr, " unmangled: %s\n", strings[x]);
+      free(demangled);
     }
-  }
-
-  std::free(named_function);
-  std::free(strings);
+  } 
 #endif // HAVE_EXECINFO_H
 }
index a3e4ea90310b73ae02808babd0142d6886949912..5c86eb16e01967360ccf3bef583e7a35cf66fb84 100644 (file)
 #include <config.h>
 
 #ifdef __cplusplus
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-#include <cctype>
-#include <cerrno>
-#include <climits>
+#  include <cstdio>
+#  include <cstdlib>
+#  include <cstring>
+#  include <ctime>
+#  include <cctype>
+#  include <cerrno>
+#  include <climits>
 #else
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include <limits.h>
+#  ifdef HAVE_STDLIB_H
+#   include <stdio.h>
+#  endif
+#  ifdef HAVE_STDLIB_H
+#    include <stdlib.h>
+#  endif
+#  include <string.h>
+#  include <time.h>
+#  ifdef HAVE_ERRNO_H
+#    include <errno.h>
+#  endif
+#  ifdef HAVE_LIMITS_H
+#    include <limits.h>
+#  endif
 #endif
 
-#include <fcntl.h>
-#include <sys/types.h>
-#include <unistd.h>
+#ifdef HAVE_FCNTL_H
+#  include <fcntl.h>
+#endif
+
+#ifdef HAVE_SYS_TYPES_H
+#  include <sys/types.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#  include <unistd.h>
+#endif
 
 #ifdef HAVE_STRINGS_H
-#include <strings.h>
+#  include <strings.h>
+#endif
+
+#ifdef HAVE_DLFCN_H
+#  include <dlfcn.h>
 #endif
 
 #include <libmemcached-1.0/memcached.h>
@@ -77,9 +97,9 @@
 #include <libmemcached/server_instance.h>
 
 #ifdef HAVE_POLL_H
-#include <poll.h>
+# include <poll.h>
 #else
-#include "poll/poll.h"
+# include "poll/poll.h"
 #endif
 
 #ifdef __cplusplus
index bfa2f140111f6c9ab0b9df4b4ee41695bc26963b..13304e62ad5ad3497e842b17b518ac011730da72 100644 (file)
@@ -115,6 +115,7 @@ libmemcached_libmemcached_la_DEPENDENCIES=
 libmemcached_libmemcached_la_LIBADD=
 libmemcached_libmemcached_la_LDFLAGS=
 libmemcached_libmemcached_la_LDFLAGS+= -version-info ${MEMCACHED_LIBRARY_VERSION}
+libmemcached_libmemcached_la_LDFLAGS+= $(DL_LIB)
 
 if HAVE_SASL
 libmemcached_libmemcached_la_CXXFLAGS+= $(LIBSASL_CPPFLAGS)
index 866830aa5528d016004e4539a0b010b8f0c5a279..019eafb6e5c9104771f95885d89786d65fda1e2c 100644 (file)
 
 #include <libmemcached/common.h>
 
+#ifdef HAVE_SYS_SOCKET_H
+#  include <sys/socket.h>
+#endif
+
 void initialize_binary_request(org::libmemcached::Instance* server, protocol_binary_request_header& header)
 {
   server->request_id++;
@@ -708,7 +712,7 @@ void memcached_io_close(org::libmemcached::Instance* ptr)
   }
 
   /* in case of death shutdown to avoid blocking at close() */
-  if (shutdown(ptr->fd, SHUT_RDWR) == SOCKET_ERROR && get_socket_errno() != ENOTCONN)
+  if (shutdown(ptr->fd, SHUT_RDWR) == SOCKET_ERROR and get_socket_errno() != ENOTCONN)
   {
     WATCHPOINT_NUMBER(ptr->fd);
     WATCHPOINT_ERRNO(get_socket_errno());
index 3dd6982a5843a005a32aa29e19a936d51ce14fa6..14ce1d205dd092beac48bcf2207e433f67dee5ca 100644 (file)
@@ -136,6 +136,7 @@ libtest_libtest_la_CXXFLAGS+= $(CURL_CFLAGS)
 
 libtest_libtest_la_LIBADD+= $(PTHREAD_LIBS)
 libtest_libtest_la_LIBADD+= $(CURL_LIBS)
+libtest_libtest_la_LIBADD+= $(RT_LIB)
 
 libtest_libtest_la_DEPENDENCIES+= libtest_tmp_dir
 libtest_libtest_la_DEPENDENCIES+=libtest/abort
index 53db247a7ebc8d8c46d2a64ee18a9dc1afe3c701..7676048745bf4bb0798ac0ddd78e212bf20ba9fd 100644 (file)
 #include <cstdlib>
 #include <arpa/inet.h>
 
+#ifdef TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <ctime>
+#else
+# ifdef HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <ctime>
+# endif
+#endif
+
 #include <libtest/visibility.h>
 #include <libtest/version.h>
 
index 28ec47416766c3eb917447d527a57ef1e0e47e97..eac5194036300a533dfabfbf14f4fd4f9a8adc61 100644 (file)
@@ -44,6 +44,7 @@
 #  include <mach/clock.h>
 #  include <mach/mach.h>
 #else
+#  include <time.h>
 #  include <sys/time.h>
 #endif
 
@@ -122,8 +123,24 @@ private:
     mach_port_deallocate(mach_task_self(), _clock_serv);
     ts.tv_sec= _mach_timespec.tv_sec;
     ts.tv_nsec= _mach_timespec.tv_nsec;
+#elif defined(HAVE_CLOCK_GETTIME) && HAVE_CLOCK_GETTIME
+    int ret;
+    do
+    {
+      ret= clock_gettime(CLOCK_REALTIME, &ts);
+    } while (ret == -1);
+#elif defined(HAVE_GETTIMEOFDAY) && HAVE_GETTIMEOFDAY
+    struct timeval tv;
+    int ret;
+    do 
+    {
+      ret= gettimeofday(&tv, NULL)
+    } while (ret == -1);
+    /* Convert from timeval to timespec */
+    ts.tv_sec= tv.tv_sec;
+    ts.tv_nsec= tv.tv_usec * 1000;
 #else
-    clock_gettime(CLOCK_REALTIME, &ts);
+    memset(&ts, 0, sizeof(struct timespec));
 #endif
   }
 
index 2f78b71115c8cda46078fe00de2273604f9c24b3..41d3fa02ce8f63fdb51795956d25e7386db9ff5c 100644 (file)
@@ -64,4 +64,5 @@ AC_DEFUN([AX_DEBUG],[
 
     AC_MSG_CHECKING([for debug])
     AC_MSG_RESULT([$ax_enable_debug])
+    AM_CONDITIONAL([DEBUG_BUILD], [test "x$ax_enable_debug" = "xyes"])
     ])
diff --git a/m4/pandora_canonical.m4 b/m4/pandora_canonical.m4
deleted file mode 100644 (file)
index a9e4fa7..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-dnl  Copyright (C) 2009 Sun Microsystems, Inc.
-dnl This file is free software; Sun Microsystems, Inc.
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Which version of the canonical setup we're using
-AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.175])
-
-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],[
-  ifdef([m4_define],,[define([m4_define],   defn([define]))])
-  ifdef([m4_undefine],,[define([m4_undefine],   defn([undefine]))])
-  m4_define([PCT_ALL_ARGS],[$*])
-  m4_define([PCT_REQUIRE_CXX],[no])
-  m4_define([PCT_FORCE_GCC42],[no])
-  m4_define([PCT_DONT_SUPPRESS_INCLUDE],[no])
-  m4_define([PCT_NO_VC_CHANGELOG],[no])
-  m4_define([PCT_USE_VISIBILITY],[yes])
-  m4_foreach([pct_arg],[$*],[
-    m4_case(pct_arg,
-      [require-cxx], [
-        m4_undefine([PCT_REQUIRE_CXX])
-        m4_define([PCT_REQUIRE_CXX],[yes])
-      ],
-      [force-gcc42], [
-        m4_undefine([PCT_FORCE_GCC42])
-        m4_define([PCT_FORCE_GCC42],[yes])
-      ],
-      [skip-visibility], [
-        m4_undefine([PCT_USE_VISIBILITY])
-        m4_define([PCT_USE_VISIBILITY],[no])
-      ],
-      [dont-suppress-include], [
-        m4_undefine([PCT_DONT_SUPPRESS_INCLUDE])
-        m4_define([PCT_DONT_SUPPRESS_INCLUDE],[yes])
-    ])
-  ])
-
-  PANDORA_BLOCK_BAD_OPTIONS
-
-  # We need to prevent canonical target
-  # from injecting -O2 into CFLAGS - but we won't modify anything if we have
-  # set CFLAGS on the command line, since that should take ultimate precedence
-  AS_IF([test "x${ac_cv_env_CFLAGS_set}" = "x"],
-        [CFLAGS=""])
-  AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],
-        [CXXFLAGS=""])
-  
-  AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability subdir-objects foreign tar-ustar])
-
-  m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
-
-  m4_if(m4_substr(m4_esyscmd(test -d gnulib && echo 0),0,1),0,[
-    gl_EARLY
-  ],[
-    PANDORA_EXTENSIONS 
-  ])
-  
-  AC_REQUIRE([AC_PROG_CC])
-  m4_if(PCT_FORCE_GCC42, [yes], [
-    AC_REQUIRE([PANDORA_ENSURE_GCC_VERSION])
-  ])
-  AC_REQUIRE([PANDORA_64BIT])
-
-  m4_if(PCT_NO_VC_CHANGELOG,yes,[
-    vc_changelog=no
-  ],[
-    vc_changelog=yes
-  ])
-
-  dnl Once we can use a modern autoconf, we can use this
-  dnl AC_PROG_CC_C99
-  AC_REQUIRE([AC_PROG_CXX])
-  PANDORA_EXTENSIONS
-  AM_PROG_CC_C_O
-
-
-
-  PANDORA_PLATFORM
-
-  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
-  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])
-    ])
-  ])
-  
-  m4_if(m4_substr(m4_esyscmd(test -d gnulib && echo 0),0,1),0,[
-    gl_INIT
-    AC_CONFIG_LIBOBJ_DIR([gnulib])
-  ])
-
-  PANDORA_CHECK_CXX_VERSION
-
-  AC_HEADER_TIME
-  AC_STRUCT_TM
-  AC_TYPE_SIZE_T
-  AC_SYS_LARGEFILE
-  PANDORA_CLOCK_GETTIME
-
-  AC_CHECK_HEADERS(sys/socket.h)
-
-  # 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])
-  ])
-
-  AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
-  AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
-
-
-
-  PANDORA_OPTIMIZE
-
-  PANDORA_HAVE_GCC_ATOMICS
-
-  PANDORA_WARNINGS(PCT_ALL_ARGS)
-
-  PANDORA_ENABLE_DTRACE
-
-  AC_LIB_PREFIX
-  PANDORA_HAVE_BETTER_MALLOC
-
-  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}"
-  ],[
-    AM_CPPFLAGS="-I\$(top_srcdir) -I\$(top_builddir) ${AM_CPPFLAGS}"
-  ])
-
-  PANDORA_USE_PIPE
-
-  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])
-  AC_SUBST([AM_CXXFLAGS])
-  AC_SUBST([AM_CPPFLAGS])
-  AC_SUBST([AM_LDFLAGS])
-
-])
index ee361c715b443206cbf982385fc554051caa3130..2372e0d6556c303547c7d40ec34e1e4ccb4489b1 100644 (file)
@@ -10,6 +10,8 @@ dnl
 dnl From Monty Taylor
 
 AC_DEFUN([PANDORA_PLATFORM],[
+         AC_REQUIRE([AC_CANONICAL_HOST])
+         AC_REQUIRE([AC_CANONICAL_TARGET])
 
   dnl Canonicalize the configuration name.