From: Søren Sandmann Pedersen <s...@redhat.com>

Change the PIXMAN_CHECK_CFLAG macro to perform a yes_action or
no_action depending on whether the given flag is supported. Previously
it would simply add the flag to CFLAGS.

Also add a new PIXMAN_ADD_CFLAG that adds the flag to CFLAGS; this
macro should now be called instead of the old PIXMAN_CHECK_CFLAG.
---
 configure.ac |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/configure.ac b/configure.ac
index b8f6ab0..68d8d6e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -126,8 +126,8 @@ for w in -Werror -errwarn; do
     fi
 done
 
-dnl PIXMAN_CHECK_CFLAG(flag, [program])
-dnl  Adds flag to CFLAGS if the given program links without warnings or errors.
+dnl PIXMAN_CHECK_CFLAG(flag, [program], [yes_action], [no_action])
+dnl  Checks whether flag is supported and performas yes/no_action if it 
is/isn't
 AC_DEFUN([PIXMAN_CHECK_CFLAG], [dnl
        AC_MSG_CHECKING([whether the compiler supports $1])
        PIXMAN_LINK_WITH_ENV(
@@ -137,10 +137,18 @@ AC_DEFUN([PIXMAN_CHECK_CFLAG], [dnl
                ],
                [_yesno=yes],
                [_yesno=no])
-       if test "x$_yesno" = xyes; then
-          CFLAGS="$CFLAGS $1"
+       if test "x$_yesno" = "xyes"; then
+               ifelse([$3], , :, [$3])
+       else
+               ifelse([$4], , :, [$4])
        fi
-       AC_MSG_RESULT($_yesno)
+        AC_MSG_RESULT($_yesno)
+])
+
+dnl PIXMAN_ADD_CFLAG(flag, [program])
+dnl  Adds flag to CFLAGS if the given program links without warnings or errors.
+AC_DEFUN([PIXMAN_ADD_CFLAG], [dnl
+       PIXMAN_CHECK_CFLAG([$1],[$2],[CFLAGS="$CFLAGS $1"])
 ])
 
 AC_CHECK_SIZEOF(long)
@@ -182,9 +190,9 @@ AC_SUBST(LT_VERSION_INFO)
 
 # Check for dependencies
 
-PIXMAN_CHECK_CFLAG([-Wall])
-PIXMAN_CHECK_CFLAG([-Wdeclaration-after-statement])
-PIXMAN_CHECK_CFLAG([-fno-strict-aliasing])
+PIXMAN_ADD_CFLAG([-Wall])
+PIXMAN_ADD_CFLAG([-Wdeclaration-after-statement])
+PIXMAN_ADD_CFLAG([-fno-strict-aliasing])
 
 dnl =========================================================================
 dnl OpenMP for the test suite?
@@ -251,7 +259,7 @@ AC_SUBST(OPENMP_CFLAGS)
 dnl =========================================================================
 dnl -fvisibility stuff
 
-PIXMAN_CHECK_CFLAG([-fvisibility=hidden], [dnl
+PIXMAN_ADD_CFLAG([-fvisibility=hidden], [dnl
 #if defined(__GNUC__) && (__GNUC__ >= 4)
 #ifdef _WIN32
 #error Have -fvisibility but it is ignored and generates a warning
@@ -261,7 +269,7 @@ PIXMAN_CHECK_CFLAG([-fvisibility=hidden], [dnl
 #endif
 ])
 
-PIXMAN_CHECK_CFLAG([-xldscope=hidden], [dnl
+PIXMAN_ADD_CFLAG([-xldscope=hidden], [dnl
 #if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
 #else
 #error Need Sun Studio 8 for visibility
-- 
1.7.1

_______________________________________________
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to