[cairo-commit] build/aclocal.cairo.m4 build/configure.ac.warnings

Chris Wilson ickle at kemper.freedesktop.org
Thu Oct 23 03:17:06 PDT 2008


 build/aclocal.cairo.m4      |   20 ++++++++++++++++++++
 build/configure.ac.warnings |    2 +-
 2 files changed, 21 insertions(+), 1 deletion(-)

New commits:
commit 195fd27cc64c7aaf18a6d48ccd9d94548331fd4d
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Oct 22 22:04:53 2008 +0100

    [build] Use AC_LINK_IFELSE for testing linker flags.
    
    Richard Hult reported that -Wl,--allow-shlib-undefined was incorrectly
    being identified as supported by gcc under Mac OS/X:
    
    configure:25103: checking whether gcc supports -Wl,--allow-shlib-undefined
    configure:25117: gcc -c -Werror -Wl,--allow-shlib-undefined  conftest.c
    >&5
    i686-apple-darwin9-gcc-4.0.1: --allow-shlib-undefined: linker input file
    unused because linking not done
    
    So instead of just checking whether the compiler accepts the flag, check
    that we can actually link a dummy file.

diff --git a/build/aclocal.cairo.m4 b/build/aclocal.cairo.m4
index f00b137..1c898b9 100644
--- a/build/aclocal.cairo.m4
+++ b/build/aclocal.cairo.m4
@@ -93,6 +93,26 @@ AC_DEFUN([CAIRO_CC_TRY_FLAG],
 	AC_MSG_RESULT([$cairo_cc_flag])
 ])
 
+dnl check compiler/ld flags
+AC_DEFUN([CAIRO_CC_TRY_LINK_FLAG],
+[dnl
+	AC_MSG_CHECKING([whether $CC supports $1])
+
+	_save_cflags="$CFLAGS"
+	CFLAGS="$CFLAGS -Werror $1"
+	AC_LINK_IFELSE([int main(void){ return 0;} ],
+                       [cairo_cc_flag=yes],
+                       [cairo_cc_flag=no])
+	CFLAGS="$_save_cflags"
+
+	if test "x$cairo_cc_flag" = "xyes"; then
+		ifelse([$2], , :, [$2])
+	else
+		ifelse([$3], , :, [$3])
+	fi
+	AC_MSG_RESULT([$cairo_cc_flag])
+])
+
 dnl Usage:
 dnl   CAIRO_CHECK_NATIVE_ATOMIC_PRIMITIVES
 AC_DEFUN([CAIRO_CHECK_NATIVE_ATOMIC_PRIMITIVES],
diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings
index 2d111a0..c0cfe5e 100644
--- a/build/configure.ac.warnings
+++ b/build/configure.ac.warnings
@@ -69,7 +69,7 @@ AC_DEFINE_UNQUOTED([WARN_UNUSED_RESULT], [$cairo_cv_warn_unused_result],
 
 dnl check linker flags
 AC_CACHE_CHECK([how to allow undefined symbols in shared libraries used by test suite], cairo_cv_test_undefined_ldflags,
-	       [CAIRO_CC_TRY_FLAG([-Wl,--allow-shlib-undefined],
+	       [CAIRO_CC_TRY_LINK_FLAG([-Wl,--allow-shlib-undefined],
 				  [cairo_cv_test_undefined_ldflags="-Wl,--allow-shlib-undefined]")])
 CAIRO_TEST_UNDEFINED_LDFLAGS="$cairo_cv_test_undefined_ldflags"
 AC_SUBST(CAIRO_TEST_UNDEFINED_LDFLAGS)


More information about the cairo-commit mailing list