diff options
Diffstat (limited to 'mesalib/configure.ac')
-rw-r--r-- | mesalib/configure.ac | 87 |
1 files changed, 56 insertions, 31 deletions
diff --git a/mesalib/configure.ac b/mesalib/configure.ac index 0caa1b1bd..a2d906abb 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -379,6 +379,7 @@ fi AC_SUBST([GL_LIB]) AC_SUBST([GLU_LIB]) AC_SUBST([OSMESA_LIB]) +AM_CONDITIONAL(HAVE_MANGLED_GL, test $GL_LIB = MangledGL) dnl dnl potentially-infringing-but-nobody-knows-for-sure stuff @@ -703,6 +704,7 @@ if test "x$enable_shared_glapi" = xyes; then DEFINES="$DEFINES -DIN_DRI_DRIVER" fi AC_SUBST([SHARED_GLAPI]) +AM_CONDITIONAL(HAVE_SHARED_GLAPI, test $SHARED_GLAPI = 1) dnl dnl Driver configuration. Options are xlib, dri and osmesa right now. @@ -1040,6 +1042,7 @@ esac # builds. AM_CONDITIONAL(HAVE_XCB_GLX_CREATE_CONTEXT, test x$HAVE_XCB_GLX_CREATE_CONTEXT = xyes) +AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes) GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS" GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS" @@ -1398,14 +1401,13 @@ EGL_CLIENT_APIS="" if test "x$enable_egl" = xyes; then SRC_DIRS="$SRC_DIRS egl" EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread" - EGL_DRIVERS_DIRS="" AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"]) if test "$enable_static" != yes; then # build egl_glx when libGL is built if test "x$enable_glx" = xyes; then - EGL_DRIVERS_DIRS="glx" + HAVE_EGL_DRIVER_GLX=1 fi PKG_CHECK_MODULES([LIBUDEV], [libudev > 150], @@ -1417,10 +1419,8 @@ if test "x$enable_egl" = xyes; then # build egl_dri2 when xcb-dri2 is available PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes], [have_xcb_dri2=yes],[have_xcb_dri2=no]) - if test "$have_xcb_dri2" = yes; then - EGL_DRIVER_DRI2=dri2 - DEFINES="$DEFINES -DHAVE_XCB_DRI2" + HAVE_EGL_DRIVER_DRI2=1 # workaround a bug in xcb-dri2 generated by xcb-proto 1.6 save_LIBS="$LIBS" AC_CHECK_LIB(xcb-dri2, xcb_dri2_connect_alignment_pad, [], @@ -1429,11 +1429,9 @@ if test "x$enable_egl" = xyes; then fi fi - EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2" fi fi AC_SUBST([EGL_LIB_DEPS]) -AC_SUBST([EGL_DRIVERS_DIRS]) dnl dnl EGL Gallium configuration @@ -1581,19 +1579,19 @@ if test "x$enable_gallium_g3dvl" = xyes; then fi if test "x$enable_xvmc" = xyes; then - PKG_CHECK_MODULES([XVMC], [xvmc >= 1.0.6]) + PKG_CHECK_MODULES([XVMC], [xvmc >= 1.0.6 x11-xcb xcb-dri2 >= 1.8]) GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xvmc" HAVE_ST_XVMC="yes" fi if test "x$enable_vdpau" = xyes; then - PKG_CHECK_MODULES([VDPAU], [vdpau >= 0.4.1]) + PKG_CHECK_MODULES([VDPAU], [vdpau >= 0.4.1 x11-xcb xcb-dri2 >= 1.8]) GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vdpau" HAVE_ST_VDPAU="yes" fi if test "x$enable_va" = xyes; then - PKG_CHECK_MODULES([LIBVA], [libva = 0.31.1]) + PKG_CHECK_MODULES([LIBVA], [libva = 0.31.1 x11-xcb xcb-dri2 >= 1.8]) AC_MSG_WARN([vaapi state tracker currently unmaintained]) GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS va" HAVE_ST_VA="yes" @@ -1679,23 +1677,21 @@ AC_ARG_WITH([egl-platforms], [comma delimited native platforms libEGL supports, e.g. "x11,drm" @<:@default=auto@:>@])], [with_egl_platforms="$withval"], - [with_egl_platforms=yes]) + [if test "x$enable_egl" = xyes; then + with_egl_platforms="x11" + else + with_egl_platforms="" + fi]) EGL_PLATFORMS="" -case "$with_egl_platforms" in -yes) - if test "x$enable_egl" = xyes; then - EGL_PLATFORMS="x11" - fi - ;; -*) - if test "x$enable_egl" != xyes; then - AC_MSG_ERROR([cannot build egl state tracker without EGL library]) - fi - # verify the requested driver directories exist - egl_platforms=`IFS=', '; echo $with_egl_platforms` - for plat in $egl_platforms; do +if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then + AC_MSG_ERROR([cannot build egl state tracker without EGL library]) +fi + +# verify the requested driver directories exist +egl_platforms=`IFS=', '; echo $with_egl_platforms` +for plat in $egl_platforms; do test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \ AC_MSG_ERROR([EGL platform '$plat' does not exist]) if test "$plat" = "fbdev"; then @@ -1719,11 +1715,31 @@ yes) waylandno|drmno) AC_MSG_ERROR([cannot build $plat platfrom without udev]) ;; esac - done - EGL_PLATFORMS="$egl_platforms" - ;; -esac +done + +# libEGL wants to default to the first platform specified in +# ./configure. parse that here. +if test "x$egl_platforms" != "x"; then + FIRST_PLATFORM_CAPS=`echo $egl_platforms | sed 's| .*||' | tr 'a-z' 'A-Z'` + EGL_NATIVE_PLATFORM="_EGL_PLATFORM_$FIRST_PLATFORM_CAPS" +else + EGL_NATIVE_PLATFORM="_EGL_INVALID_PLATFORM" +fi + +EGL_PLATFORMS="$egl_platforms" + +AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1) +AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1) +AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1) +AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1) +AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1) + +AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x") +AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x") + +AC_SUBST([EGL_NATIVE_PLATFORM]) AC_SUBST([EGL_PLATFORMS]) +AC_SUBST([EGL_CFLAGS]) AC_ARG_WITH([egl-driver-dir], [AS_HELP_STRING([--with-egl-driver-dir=DIR], @@ -1935,10 +1951,16 @@ AC_CONFIG_FILES([configs/autoconf src/gallium/drivers/r300/Makefile src/gbm/Makefile src/gbm/main/gbm.pc + src/egl/drivers/Makefile + src/egl/drivers/dri2/Makefile + src/egl/drivers/glx/Makefile + src/egl/main/Makefile + src/egl/main/egl.pc src/egl/wayland/Makefile src/egl/wayland/wayland-egl/Makefile src/egl/wayland/wayland-egl/wayland-egl.pc src/egl/wayland/wayland-drm/Makefile + src/glx/Makefile src/mesa/drivers/dri/dri.pc src/mesa/drivers/dri/Makefile src/mesa/drivers/dri/common/Makefile @@ -2022,9 +2044,12 @@ if test "$enable_egl" = yes; then echo " EGL platforms: $EGL_PLATFORMS" egl_drivers="" - for d in $EGL_DRIVERS_DIRS; do - egl_drivers="$egl_drivers builtin:egl_$d" - done + if test "x$HAVE_EGL_DRIVER_GLX" != "x"; then + egl_drivers="$egl_drivers builtin:egl_glx" + fi + if test "x$HAVE_EGL_DRIVER_DRI2" != "x"; then + egl_drivers="$egl_drivers builtin:egl_dri2" + fi if test "x$HAVE_ST_EGL" = xyes; then echo " EGL drivers: ${egl_drivers} egl_gallium" |