Remove another chunck of Pandora.
[awesomized/libmemcached] / m4 / pandora_platform.m4
index 678b51ea029e2b6dd62a9d12bd420fe37744d298..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.
 
@@ -23,17 +25,28 @@ AC_DEFUN([PANDORA_PLATFORM],[
 
 
   case "$host_os" in
-    *solaris*|*freebsd*)
+    *solaris*)
     AS_IF([test "x${ac_cv_env_CPPFLAGS_set}" = "x"],[
       CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
     ])
 
+    AS_IF([test "x${ac_cv_env_LDFLAGS_set}" = "x"],[
+      LDFLAGS="${LDFLAGS} -L/usr/local/lib"
+    ])
+    ;;
+    *freebsd*)
+    AS_IF([test "x${ac_cv_env_CPPFLAGS_set}" = "x"],[
+      CPPFLAGS="${CPPFLAGS} -isystem /usr/local/include"
+    ])
+
     AS_IF([test "x${ac_cv_env_LDFLAGS_set}" = "x"],[
       LDFLAGS="${LDFLAGS} -L/usr/local/lib"
     ])
     ;;
   esac
 
+  PANDORA_OPTIMIZE_BITFIELD=1
+
   case "$target_os" in
     *linux*)
     TARGET_LINUX="true"
@@ -47,6 +60,8 @@ AC_DEFUN([PANDORA_PLATFORM],[
       ;;
     *solaris*)
       TARGET_SOLARIS="true"
+      PANDORA_OPTIMIZE_BITFIELD=0
+      AS_IF([test "x${USE_NLS}" = "xyes"],[LIBS="${LIBS} -lintl"])
       AC_SUBST(TARGET_SOLARIS)
       AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris])
       ;;
@@ -56,10 +71,32 @@ AC_DEFUN([PANDORA_PLATFORM],[
       AC_DEFINE([TARGET_OS_FREEBSD], [1], [Whether we are building for FreeBSD])
       AC_DEFINE([__APPLE_CC__],[1],[Workaround for bug in FreeBSD headers])
       ;;
-    *)
+    *mingw32*)
+      TARGET_WINDOWS="true"
+      AC_SUBST(TARGET_WINDOWS)
+      AC_DEFINE([TARGET_OS_WINDOWS], [1], [Whether we are building for Windows])
+      AC_DEFINE([WINVER], [WindowsXP], [Version of Windows])
+      AC_DEFINE([_WIN32_WINNT], [0x0501], [Magical number to make things work])
+      AC_DEFINE([EAI_SYSTEM], [11], [Another magical number])
+      AH_BOTTOM([
+#ifndef HAVE_SYS_SOCKET_H
+# define SHUT_RD SD_RECEIVE
+# define SHUT_WR SD_SEND
+# define SHUT_RDWR SD_BOTH
+#endif
+      ])
+
+      LIBS="$LIBS -lwsock32 -lws2_32"
+      AM_CFLAGS="${AM_CFLAGS} -I\${top_srcdir}/win32/mingw -I\${top_builddir}/win32/mingw -I\${top_srcdir}/win32 -I\${top_builddir}/win32"
       ;;
   esac
+  AM_CONDITIONAL(BUILD_WIN32, [test "x${TARGET_WINDOWS}" = "xtrue"])
+  AM_CONDITIONAL(TARGET_OSX, [test "x${TARGET_OSX}" = "xtrue"])
+  AM_CONDITIONAL(TARGET_LINUX, [test "x${TARGET_LINUX}" = "xtrue"])
+
+  AC_SUBST(PANDORA_OPTIMIZE_BITFIELD)
 
+  AC_CHECK_DECL([__clang__], [CLANG="yes"], [CLANG="no"])
   AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
   AC_CHECK_DECL([__ICC], [INTELCC="yes"], [INTELCC="no"])
 
@@ -74,4 +111,12 @@ AC_DEFUN([PANDORA_PLATFORM],[
       [Cause Sun Studio to not be quite so strict with standards conflicts])
   ])
 
+  AS_IF([test "x$TARGET_OSX" = "xtrue"],[
+    AS_IF([test "x$ac_enable_fat_binaries" = "xyes"],[
+      AM_CFLAGS="-arch i386 -arch x86_64 -arch ppc"
+      AM_CXXFLAGS="-arch i386 -arch x86_64 -arch ppc"
+      AM_LDFLAGS="-arch i386 -arch x86_64 -arch ppc"
+    ])
+  ])
+
 ])