[PATCH libevdev 1/3] m4: fix CC_CHECK_WERROR and CC_FLAG_VISIBILITY macros

Peter Hutterer peter.hutterer at who-t.net
Sun May 18 21:01:49 PDT 2014


These macros come from systemd, but CC_CHECK_CFLAGS_SILENT was removed in
systemd commit eb2e280f9c59b66965c9316eadc4c113a13ca744, breaking some of
them.

CC_FLAG_VISIBILITY doesn't need to require CC_CHECK_WERROR because
CC_CHECK_FLAG_APPEND always append -Werror anyway. Which kinda brings into
question why we have CC_CHECK_WERROR in the first place, but whavever.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 m4/attributes.m4 | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/m4/attributes.m4 b/m4/attributes.m4
index aa53ef2..5fbd43d 100644
--- a/m4/attributes.m4
+++ b/m4/attributes.m4
@@ -109,13 +109,14 @@ dnl
 dnl Other compilers don't support -Werror per se, but they support
 dnl an equivalent flag:
 dnl  - Sun Studio compiler supports -errwarn=%all
+dnl we don't test for that, it gives us false positives when gcc doesn't
+dnl actually complain about it. If someone wants to compile this on sun, let
+dnl them fix it.
 AC_DEFUN([CC_CHECK_WERROR], [
   AC_CACHE_CHECK(
     [for $CC way to treat warnings as errors],
     [cc_cv_werror],
-    [CC_CHECK_CFLAGS_SILENT([-Werror], [cc_cv_werror=-Werror],
-      [CC_CHECK_CFLAGS_SILENT([-errwarn=%all], [cc_cv_werror=-errwarn=%all])])
-    ])
+    [CC_CHECK_FLAG_APPEND([cc_cv_werror], [CFLAGS], [-Werror])])
 ])
 
 AC_DEFUN([CC_CHECK_ATTRIBUTE], [
@@ -225,17 +226,11 @@ AC_DEFUN([CC_ATTRIBUTE_CONST], [
 ])
 
 AC_DEFUN([CC_FLAG_VISIBILITY], [
-  AC_REQUIRE([CC_CHECK_WERROR])
   AC_CACHE_CHECK([if $CC supports -fvisibility=hidden],
     [cc_cv_flag_visibility],
-    [cc_flag_visibility_save_CFLAGS="$CFLAGS"
-     CFLAGS="$CFLAGS $cc_cv_werror"
-     CC_CHECK_CFLAGS_SILENT([-fvisibility=hidden],
-     cc_cv_flag_visibility='yes',
-     cc_cv_flag_visibility='no')
-     CFLAGS="$cc_flag_visibility_save_CFLAGS"])
+    [CC_CHECK_FLAG_APPEND([cc_cv_flag_visibility], [CFLAGS], [-fvisibility=hidden])])
 
-  AS_IF([test "x$cc_cv_flag_visibility" = "xyes"],
+  AS_IF([test "x$cc_cv_flag_visibility" != "x"],
     [AC_DEFINE([SUPPORT_FLAG_VISIBILITY], 1,
        [Define this if the compiler supports the -fvisibility flag])
      $1],
-- 
1.9.0



More information about the Input-tools mailing list