Updated pandora-build.
[awesomized/libmemcached] / m4 / pandora_drizzle_build.m4
index 57941052eb6f59b52991495ce916467941094db2..fa132ccaab7aec11e163299cad75f6392eb71a10 100644 (file)
@@ -10,10 +10,7 @@ dnl are set.
 AC_DEFUN([PANDORA_DRIZZLE_BUILD],[
 
   dnl We need to turn on our CXXFLAGS to make sure it shows up correctly
-  save_CXXFLAGS="${CXXFLAGS}"
-  CXXFLAGS="${CXXFLAGS} ${AM_CXXFLAGS}"
   PANDORA_CXX_STL_HASH
-  CXXFLAGS="${save_CXXFLAGS}"
 
   PANDORA_CXX_CSTDINT
   PANDORA_CXX_CINTTYPES
@@ -39,7 +36,7 @@ AC_DEFUN([PANDORA_DRIZZLE_BUILD],[
   AC_HEADER_SYS_WAIT
   AC_HEADER_STDBOOL
 
-  AC_CHECK_HEADERS(sys/fpu.h fpu_control.h ieeefp.h)
+  AC_CHECK_HEADERS(sys/types.h sys/fpu.h fpu_control.h ieeefp.h)
   AC_CHECK_HEADERS(select.h sys/select.h)
   AC_CHECK_HEADERS(utime.h sys/utime.h )
   AC_CHECK_HEADERS(synch.h sys/mman.h sys/socket.h)
@@ -56,13 +53,7 @@ AC_DEFUN([PANDORA_DRIZZLE_BUILD],[
   # and defines HAVE_LIBM etc
   #--------------------------------------------------------------------
   
-  AC_CHECK_LIB(m, floor, [], AC_CHECK_LIB(m, __infinity))
-  
-  AC_CHECK_FUNC(setsockopt, [], [AC_CHECK_LIB(socket, setsockopt)])
-  # This may get things to compile even if bind-8 is installed
-  AC_CHECK_FUNC(bind, [], [AC_CHECK_LIB(bind, bind)])
-  
-  # For the sched_yield() function on Solaris
+    # For the sched_yield() function on Solaris
   AC_CHECK_FUNC(sched_yield, [],
     [AC_CHECK_LIB(posix4, [sched_yield],
       [AC_DEFINE(HAVE_SCHED_YIELD, 1, [Have sched_yield function]) LIBS="$LIBS -lposix4"])])
@@ -76,21 +67,44 @@ AC_DEFUN([PANDORA_DRIZZLE_BUILD],[
     # include <curses.h>
     #endif
   ]])
-  AC_CHECK_TYPES([ulong])
-
-  AC_LANG_PUSH([C++])
-  AC_CHECK_HEADERS(cxxabi.h)
-  AC_CACHE_CHECK([checking for abi::__cxa_demangle], pandora_cv_cxa_demangle,
-  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <cxxabi.h>]], [[
-    char *foo= 0; int bar= 0;
-    foo= abi::__cxa_demangle(foo, foo, 0, &bar);
-  ]])],[pandora_cv_cxa_demangle=yes],[pandora_cv_cxa_demangle=no])])
-  AC_LANG_POP([])
-
-  AS_IF([test "x$pandora_cv_cxa_demangle" = xyes],[
-    AC_DEFINE(HAVE_ABI_CXA_DEMANGLE, 1,
-              [Define to 1 if you have the `abi::__cxa_demangle' function.])
-  ])
+  AC_CHECK_TYPES([uint, ulong])
+
+  PANDORA_CXX_DEMANGLE
+
+  AH_TOP([
+#ifndef __CONFIG_H__
+#define __CONFIG_H__
+
+#include "config/top.h"
+])
+  mkdir -p config
+  cat > config/top.h.stamp <<EOF_CONFIG_TOP
+
+#if defined(i386) && !defined(__i386__)
+#define __i386__
+#endif
+
+#if defined(_FILE_OFFSET_BITS)
+# undef _FILE_OFFSET_BITS
+#endif
+EOF_CONFIG_TOP
+  diff config/top.h.stamp config/top.h >/dev/null 2>&1 || mv config/top.h.stamp config/top.h
+  rm -f config/top.h.stamp
 
 
+  AH_BOTTOM([
+#if defined(__cplusplus)
+# include CSTDINT_H
+# include CINTTYPES_H
+#else
+# include <stdint.h>
+# include <inttypes.h>
+#endif
+
+#if !defined(HAVE_ULONG) && !defined(__USE_MISC)
+typedef unsigned long int ulong;
+#endif
+
+#endif /* __CONFIG_H__ */
+  ])
 ])