diff --git a/configure.ac b/configure.ac index 91d099ecaf..c1b64d9a5a 100644 --- a/configure.ac +++ b/configure.ac @@ -1537,30 +1537,36 @@ AG_GST_CHECK_FEATURE(VDPAU, [VDPAU], vdpau, [ VDPAU_LIBS=-lvdpau HAVE_VDPAU=no - saved_CPPFLAGS="$CPPFLAGS" - AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes]) - if test -z "$HAVE_VDPAU_H"; then - dnl Didn't find VDPAU header straight away. - dnl Try /usr/include/nvidia. Need to clear caching vars first - AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia]) - unset ac_cv_header_vdpau_vdpau_h - unset ac_cv_header_vdpau_vdpau_x11_h - VDPAU_CFLAGS="-I/usr/include/nvidia" - VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau" - CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS" - AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes]) - fi - AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes]) - CPPFLAGS="$saved_CPPFLAGS" + PKG_CHECK_MODULES(VDPAU, vdpau, [HAVE_VDPAU="yes"]) - if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then - dnl Found the headers - look for the lib - AC_MSG_NOTICE([VDPAU headers found. Checking libraries]) - saved_LIBS="$LIBS" - LIBS="$VDPAU_LIBS $saved_LIBS" - AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"]) - LIBS="$saved_LIBS" + if test "$HAVE_VDPAU" = "no"; then + saved_CPPFLAGS="$CPPFLAGS" + AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes]) + + if test -z "$HAVE_VDPAU_H"; then + dnl Didn't find VDPAU header straight away. + dnl Try /usr/include/nvidia. Need to clear caching vars first + AC_MSG_NOTICE([VDPAU header not in standard path. Checking /usr/include/nvidia]) + unset ac_cv_header_vdpau_vdpau_h + unset ac_cv_header_vdpau_vdpau_x11_h + VDPAU_CFLAGS="-I/usr/include/nvidia" + VDPAU_LIBS="-L/usr/lib/nvidia -lvdpau" + CPPFLAGS="$VDPAU_CFLAGS $saved_CPPFLAGS" + AC_CHECK_HEADER([vdpau/vdpau.h], [HAVE_VDPAU_H=yes]) + fi + + AC_CHECK_HEADER([vdpau/vdpau_x11.h], [HAVE_VDPAU_X11_H=yes]) + + if test "x$HAVE_VDPAU_H" = "xyes" -a "x$HAVE_VDPAU_X11_H" = "xyes"; then + dnl Found the headers - look for the lib + AC_MSG_NOTICE([VDPAU headers found. Checking libraries]) + saved_LIBS="$LIBS" + LIBS="$VDPAU_LIBS $saved_LIBS" + AC_CHECK_LIB(vdpau,vdp_device_create_x11,[HAVE_VDPAU="yes"]) + LIBS="$saved_LIBS" + fi fi + if test "$HAVE_VDPAU" = "yes"; then AC_MSG_NOTICE([Found up to date VDPAU installation]) AC_SUBST(VDPAU_CFLAGS)