Add try/catch when reading elements with libmatroska.
[vlc/vlc-2.0.git] / m4 / flags.m4
1 # Copyright © 2006 Rémi Denis-Courmont
2 # This file (flags.m4) is free software; unlimited permission to
3 # copy and/or distribute it , with or without modifications, as long
4 # as this notice is preserved.
5
6 # This program is distributed in the hope that it will be useful,
7 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
8 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9 # PARTICULAR PURPOSE.
10
11 AC_DEFUN([RDC_PROG_CC_FLAGS_IFELSE],
12 [AC_LANG_ASSERT(C)
13   CFLAGS_save="${CFLAGS}"
14   as_ac_var=`echo "ac_cv_prog_cc_flags_$1" | $as_tr_sh`
15   AC_CACHE_CHECK([if $CC accepts $1], [$as_ac_var], [
16     CFLAGS="${CFLAGS} $1"
17     AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
18       eval "$as_ac_var=yes"
19     ],[
20       eval "$as_ac_var=no"
21     ])
22   ])
23
24   ac_res=`eval echo '${'$as_ac_var'}'`
25   CFLAGS="${CFLAGS_save}"
26   AS_IF([test "${ac_res}" != "no"], [$2], [$3])
27 ])
28
29 AC_DEFUN([RDC_PROG_CC_FLAGS],
30 [AC_LANG_ASSERT(C)
31   RDC_PROG_CC_FLAGS_IFELSE([$1], [CFLAGS="${CFLAGS} $1"])
32 ])
33
34 AC_DEFUN([RDC_PROG_CC_WFLAGS],
35 [ for a in $1; do
36     RDC_PROG_CC_FLAGS([-W$a])
37   done
38 ])
39
40 AC_DEFUN([RDC_PROG_CXX_FLAGS_IFELSE],
41 [AC_LANG_ASSERT(C++)
42   CXXFLAGS_save="${CXXFLAGS}"
43   as_ac_var=`echo "ac_cv_prog_cxx_flags_$1" | $as_tr_sh`
44   AC_CACHE_CHECK([if $CXX accepts $1], [$as_ac_var], [
45     CXXFLAGS="${CXXFLAGS} $1"
46     AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
47       eval "$as_ac_var=yes"
48     ],[
49       eval "$as_ac_var=no"
50     ])
51   ])
52
53   ac_res=`eval echo '${'$as_ac_var'}'`
54   CXXFLAGS="${CXXFLAGS_save}"
55   AS_IF([test "${ac_res}" != "no"], [$2], [$3])
56 ])
57
58 AC_DEFUN([RDC_PROG_CXX_FLAGS],
59 [AC_LANG_ASSERT(C++)
60   RDC_PROG_CXX_FLAGS_IFELSE([$1], [CXXFLAGS="${CXXFLAGS} $1"])
61 ])
62
63 AC_DEFUN([RDC_PROG_CXX_WFLAGS],
64 [ for a in $1; do
65     RDC_PROG_CXX_FLAGS([-W$a])
66   done
67 ])
68
69 AC_DEFUN([RDC_PROG_LINK_FLAGS_IFELSE],
70 [AC_LANG_ASSERT(C)
71   LDFLAGS_save="${LDFLAGS}"
72   as_ac_var=`echo "ac_cv_prog_link_flags_$1" | $as_tr_sh`
73   AC_CACHE_CHECK([if $LINK accepts $1], [$as_ac_var], [
74     LDFLAGS="${LDFLAGS} $1"
75     AC_LINK_IFELSE([AC_LANG_PROGRAM()], [
76       eval "$as_ac_var=yes"
77     ],[
78       eval "$as_ac_var=no"
79     ])
80   ])
81
82   ac_res=`eval echo '${'$as_ac_var'}'`
83   AS_IF([test "${ac_res}" != "no"], [
84     LDFLAGS="${LDFLAGS} $1"
85     $2
86   ], [
87     LDFLAGS="${LDFLAGS_save}"
88     $3
89   ])
90 ])