[PATCH] configure: Disable gstreamer support if headers are not compatible with build environment.

Octavian Voicu octavian.voicu at gmail.com
Sat Jul 30 10:23:27 CDT 2011

When building a 32-bit wine in a 64-bit build environment with
default glib headers (gstreamer uses glib.h), glib 64-bit types
(such as gint64 and guint64) are not properly defined, causing
many compiler warnings* and most likely a broken winegstreamer.dll.

Although both gstreamer and glib are included in the ia32-libs
package (on Ubuntu, and possibly others), the lack of a proper
glibconfig.h makes the gstreamer headers unusable for 32-bit

 configure.ac |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 2521c71..f32d9eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1451,10 +1451,18 @@ then
         CPPFLAGS="$CPPFLAGS $ac_gst_incl"
-             [AC_CHECK_LIB(gstreamer-0.10,gst_pad_get_caps_reffed,
-                [AC_CHECK_LIB(gstapp-0.10,gst_app_buffer_new,
-                    [AC_SUBST(GSTREAMER_LIBS,"$ac_gst_libs")
-                     AC_SUBST(GSTREAMER_INCL,"$ac_gst_incl")],,[$ac_gst_libs])])])])
+             [AC_CHECK_SIZEOF([gint64],,[#include <gst/app/gstappsink.h>])
+              AC_CHECK_SIZEOF([guint64],,[#include <gst/app/gstappsink.h>])
+              AC_MSG_CHECKING([whether gint64/guint64 defined by gst/app/gstappsink.h are indeed 64-bit])
+              if test "x$ac_cv_sizeof_gint64" = "x8" -a "x$ac_cv_sizeof_guint64" = "x8"; then
+                  AC_MSG_RESULT([yes])
+                  AC_CHECK_LIB(gstreamer-0.10,gst_pad_get_caps_reffed,
+                    [AC_CHECK_LIB(gstapp-0.10,gst_app_buffer_new,
+                       [AC_SUBST(GSTREAMER_LIBS,"$ac_gst_libs")
+                        AC_SUBST(GSTREAMER_INCL,"$ac_gst_incl")],,[$ac_gst_libs])])
+              else
+                  AC_MSG_RESULT([no])
+              fi])])

More information about the wine-patches mailing list