Sanitize build dependencies.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Thu, 27 Sep 2012 12:26:03 +0000 (14:26 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Thu, 27 Sep 2012 13:54:50 +0000 (15:54 +0200)
Fix build dependencies for all backends (DRM, X11, GLX, EGL, Wayland),
especially when they don't live in standard locations.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
configure.ac
va/Makefile.am
va/egl/Makefile.am
va/glx/Makefile.am
va/x11/Makefile.am

index 9c282b2..f25f3d9 100644 (file)
@@ -128,17 +128,17 @@ AC_ARG_ENABLE(x11,
 
 AC_ARG_ENABLE(glx,
     [AC_HELP_STRING([--enable-glx],
-                    [build with GLX support @<:@default=yes@:>@])],
+                    [build with VA/GLX API support @<:@default=yes@:>@])],
     [], [enable_glx="yes"])
 
 AC_ARG_ENABLE(egl,
     [AC_HELP_STRING([--enable-egl],
-                    [build with EGL support @<:@default=yes@:>@])],
+                    [build with VA/EGL API support @<:@default=yes@:>@])],
     [], [enable_egl="yes"])
 
 AC_ARG_ENABLE([wayland],
     [AC_HELP_STRING([--enable-wayland],
-                    [build with Wayland support @<:@default=yes@:>@])],
+                    [build with VA/Wayland API support @<:@default=yes@:>@])],
     [], [enable_wayland="yes"])
 
 AC_ARG_ENABLE(dummy-driver,
@@ -198,22 +198,7 @@ if test "$ac_cv_have_gnuc_visibility_attribute" = "yes"; then
               [Defined to 1 if GCC visibility attribute is supported])
 fi
 
-# Check for X11
-USE_X11="no"
-if test "$enable_x11" = "yes"; then
-    PKG_CHECK_MODULES([X11],    [x11])
-    PKG_CHECK_MODULES([XEXT],   [xext])
-    PKG_CHECK_MODULES([XFIXES], [xfixes])
-    USE_X11="yes"
-    AC_DEFINE([HAVE_VA_X11], [1], [Defined to 1 if VA/X11 API is built])
-fi
-AM_CONDITIONAL(USE_X11, test "$USE_X11" = "yes")
-
-# Check for DRM
-LIBDRM_VERSION=libdrm_version
-PKG_CHECK_MODULES([DRM], [libdrm >= $LIBDRM_VERSION])
-AC_SUBST(LIBDRM_VERSION)
-
+# Dummy backend
 if test x$enable_dummy_backend = xyes; then
     PKG_CHECK_MODULES([UDEV], [libudev], [libudev=yes], [libudev=no])
 fi
@@ -222,6 +207,11 @@ if test x$libudev = xno; then
 fi
 AM_CONDITIONAL(BUILD_DUMMY_BACKEND, test x$enable_dummy_backend = xyes)
 
+# Check for DRM (mandatory)
+LIBDRM_VERSION=libdrm_version
+PKG_CHECK_MODULES([DRM], [libdrm >= $LIBDRM_VERSION])
+AC_SUBST(LIBDRM_VERSION)
+
 USE_DRM="no"
 if test "$enable_drm" = "yes"; then
     USE_DRM="yes"
@@ -229,38 +219,52 @@ if test "$enable_drm" = "yes"; then
 fi
 AM_CONDITIONAL(USE_DRM, test "$USE_DRM" = "yes")
 
+# Check for X11
+USE_X11="no"
+if test "$enable_x11" = "yes"; then
+    USE_X11="yes"
+    PKG_CHECK_MODULES([X11],    [x11],    [:], [USE_X11="no"])
+    PKG_CHECK_MODULES([XEXT],   [xext],   [:], [USE_X11="no"])
+    PKG_CHECK_MODULES([XFIXES], [xfixes], [:], [USE_X11="no"])
+    if test "$USE_X11" = "yes"; then
+        AC_DEFINE([HAVE_VA_X11], [1], [Defined to 1 if VA/X11 API is built])
+    fi
+fi
+AM_CONDITIONAL(USE_X11, test "$USE_X11" = "yes")
+
 # Check for GLX
 USE_GLX="no"
