Blame common/m4/gst-x11.m4

Packit 1f69a5
dnl macros for X-related detections
Packit 1f69a5
dnl AC_SUBST's HAVE_X, X_CFLAGS, X_LIBS
Packit 1f69a5
AC_DEFUN([AG_GST_CHECK_X],
Packit 1f69a5
[
Packit 1f69a5
  AC_PATH_XTRA
Packit 1f69a5
  ac_cflags_save="$CFLAGS"
Packit 1f69a5
  ac_cppflags_save="$CPPFLAGS"
Packit 1f69a5
  CFLAGS="$CFLAGS $X_CFLAGS"
Packit 1f69a5
  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
Packit 1f69a5
Packit 1f69a5
  dnl now try to find the HEADER
Packit 1f69a5
  HAVE_X="no"
Packit 1f69a5
  AC_CHECK_HEADER([X11/Xlib.h], [
Packit 1f69a5
    dnl and then the library with the most uniquitous function
Packit 1f69a5
    AC_CHECK_LIB(X11, [XSync], [HAVE_X="yes"], [], [$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS])
Packit 1f69a5
  ], [], [AC_INCLUDES_DEFAULT])
Packit 1f69a5
Packit 1f69a5
  if test "x$HAVE_X" = "xno"
Packit 1f69a5
  then
Packit 1f69a5
    AC_MSG_NOTICE([cannot find X11 development files])
Packit 1f69a5
  else
Packit 1f69a5
    dnl this is much more than we want
Packit 1f69a5
    X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS"
Packit 1f69a5
    dnl AC_PATH_XTRA only defines the path needed to find the X libs,
Packit 1f69a5
    dnl it does not add the libs; therefore we add them here
Packit 1f69a5
    X_LIBS="$X_LIBS -lX11"
Packit 1f69a5
    AC_SUBST(X_CFLAGS)
Packit 1f69a5
    AC_SUBST(X_LIBS)
Packit 1f69a5
  fi
Packit 1f69a5
  AC_SUBST(HAVE_X)
Packit 1f69a5
Packit 1f69a5
  CFLAGS="$ac_cflags_save"
Packit 1f69a5
  CPPFLAGS="$ac_cppflags_save"
Packit 1f69a5
])
Packit 1f69a5
Packit 1f69a5
dnl *** XVideo ***
Packit 1f69a5
dnl Look for the PIC library first, Debian requires it.
Packit 1f69a5
dnl Check debian-devel archives for gory details.
Packit 1f69a5
dnl 20020110:
Packit 1f69a5
dnl At the moment XFree86 doesn't distribute shared libXv due
Packit 1f69a5
dnl to unstable API.  On many platforms you CAN NOT link a shared
Packit 1f69a5
dnl lib to a static non-PIC lib.  This is what the xvideo GStreamer
Packit 1f69a5
dnl plug-in wants to do.  So Debian distributes a PIC compiled
Packit 1f69a5
dnl version of the static lib for plug-ins to link to when it is
Packit 1f69a5
dnl inappropriate to link the main application to libXv directly.
Packit 1f69a5
dnl FIXME: add check if this platform can support linking to a
Packit 1f69a5
dnl        non-PIC libXv, if not then don not use Xv.
Packit 1f69a5
dnl FIXME: perhaps warn user if they have a shared libXv since
Packit 1f69a5
dnl        this is an error until XFree86 starts shipping one
Packit 1f69a5
AC_DEFUN([AG_GST_CHECK_XV],
Packit 1f69a5
[
Packit 1f69a5
  if test x$HAVE_X = xyes; then
Packit 1f69a5
    AC_CHECK_LIB(Xv_pic, XvQueryExtension,
Packit 1f69a5
                 HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
Packit 1f69a5
                 $X_LIBS -lXext)
Packit 1f69a5
Packit 1f69a5
    if test x$HAVE_XVIDEO = xyes; then
Packit 1f69a5
      XVIDEO_LIBS="-lXv_pic -lXext"
Packit 1f69a5
      AC_SUBST(XVIDEO_LIBS)
Packit 1f69a5
    else
Packit 1f69a5
      dnl try again using something else if we didn't find it first
Packit 1f69a5
      if test x$HAVE_XVIDEO = xno; then
Packit 1f69a5
        AC_CHECK_LIB(Xv, XvQueryExtension,
Packit 1f69a5
                   HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
Packit 1f69a5
                   $X_LIBS -lXext)
Packit 1f69a5
Packit 1f69a5
        if test x$HAVE_XVIDEO = xyes; then
Packit 1f69a5
          XVIDEO_LIBS="-lXv -lXext"
Packit 1f69a5
          AC_SUBST(XVIDEO_LIBS)
Packit 1f69a5
        fi
Packit 1f69a5
      fi
Packit 1f69a5
    fi
Packit 1f69a5
  fi
Packit 1f69a5
])