summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4')
-rw-r--r--m4/_xine.m413
-rw-r--r--m4/attributes.m452
2 files changed, 62 insertions, 3 deletions
diff --git a/m4/_xine.m4 b/m4/_xine.m4
index 897ba07a2..60baed8c1 100644
--- a/m4/_xine.m4
+++ b/m4/_xine.m4
@@ -265,6 +265,19 @@ EOF
# define PRIx64 PRI64_PREFIX "x"
#endif
+#ifndef PRIX8
+# define PRIX8 "X"
+#endif
+#ifndef PRIX16
+# define PRIX16 "X"
+#endif
+#ifndef PRIX32
+# define PRIX32 "X"
+#endif
+#ifndef PRIX64
+# define PRIX64 PRI64_PREFIX "X"
+#endif
+
#ifndef PRIdFAST8
# define PRIdFAST8 "d"
#endif
diff --git a/m4/attributes.m4 b/m4/attributes.m4
index 430f0a363..fa00a95f8 100644
--- a/m4/attributes.m4
+++ b/m4/attributes.m4
@@ -1,6 +1,8 @@
# Functions to check for attributes support in compiler
AC_DEFUN([CC_ATTRIBUTE_CONSTRUCTOR], [
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
AC_CACHE_CHECK([if compiler supports __attribute__((constructor))],
[cc_cv_attribute_constructor],
[AC_COMPILE_IFELSE([
@@ -10,6 +12,7 @@ AC_DEFUN([CC_ATTRIBUTE_CONSTRUCTOR], [
[cc_cv_attribute_constructor=yes],
[cc_cv_attribute_constructor=no])
])
+ CFLAGS="$ac_save_CFLAGS"
if test "x$cc_cv_attribute_constructor" = "xyes"; then
AC_DEFINE([SUPPORT_ATTRIBUTE_CONSTRUCTOR], 1, [Define this if the compiler supports the constructor attribute])
@@ -21,14 +24,17 @@ AC_DEFUN([CC_ATTRIBUTE_CONSTRUCTOR], [
])
AC_DEFUN([CC_ATTRIBUTE_FORMAT], [
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
AC_CACHE_CHECK([if compiler supports __attribute__((format(printf, n, n)))],
[cc_cv_attribute_format],
[AC_COMPILE_IFELSE([
- void __attribute__((format(printf, 1, 2))) printflike(const char *fmt, ...) { }
+ void __attribute__((format(printf, 1, 2))) printflike(const char *fmt, ...) { fmt = (void *)0; }
],
[cc_cv_attribute_format=yes],
[cc_cv_attribute_format=no])
])
+ CFLAGS="$ac_save_CFLAGS"
if test "x$cc_cv_attribute_format" = "xyes"; then
AC_DEFINE([SUPPORT_ATTRIBUTE_FORMAT], 1, [Define this if the compiler supports the format attribute])
@@ -40,14 +46,17 @@ AC_DEFUN([CC_ATTRIBUTE_FORMAT], [
])
AC_DEFUN([CC_ATTRIBUTE_FORMAT_ARG], [
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
AC_CACHE_CHECK([if compiler supports __attribute__((format_arg(printf)))],
[cc_cv_attribute_format_arg],
[AC_COMPILE_IFELSE([
- void __attribute__((format_arg(printf, 1))) gettextlike(const char *fmt) { }
+ void __attribute__((format_arg(1))) gettextlike(const char *fmt) { fmt = (void *)0; }
],
[cc_cv_attribute_format_arg=yes],
[cc_cv_attribute_format_arg=no])
])
+ CFLAGS="$ac_save_CFLAGS"
if test "x$cc_cv_attribute_format_arg" = "xyes"; then
AC_DEFINE([SUPPORT_ATTRIBUTE_FORMAT_ARG], 1, [Define this if the compiler supports the format_arg attribute])
@@ -59,6 +68,8 @@ AC_DEFUN([CC_ATTRIBUTE_FORMAT_ARG], [
])
AC_DEFUN([CC_ATTRIBUTE_VISIBILITY], [
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
AC_CACHE_CHECK([if compiler supports __attribute__((visibility("...")))],
[cc_cv_attribute_visibility],
[AC_COMPILE_IFELSE([
@@ -69,6 +80,7 @@ AC_DEFUN([CC_ATTRIBUTE_VISIBILITY], [
[cc_cv_attribute_visibility=yes],
[cc_cv_attribute_visibility=no])
])
+ CFLAGS="$ac_save_CFLAGS"
if test "x$cc_cv_attribute_visibility" = "xyes"; then
AC_DEFINE([SUPPORT_ATTRIBUTE_VISIBILITY], 1, [Define this if the compiler supports the visibility attribute])
@@ -80,6 +92,8 @@ AC_DEFUN([CC_ATTRIBUTE_VISIBILITY], [
])
AC_DEFUN([CC_FLAG_VISIBILITY], [
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
AC_CACHE_CHECK([if compiler supports -fvisibility=hidden],
[cc_cv_flag_visibility],
[
@@ -90,6 +104,7 @@ AC_DEFUN([CC_FLAG_VISIBILITY], [
[cc_cv_flag_visibility=no])
CFLAGS="$save_CFLAGS"
])
+ CFLAGS="$ac_save_CFLAGS"
if test "x$cc_cv_flag_visibility" = "xyes"; then
AC_DEFINE([SUPPORT_FLAG_VISIBILITY], 1, [Define this if the compiler supports the -fvisibility flag])
@@ -101,15 +116,18 @@ AC_DEFUN([CC_FLAG_VISIBILITY], [
])
AC_DEFUN([CC_ATTRIBUTE_NONNULL], [
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
AC_CACHE_CHECK([if compiler supports __attribute__((nonnull()))],
[cc_cv_attribute_nonnull],
[AC_COMPILE_IFELSE([
void some_function(void *foo, void *bar) __attribute__((nonnull()));
- void some_function(void *foo, void *bar) { }
+ void some_function(void *foo, void *bar) { foo = (void *)0; bar = (void *)0; }
],
[cc_cv_attribute_nonnull=yes],
[cc_cv_attribute_nonnull=no])
])
+ CFLAGS="$ac_save_CFLAGS"
if test "x$cc_cv_attribute_nonnull" = "xyes"; then
AC_DEFINE([SUPPORT_ATTRIBUTE_NONNULL], 1, [Define this if the compiler supports the nonnull attribute])
@@ -121,6 +139,8 @@ AC_DEFUN([CC_ATTRIBUTE_NONNULL], [
])
AC_DEFUN([CC_ATTRIBUTE_UNUSED], [
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
AC_CACHE_CHECK([if compiler supports __attribute__((unused))],
[cc_cv_attribute_unused],
[AC_COMPILE_IFELSE([
@@ -129,6 +149,7 @@ AC_DEFUN([CC_ATTRIBUTE_UNUSED], [
[cc_cv_attribute_unused=yes],
[cc_cv_attribute_unused=no])
])
+ CFLAGS="$ac_save_CFLAGS"
if test "x$cc_cv_attribute_unused" = "xyes"; then
AC_DEFINE([SUPPORT_ATTRIBUTE_UNUSED], 1, [Define this if the compiler supports the unused attribute])
@@ -140,6 +161,8 @@ AC_DEFUN([CC_ATTRIBUTE_UNUSED], [
])
AC_DEFUN([CC_FUNC_EXPECT], [
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
AC_CACHE_CHECK([if compiler has __builtin_expect function],
[cc_cv_func_expect],
[AC_COMPILE_IFELSE([
@@ -152,6 +175,7 @@ AC_DEFUN([CC_FUNC_EXPECT], [
[cc_cv_func_expect=yes],
[cc_cv_func_expect=no])
])
+ CFLAGS="$ac_save_CFLAGS"
if test "x$cc_cv_func_expect" = "xyes"; then
AC_DEFINE([SUPPORT__BUILTIN_EXPECT], 1, [Define this if the compiler supports __builtin_expect() function])
@@ -161,3 +185,25 @@ AC_DEFUN([CC_FUNC_EXPECT], [
$2
fi
])
+
+AC_DEFUN([CC_ATTRIBUTE_SENTINEL], [
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
+ AC_CACHE_CHECK([if compiler supports __attribute__((sentinel))],
+ [cc_cv_attribute_sentinel],
+ [AC_COMPILE_IFELSE([
+ void some_function(void *foo, ...) __attribute__((sentinel));
+ ],
+ [cc_cv_attribute_sentinel=yes],
+ [cc_cv_attribute_sentinel=no])
+ ])
+ CFLAGS="$ac_save_CFLAGS"
+
+ if test "x$cc_cv_attribute_sentinel" = "xyes"; then
+ AC_DEFINE([SUPPORT_ATTRIBUTE_SENTINEL], 1, [Define this if the compiler supports the sentinel attribute])
+ $1
+ else
+ true
+ $2
+ fi
+])