-GL_DEPS_CFLAGS=""
-GL_DEPS_LIBS=""
 if test "$USE_X11:$enable_glx" = "yes:yes"; then
-    saved_CFLAGS="$CFLAGS"
+    PKG_CHECK_MODULES([GLX], [gl x11], [USE_GLX="yes"], [:])
+    saved_CPPFLAGS="$CPPFLAGS"
     saved_LIBS="$LIBS"
-    PKG_CHECK_MODULES([GL_DEPS], [gl], [], [GL_DEPS_LIBS="-lX11 -lGL"])
-    CFLAGS="$CFLAGS $GL_DEPS_CFLAGS"
-    LIBS="$LIBS $GL_DEPS_LIBS"
-    AC_CHECK_HEADERS([GL/gl.h])
-    AC_CHECK_HEADERS([GL/glx.h])
-    AC_CHECK_LIB(GL, glXCreateContext, [USE_GLX="yes"])
-    CFLAGS="$saved_CFLAGS"
+    CPPFLAGS="$CPPFLAGS $GLX_CFLAGS"
+    LIBS="$LIBS $GLX_LIBS"
+    AC_CHECK_HEADERS([GL/gl.h GL/glx.h], [:], [USE_GLX="no"])
+    AC_CHECK_LIB([GL], [glXCreateContext], [:] [USE_GLX="no"])
+    CPPFLAGS="$saved_CPPFLAGS"
     LIBS="$saved_LIBS"
+    if test "$USE_GLX" = "yes"; then
+        AC_DEFINE([HAVE_VA_GLX], [1], [Defined to 1 if VA/GLX API is built])
+    fi
 fi
-AC_SUBST(GL_DEPS_CFLAGS)
-AC_SUBST(GL_DEPS_LIBS)
 AM_CONDITIONAL(USE_GLX, test "$USE_GLX" = "yes")
 
 # Check for EGL
 USE_EGL="no"
 if test "$enable_egl" = "yes"; then
+    PKG_CHECK_MODULES([EGL], [egl], [USE_EGL="yes"], [:])
     saved_CPPFLAGS="$CPPFLAGS"
     saved_LIBS="$LIBS"
-    PKG_CHECK_MODULES([EGL_DEPS], [egl], [USE_EGL="yes"], [USE_EGL="no"])
-    CPPFLAGS="$CPPFLAGS $EGL_DEPS_CFLAGS"
-    LIBS="$LIBS $EGL_DEPS_LIBS"
+    CPPFLAGS="$CPPFLAGS $EGL_CFLAGS"
+    LIBS="$LIBS $EGL_LIBS"
     AC_CHECK_HEADERS([EGL/egl.h], [:], [USE_EGL="no"])
     AC_CHECK_LIB([EGL], [eglGetDisplay], [:], [USE_EGL="no"])
     CPPFLAGS="$saved_CPPFLAGS"
     LIBS="$saved_LIBS"
+    if test "$USE_EGL" = "yes"; then
+        AC_DEFINE([HAVE_VA_EGL], [1], [Defined to 1 if VA/EGL API is built])
+    fi
 fi
 AM_CONDITIONAL(USE_EGL, test "$USE_EGL" = "yes")
 
@@ -288,8 +292,8 @@ pkgconfigdir=${libdir}/pkgconfig
 AC_SUBST(pkgconfigdir)
 
 # Check for builds without backend
-if test "$USE_X11:$USE_DRM" = "no:no"; then
-    AC_MSG_ERROR([Please select at least VA/X11 or VA/DRM backend])
+if test "$USE_DRM:$USE_X11:$USE_WAYLAND" = "no:no:no"; then
+    AC_MSG_ERROR([Please select at least one backend (DRM, X11, Wayland)])
 fi
 
 LIBVA_DISPLAY="drm"
index 968474f..6a89b21 100644 (file)
@@ -82,6 +82,16 @@ libva_tpi_la_LDFLAGS         = $(LDADD) -no-undefined
 libva_tpi_la_DEPENDENCIES      = $(libvacorelib) 
 libva_tpi_la_LIBADD            = $(libvacorelib) -ldl
 
