configure: Disable gstreamer support if headers are not compatible with build environment. (try 2)

Octavian Voicu octavian.voicu at gmail.com
Tue Aug 2 17:38:43 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
builds.

try 2: use AC_COMPILE_IFELSE instead of AC_CHECK_SIZEOF.

---
 configure.ac |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index ecd74d6..cd94f34 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1456,10 +1456,15 @@ then
         CPPFLAGS="$CPPFLAGS $ac_gst_incl"
         AC_CHECK_HEADER([gst/gstpad.h],
           [AC_CHECK_HEADER([gst/app/gstappsink.h],
-             [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_MSG_CHECKING([whether gint64 defined by gst/app/gstappsink.h is indeed 64-bit])
+              AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[#include <gst/app/gstappsink.h>
+int a[[sizeof(gint64)-sizeof(int)-1]];]]),
+                [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])])],
+                [AC_MSG_RESULT([no])])])])
     fi
     CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-- 
1.7.4.1




More information about the wine-patches mailing list