]> git.sesse.net Git - vlc/blobdiff - m4/flags.m4
decoder: fix data race in input_DecoderFrameNext()
[vlc] / m4 / flags.m4
index 3f8ef6a241c19c58f781e4871470c7655529c371..7dc19b7b64478f2893e6b497f33b2931de3108fb 100644 (file)
@@ -1,4 +1,4 @@
-# <rdenis (at) simphalempin (dot) com>.
+# Copyright © 2006 Rémi Denis-Courmont
 # This file (flags.m4) is free software; unlimited permission to
 # copy and/or distribute it , with or without modifications, as long
 # as this notice is preserved.
@@ -13,7 +13,7 @@ AC_DEFUN([RDC_PROG_CC_FLAGS_IFELSE],
   CFLAGS_save="${CFLAGS}"
   as_ac_var=`echo "ac_cv_prog_cc_flags_$1" | $as_tr_sh`
   AC_CACHE_CHECK([if $CC accepts $1], [$as_ac_var], [
-    CFLAGS="${CFLAGS} $1"
+    CFLAGS="${CFLAGS} -Werror $1"
     AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
       eval "$as_ac_var=yes"
     ],[
@@ -22,20 +22,47 @@ AC_DEFUN([RDC_PROG_CC_FLAGS_IFELSE],
   ])
 
   ac_res=`eval echo '${'$as_ac_var'}'`
-  AS_IF([test "${ac_res}" != "no"], [
-    CFLAGS="${CFLAGS_save} $1"
+  CFLAGS="${CFLAGS_save}"
+  AS_IF([test "${ac_res}" != "no"], [$2], [$3])
+])
+
+AC_DEFUN([RDC_PROG_CC_FLAGS],
+[AC_LANG_ASSERT(C)
+  RDC_PROG_CC_FLAGS_IFELSE([$1], [CFLAGS="${CFLAGS} $1"])
+])
+
+AC_DEFUN([RDC_PROG_CC_WFLAGS],
+[ for a in $1; do
+    RDC_PROG_CC_FLAGS([-W$a])
+  done
+])
+
+AC_DEFUN([RDC_PROG_CXX_FLAGS_IFELSE],
+[AC_LANG_ASSERT(C++)
+  CXXFLAGS_save="${CXXFLAGS}"
+  as_ac_var=`echo "ac_cv_prog_cxx_flags_$1" | $as_tr_sh`
+  AC_CACHE_CHECK([if $CXX accepts $1], [$as_ac_var], [
     CXXFLAGS="${CXXFLAGS} $1"
-    OBJCFLAGS="${OBJCFLAGS} $1"
-    $2
-  ], [
-    CFLAGS="${CFLAGS_save}"
-    $3
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
+      eval "$as_ac_var=yes"
+    ],[
+      eval "$as_ac_var=no"
+    ])
   ])
+
+  ac_res=`eval echo '${'$as_ac_var'}'`
+  CXXFLAGS="${CXXFLAGS_save}"
+  AS_IF([test "${ac_res}" != "no"], [$2], [$3])
 ])
 
-AC_DEFUN([RDC_PROG_CC_WFLAGS],
+AC_DEFUN([RDC_PROG_CXX_FLAGS],
+[AC_LANG_ASSERT(C++)
+  RDC_PROG_CXX_FLAGS_IFELSE([$1], [CXXFLAGS="${CXXFLAGS} $1"])
+])
+
+AC_DEFUN([RDC_PROG_CXX_WFLAGS],
 [ for a in $1; do
-    RDC_PROG_CC_FLAGS_IFELSE([-W$a])
+    RDC_PROG_CXX_FLAGS([-W$a])
   done
 ])