summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac15
-rw-r--r--lib/os_internal.h13
-rw-r--r--m4/_xine.m413
-rw-r--r--m4/attributes.m452
-rw-r--r--src/input/vcd/libcdio/Makefile.am2
-rw-r--r--src/xine-engine/buffer_types.c9
-rw-r--r--src/xine-engine/info_helper.h6
-rw-r--r--src/xine-engine/xine_internal.h8
-rw-r--r--src/xine-utils/attributes.h7
9 files changed, 98 insertions, 27 deletions
diff --git a/configure.ac b/configure.ac
index 3ff1df316..84e2a48a7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1662,7 +1662,6 @@ if test x"$enable_vcd" = "xyes"; then
dnl check twice, fallback is internal copy
if test x"$internal_vcdnav" = "xyes"; then
AC_DEFINE_UNQUOTED(HOST_ARCH, "$host_os/$host_cpu", [host os/cpu identifier])
- AC_CHECK_FUNCS(snprintf vsnprintf, , [AC_MSG_ERROR(required function not found)])
AC_DEFINE(_DEVELOPMENT_, [], enable warnings about being development release)
AC_DEFINE(_GNU_SOURCE, [], enable GNU libc extension)
@@ -1969,7 +1968,17 @@ dnl ---------------------------------------------
AC_SYS_LARGEFILE
AC_CHECK_LIB(posix4, sched_get_priority_min)
-AC_CHECK_FUNCS([_vsnprintf _snprintf _stricmp _strnicmp vsscanf sigaction sigset getpwuid_r nanosleep lstat memset readlink strchr strcasecmp strncasecmp])
+AC_CHECK_FUNCS([vsscanf sigaction sigset getpwuid_r nanosleep lstat memset readlink strchr va_copy])
+AC_CHECK_FUNCS([_snprintf snprintf], [some_snprintf="yes"])
+AC_CHECK_FUNCS([_vsnprintf vsnprintf], [some_vsnprintf="yes"])
+AC_CHECK_FUNCS([_stricmp strcasecmp], [some_strcasecmp="yes"])
+AC_CHECK_FUNCS([_strnicmp strncasecmp], [some_strncasecmp="yes"])
+if test "x$some_snprintf" != "xyes" -o \
+ "x$some_vsnprintf" != "xyes" -o \
+ "x$some_strcasecmp" != "xyes" -o \
+ "x$some_strncasecmp" != "xyes"; then
+ AC_MSG_ERROR([required function not found])
+fi
AC_FUNC_FSEEKO
AC_DEFINE(_GNU_SOURCE)
AC_CHECK_HEADERS(assert.h byteswap.h malloc.h execinfo.h ucontext.h sys/mman.h sys/mixer.h libgen.h netdb.h dirent.h sys/times.h sys/ioctl.h sys/param.h)
@@ -2028,6 +2037,8 @@ CC_FLAG_VISIBILITY([
AC_SUBST([VISIBILITY_FLAG])
+CC_ATTRIBUTE_SENTINEL
+
dnl Common cflags for all platforms
CFLAGS="-DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE \$(MULTIPASS_CFLAGS) $CFLAGS"
DEBUG_CFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE $DEBUG_CFLAGS"
diff --git a/lib/os_internal.h b/lib/os_internal.h
index 9ce57598f..8ecfbaeab 100644
--- a/lib/os_internal.h
+++ b/lib/os_internal.h
@@ -153,16 +153,13 @@ char *xine_private_strndup(const char *s, size_t n);
#ifndef M_PI
# define M_PI 3.14159265358979323846
#endif
-#ifndef HAVE_LRINTF
-#define HAVE_LRINTF
-#define lrint(X) (long)((X) + ((X) >= 0 ? 0.5 : -0.5))
-#endif
-#ifndef HAVE_RINTF
-#define HAVE_RINTF
-#define rint(X) (int)((X) + ((X) >= 0 ? 0.5 : -0.5))
-#endif
#ifdef WIN32
+/* this hack applied only on attic version of MinGW platform */
+# if !defined(va_copy) && !defined(HAVE_VA_COPY)
+# define va_copy(DEST, SRC) ((DEST) = (SRC))
+# endif
+
# include <io.h>
# ifdef _MSC_VER
# include <direct.h>
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
+])
diff --git a/src/input/vcd/libcdio/Makefile.am b/src/input/vcd/libcdio/Makefile.am
index a0127da9b..c7415e787 100644
--- a/src/input/vcd/libcdio/Makefile.am
+++ b/src/input/vcd/libcdio/Makefile.am
@@ -2,7 +2,7 @@ include $(top_srcdir)/misc/Makefile.common
SUBDIRS = cdio MSWindows image
-INCLUDES = $(LIBCDIO_CFLAGS) -I$(top_srcdir)/include -I$(top_srcdir)/lib
+INCLUDES = $(LIBCDIO_CFLAGS) -I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_builddir)/lib
libcdio_SRCS = \
_cdio_bsdi.c \
diff --git a/src/xine-engine/buffer_types.c b/src/xine-engine/buffer_types.c
index f1d631874..ea8d58842 100644
--- a/src/xine-engine/buffer_types.c
+++ b/src/xine-engine/buffer_types.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: buffer_types.c,v 1.105 2006/08/02 06:19:12 tmmm Exp $
+ * $Id: buffer_types.c,v 1.106 2006/10/02 15:56:06 valtri Exp $
*
*
* contents:
@@ -1102,6 +1102,13 @@ static audio_db_t audio_db[] = {
},
{
{
+ 0x22,
+ },
+ BUF_AUDIO_TRUESPEECH,
+ "Truespeech"
+},
+{
+ {
0
},
BUF_AUDIO_MPC,
diff --git a/src/xine-engine/info_helper.h b/src/xine-engine/info_helper.h
index 7eaa93f9c..a21372e22 100644
--- a/src/xine-engine/info_helper.h
+++ b/src/xine-engine/info_helper.h
@@ -123,11 +123,7 @@ void _x_meta_info_set_generic(xine_stream_t *stream, int info, const char *str,
* ... one or more meta info, followed by a NULL pointer
*
*/
-void _x_meta_info_set_multi(xine_stream_t *stream, int info, ...)
-#ifdef __GNUC__
-__attribute__((sentinel))
-#endif
- XINE_PROTECTED;
+void _x_meta_info_set_multi(xine_stream_t *stream, int info, ...) XINE_SENTINEL XINE_PROTECTED;
/*
* set a stream meta info
diff --git a/src/xine-engine/xine_internal.h b/src/xine-engine/xine_internal.h
index 4a6e6b138..8ee5d8219 100644
--- a/src/xine-engine/xine_internal.h
+++ b/src/xine-engine/xine_internal.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine_internal.h,v 1.178 2006/09/26 05:48:16 dgp85 Exp $
+ * $Id: xine_internal.h,v 1.179 2006/10/02 15:56:06 valtri Exp $
*
*/
@@ -360,11 +360,7 @@ void _x_handle_stream_end (xine_stream_t *stream, int non_user) XINE_PROTEC
/* report message to UI. usually these are async errors */
-int _x_message(xine_stream_t *stream, int type, ...)
-#ifdef __GNUC__
-__attribute__((sentinel))
-#endif
-XINE_PROTECTED;
+int _x_message(xine_stream_t *stream, int type, ...) XINE_SENTINEL XINE_PROTECTED;
/* flush the message queues */
diff --git a/src/xine-utils/attributes.h b/src/xine-utils/attributes.h
index 4bf5a21af..dd70d4309 100644
--- a/src/xine-utils/attributes.h
+++ b/src/xine-utils/attributes.h
@@ -53,5 +53,10 @@
# define XINE_PROTECTED
#endif
-#endif /* ATTRIBUTE_H_ */
+#ifdef SUPPORT_ATTRIBUTE_SENTINEL
+# define XINE_SENTINEL __attribute__((sentinel))
+#else
+# define XINE_SENTINEL
+#endif
+#endif /* ATTRIBUTE_H_ */