diff options
-rw-r--r-- | configure.ac | 15 | ||||
-rw-r--r-- | lib/os_internal.h | 13 | ||||
-rw-r--r-- | m4/_xine.m4 | 13 | ||||
-rw-r--r-- | m4/attributes.m4 | 52 | ||||
-rw-r--r-- | src/input/vcd/libcdio/Makefile.am | 2 | ||||
-rw-r--r-- | src/xine-engine/buffer_types.c | 9 | ||||
-rw-r--r-- | src/xine-engine/info_helper.h | 6 | ||||
-rw-r--r-- | src/xine-engine/xine_internal.h | 8 | ||||
-rw-r--r-- | src/xine-utils/attributes.h | 7 |
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_ */ |