Merge Trond
[m6w6/libmemcached] / m4 / pandora_platform.m4
index 76ef66bc1ac05910083f93654df5ce3b12080c18..aaec77def23772631aefc01ad6be2c460664d12d 100644 (file)
@@ -3,7 +3,7 @@ dnl vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
 dnl   
 dnl pandora-build: A pedantic build system
 dnl Copyright (C) 2009 Sun Microsystems, Inc.
-dnl This file is free software; the Free Software Foundation
+dnl This file is free software; Sun Microsystems
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 dnl
@@ -34,6 +34,8 @@ AC_DEFUN([PANDORA_PLATFORM],[
     ;;
   esac
 
+  PANDORA_OPTIMIZE_BITFIELD=1
+
   case "$target_os" in
     *linux*)
     TARGET_LINUX="true"
@@ -47,6 +49,7 @@ AC_DEFUN([PANDORA_PLATFORM],[
       ;;
     *solaris*)
       TARGET_SOLARIS="true"
+      PANDORA_OPTIMIZE_BITFIELD=0
       AC_SUBST(TARGET_SOLARIS)
       AC_DEFINE([TARGET_OS_SOLARIS], [1], [Whether we are building for Solaris])
       ;;
@@ -60,9 +63,28 @@ AC_DEFUN([PANDORA_PLATFORM],[
       ;;
   esac
 
+  AC_SUBST(PANDORA_OPTIMIZE_BITFIELD)
+
   AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
   AC_CHECK_DECL([__ICC], [INTELCC="yes"], [INTELCC="no"])
 
-  AS_IF([test "x$INTELCC" = "xyes"], [enable_rpath=no])
+  AS_IF([test "$INTELCC" = "yes"], [enable_rpath=no])
+  dnl By default, Sun Studio grabs special versions of limits.h and string.h
+  dnl when you use <cstring> and <climits>. By setting this define, we can
+  dnl disable that and cause those to wrap the standard headers instead.
+  dnl http://www.stlport.com/doc/configure.html
+  AS_IF([test "$SUNCC" = "yes"],[
+    AC_DEFINE([_STLP_NO_NEW_C_HEADERS],[1],
+      [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"
+    ])
+  ])
 
 ])