Subject: [1829551] [PATCH] Build problems
From: Thomas Koeller <tkoeller@users.sourceforge.net>
Date: Sat, Nov 10 2007 15:35:00 +0000

When building xine-lib 1.1.8 on my x86_64-pc-linux-gnu system, I encountered
a number of problems I had to deal with:

1. Missing multiple inclusion protection in config.h

2. INT_MAX being used in several places, without including limits.h for a
definition

3. X libraries not found because of incomplete library search paths.

diff -ru xine-lib-1.1.8/include/config.h xine-lib-1.1.8-patched/include/config.h
--- xine-lib-1.1.8/include/config.h	2007-08-19 01:36:43.000000000 +0200
+++ xine-lib-1.1.8-patched/include/config.h	2007-11-07 02:32:37.000000000 +0100
@@ -19,5 +19,11 @@
  *
  */
 
+#ifndef _CONFIG_H_
+#define _CONFIG_H_
+
 #include "configure.h"
 #include "os_internal.h"
+
+#endif /* _CONFIG_H_ */
+
diff -ru xine-lib-1.1.8/src/libffmpeg/libavcodec/cavsdata.h xine-lib-1.1.8-patched/src/libffmpeg/libavcodec/cavsdata.h
--- xine-lib-1.1.8/src/libffmpeg/libavcodec/cavsdata.h	2007-08-19 01:36:50.000000000 +0200
+++ xine-lib-1.1.8-patched/src/libffmpeg/libavcodec/cavsdata.h	2007-11-07 18:51:12.000000000 +0100
@@ -19,6 +19,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#include <limits.h>	/* INT_MAX */
+
 #define SLICE_MIN_START_CODE    0x00000101
 #define SLICE_MAX_START_CODE    0x000001af
 #define EXT_START_CODE          0x000001b5
diff -ru xine-lib-1.1.8/src/libffmpeg/libavcodec/golomb.h xine-lib-1.1.8-patched/src/libffmpeg/libavcodec/golomb.h
--- xine-lib-1.1.8/src/libffmpeg/libavcodec/golomb.h	2007-08-19 01:36:50.000000000 +0200
+++ xine-lib-1.1.8-patched/src/libffmpeg/libavcodec/golomb.h	2007-11-07 18:49:47.000000000 +0100
@@ -28,6 +28,8 @@
  * @author Michael Niedermayer <michaelni@gmx.at> and Alex Beregszaszi
  */
 
+#include <limits.h>	/* INT_MAX */
+
 #define INVALID_VLC           0x80000000
 
 extern const uint8_t ff_golomb_vlc_len[512];
diff -ru xine-lib-1.1.8/src/libffmpeg/libavutil/internal.h xine-lib-1.1.8-patched/src/libffmpeg/libavutil/internal.h
--- xine-lib-1.1.8/src/libffmpeg/libavutil/internal.h	2007-08-19 01:36:52.000000000 +0200
+++ xine-lib-1.1.8-patched/src/libffmpeg/libavutil/internal.h	2007-11-07 18:54:30.000000000 +0100
@@ -107,6 +107,7 @@
 #endif
 
 #ifndef INT_BIT
+#    include <limits.h>
 #    if INT_MAX != 2147483647
 #        define INT_BIT 64
 #    else
diff -ru xine-lib-1.1.8/src/video_out/Makefile.am xine-lib-1.1.8-patched/src/video_out/Makefile.am
--- xine-lib-1.1.8/src/video_out/Makefile.am	2007-08-19 01:36:58.000000000 +0200
+++ xine-lib-1.1.8-patched/src/video_out/Makefile.am	2007-11-07 18:38:42.000000000 +0100
@@ -136,7 +136,7 @@
 
 xineplug_vo_out_syncfb_la_SOURCES = video_out_syncfb.c 
 xineplug_vo_out_syncfb_la_LIBADD = $(X_LIBS) $(XINE_LIB) $(PTHREAD_LIBS) $(LTLIBINTL)
-xineplug_vo_out_syncfb_la_CFLAGS = $(VISIBILITY_FLAG)
+xineplug_vo_out_syncfb_la_CFLAGS = $(VISIBILITY_FLAG) $(X_CFLAGS)
 
 xineplug_vo_out_pgx64_la_SOURCES = video_out_pgx64.c
 xineplug_vo_out_pgx64_la_LIBADD = $(XINE_LIB) $(X_LIBS) $(SUNDGA_LIBS) $(PTHREAD_LIBS) $(LTLIBINTL)
