Tidy up gmp cleaning
[ghc-hetmet.git] / aclocal.m4
index c50d348..e6410d7 100644 (file)
@@ -6,9 +6,14 @@
 
 # FPTOOLS_SET_C_LD_FLAGS
 # ----------------------------------
-# Set the C and LD flags for a given platform
+# Set the C, LD and CPP flags for a given platform
+# $1 is the platform
+# $2 is the name of the C flags variable
+# $3 is the name of the LD flags variable
+# $4 is the name of the CPP flags variable
 AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
 [
+    AC_MSG_CHECKING([Setting up $2, $3 and $4])
     case $$1 in
     i386-apple-darwin)
         # By default, gcc on OS X will generate SSE
@@ -16,11 +21,28 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
         # but we don't 16-byte align things. Thus drop
         # back to generic i686 compatibility. Trac #2983.
         $2="$$2 -march=i686 -m32"
-        $3="$$3 -march=i686 -m32"
+        # It's not clear if $3 flags will be given to gcc or ld,
+        # and they accept different flags, so for now do nothing
+        # $3="$$3 -march=i686 -m32"
+        $4="$$4 -march=i686 -m32"
         ;;
     x86_64-apple-darwin)
         $2="$$2 -m64"
-        $3="$$3 -m64"
+        # It's not clear if $3 flags will be given to gcc or ld,
+        # and they accept different flags, so for now do nothing
+        # $3="$$3 -m64"
+        $4="$$4 -m64"
+        ;;
+    esac
+
+    case $$1 in
+    i386-apple-darwin|x86_64-apple-darwin)
+        # We support back to OS X 10.5
+        $2="$$2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5"
+        # It's not clear if $3 flags will be given to gcc or ld,
+        # and they accept different flags, so for now do nothing
+        # $3="$$3 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5"
+        $4="$$4 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5"
         ;;
     esac
 
@@ -31,7 +53,26 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
     then
         $2="$$2 -fno-stack-protector"
     fi
-    rm conftest.c conftest.o
+    rm -f conftest.c conftest.o
+    AC_MSG_RESULT([done])
+])
+
+
+# FP_VISIBILITY_HIDDEN
+# ----------------------------------
+# Is the visibility hidden attribute supported?
+AC_DEFUN([FP_VISIBILITY_HIDDEN],
+[
+    AC_MSG_CHECKING([whether __attribute__((visibility("hidden"))) is supported])
+    echo '__attribute__((visibility("hidden"))) void foo(void) {}' > conftest.c
+    if $CC -Wall -Werror -c conftest.c > /dev/null 2>&1
+    then
+        AC_MSG_RESULT([yes])
+        AC_DEFINE(HAS_VISIBILITY_HIDDEN, 1, [Has visibility hidden])
+    else
+        AC_MSG_RESULT([no])
+    fi
+    rm -f conftest.c conftest.o
 ])