+if USE_DRM
+SUBDIRS                                += drm
+lib_LTLIBRARIES                        += libva-drm.la
+libva_drm_la_SOURCES           =
+libva_drm_la_LDFLAGS           = $(LDADD)
+libva_drm_la_DEPENDENCIES      = $(libvacorelib) drm/libva_drm.la
+libva_drm_la_LIBADD            = $(libvacorelib) drm/libva_drm.la \
+       $(LIBVA_LIBS) $(DRM_LIBS) -ldl
+endif
+
 if USE_X11
 SUBDIRS                                += x11
 lib_LTLIBRARIES                        += libva-x11.la
@@ -90,17 +100,7 @@ libva_x11_la_SOURCES                =
 libva_x11_la_LDFLAGS           = $(LDADD)
 libva_x11_la_DEPENDENCIES      = $(libvacorelib) x11/libva_x11.la
 libva_x11_la_LIBADD            = $(libvacorelib) x11/libva_x11.la \
-       $(LIBVA_LIBS) $(X11_LIBS) $(XEXT_LIBS) $(DRM_LIBS) $(XFIXES_LIBS) -ldl
-endif
-
-if USE_DRM
-SUBDIRS                                += drm
-lib_LTLIBRARIES                        += libva-drm.la
-libva_drm_la_SOURCES           =
-libva_drm_la_LDFLAGS           = $(LDADD)
-libva_drm_la_DEPENDENCIES      = $(libvacorelib) drm/libva_drm.la
-libva_drm_la_LIBADD            = $(libvacorelib) drm/libva_drm.la \
-       $(LIBVA_LIBS) $(DRM_LIBS)  -ldl
+       $(LIBVA_LIBS) $(X11_LIBS) $(XEXT_LIBS) $(XFIXES_LIBS) $(DRM_LIBS) -ldl
 endif
 
 if USE_GLX
@@ -110,7 +110,7 @@ libva_glx_la_SOURCES                =
 libva_glx_la_LDFLAGS           = $(LDADD)
 libva_glx_la_DEPENDENCIES      = $(libvacorelib) glx/libva_glx.la libva-x11.la
 libva_glx_la_LIBADD            = $(libvacorelib) glx/libva_glx.la libva-x11.la \
-       $(GL_DEPS_LIBS) -ldl
+       $(GLX_LIBS) -ldl
 endif
 
 if USE_EGL
@@ -120,7 +120,7 @@ libva_egl_la_SOURCES                =
 libva_egl_la_LDFLAGS           = $(LDADD)
 libva_egl_la_DEPENDENCIES      = $(libvacorelib) egl/libva_egl.la libva-x11.la
 libva_egl_la_LIBADD            = $(libvacorelib) egl/libva_egl.la libva-x11.la \
-       $(EGL_DEPS_LIBS) -ldl
+       $(EGL_LIBS) -ldl
 endif
 
 if USE_WAYLAND
index e507897..7f3f954 100644 (file)
@@ -24,8 +24,7 @@ INCLUDES = \
        -DLINUX                 \
        -I$(top_srcdir)         \
        -I$(top_srcdir)/va      \
-       -I$(top_srcdir)/va/x11  \
-       $(EGL_DEPS_CFLAGS)      \
+       $(EGL_CFLAGS)           \
        $(NULL)
 
 source_c = \
index 19f2cf5..79d8594 100644 (file)
@@ -26,7 +26,7 @@ INCLUDES = \
        -I$(top_srcdir)/va      \
        -I$(top_srcdir)/va/x11  \
        $(X11_CFLAGS)           \
-       $(GL_DEPS_CFLAGS)       \
+       $(GLX_CFLAGS)           \
        $(NULL)
 
 source_c = \
index f6b3e9f..508506e 100644 (file)
@@ -25,6 +25,8 @@ INCLUDES = \
        -I$(top_srcdir)         \
        -I$(top_srcdir)/va      \
        $(X11_CFLAGS)           \
+       $(XEXT_CFLAGS)          \
+       $(XFIXES_CFLAGS)        \
        $(DRM_CFLAGS)           \
        $(NULL)