mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 07:00:12 +01:00
autoconf: add --enable-{dri,glx,osmesa}
The idea is that DRI driver, libGL and libOSMesa are libraries that can
be independently enabled, yet --with-driver does not allow us to easily
do that, if not impossible. This also matches what
--enable-{egl,xorg,d3d1x} do for the respective libraries.
There are two libGL providers: Xlib-based and DRI-based. They cannot
coexist. To be able to choose between them, --enable-xlib-glx is also
added.
With this commit, --with-driver=dri can be replaced by
$ ./configure --enable-dri --enable-glx --disable-osmesa
--with-driver=xlib can be replaced by
$ ./configure --disable-dri --enable-glx --enable-osmesa \
--enable-xlib-glx
and --with-driver=osmesa can be replaced by
$ ./configure --disable-dri --disable-glx --enable-osmesa
Some combinations that cannot be supported with --with-driver will
produce errors at the moment. But in the future, we would like to
support, for example,
$ ./configure --enable-dri --disable-glx --enable-egl
(build libEGL and DRI drivers, but not libGL)
Note that this commit still keeps --with-driver for transitional
purpose.
This commit is contained in:
parent
f8fcaf0215
commit
9e7a4147c7
1 changed files with 177 additions and 124 deletions
301
configure.ac
301
configure.ac
|
|
@ -543,6 +543,28 @@ AC_ARG_ENABLE([openvg],
|
||||||
[enable support for OpenVG API @<:@default=no@:>@])],
|
[enable support for OpenVG API @<:@default=no@:>@])],
|
||||||
[enable_openvg="$enableval"],
|
[enable_openvg="$enableval"],
|
||||||
[enable_openvg=no])
|
[enable_openvg=no])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([dri],
|
||||||
|
[AS_HELP_STRING([--enable-dri],
|
||||||
|
[enable DRI modules @<:@default=auto@:>@])],
|
||||||
|
[enable_dri="$enableval"],
|
||||||
|
[enable_dri=auto])
|
||||||
|
AC_ARG_ENABLE([glx],
|
||||||
|
[AS_HELP_STRING([--enable-glx],
|
||||||
|
[enable GLX library @<:@default=auto@:>@])],
|
||||||
|
[enable_glx="$enableval"],
|
||||||
|
[enable_glx=auto])
|
||||||
|
AC_ARG_ENABLE([osmesa],
|
||||||
|
[AS_HELP_STRING([--enable-osmesa],
|
||||||
|
[enable OSMesa library @<:@default=auto@:>@])],
|
||||||
|
[enable_osmesa="$enableval"],
|
||||||
|
[enable_osmesa=auto])
|
||||||
|
AC_ARG_ENABLE([egl],
|
||||||
|
[AS_HELP_STRING([--disable-egl],
|
||||||
|
[disable EGL library @<:@default=enabled@:>@])],
|
||||||
|
[enable_egl="$enableval"],
|
||||||
|
[enable_egl=yes])
|
||||||
|
|
||||||
AC_ARG_ENABLE([xorg],
|
AC_ARG_ENABLE([xorg],
|
||||||
[AS_HELP_STRING([--enable-xorg],
|
[AS_HELP_STRING([--enable-xorg],
|
||||||
[enable support for X.Org DDX API @<:@default=no@:>@])],
|
[enable support for X.Org DDX API @<:@default=no@:>@])],
|
||||||
|
|
@ -553,16 +575,17 @@ AC_ARG_ENABLE([d3d1x],
|
||||||
[enable support for Direct3D 10 & 11 low-level API @<:@default=no@:>@])],
|
[enable support for Direct3D 10 & 11 low-level API @<:@default=no@:>@])],
|
||||||
[enable_d3d1x="$enableval"],
|
[enable_d3d1x="$enableval"],
|
||||||
[enable_d3d1x=no])
|
[enable_d3d1x=no])
|
||||||
AC_ARG_ENABLE([egl],
|
|
||||||
[AS_HELP_STRING([--disable-egl],
|
|
||||||
[disable EGL library @<:@default=enabled@:>@])],
|
|
||||||
[enable_egl="$enableval"],
|
|
||||||
[enable_egl=yes])
|
|
||||||
AC_ARG_ENABLE([gbm],
|
AC_ARG_ENABLE([gbm],
|
||||||
[AS_HELP_STRING([--enable-gbm],
|
[AS_HELP_STRING([--enable-gbm],
|
||||||
[enable gbm library @<:@default=auto@:>@])],
|
[enable gbm library @<:@default=auto@:>@])],
|
||||||
[enable_gbm="$enableval"],
|
[enable_gbm="$enableval"],
|
||||||
[enable_gbm=auto])
|
[enable_gbm=auto])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([xlib_glx],
|
||||||
|
[AS_HELP_STRING([--enable-xlib-glx],
|
||||||
|
[make GLX library Xlib-based instead of DRI-based @<:@default=disable@:>@])],
|
||||||
|
[enable_xlib_glx="$enableval"],
|
||||||
|
[enable_xlib_glx=auto])
|
||||||
AC_ARG_ENABLE([gallium_egl],
|
AC_ARG_ENABLE([gallium_egl],
|
||||||
[AS_HELP_STRING([--enable-gallium-egl],
|
[AS_HELP_STRING([--enable-gallium-egl],
|
||||||
[enable optional EGL state tracker (not required
|
[enable optional EGL state tracker (not required
|
||||||
|
|
@ -648,24 +671,66 @@ if test "x$enable_opengl" = xno; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_WITH([driver],
|
AC_ARG_WITH([driver],
|
||||||
[AS_HELP_STRING([--with-driver=DRIVER],
|
[AS_HELP_STRING([--with-driver=DRIVER], [DEPRECATED])],
|
||||||
[driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
|
|
||||||
[mesa_driver="$withval"],
|
[mesa_driver="$withval"],
|
||||||
[mesa_driver="$default_driver"])
|
[mesa_driver=auto])
|
||||||
dnl Check for valid option
|
dnl Check for valid option
|
||||||
case "x$mesa_driver" in
|
case "x$mesa_driver" in
|
||||||
xxlib|xdri|xosmesa)
|
xxlib|xdri|xosmesa|xno)
|
||||||
if test "x$enable_opengl" = xno; then
|
if test "x$enable_dri" != xauto -o \
|
||||||
AC_MSG_ERROR([Driver '$mesa_driver' requires OpenGL enabled])
|
"x$enable_glx" != xauto -o \
|
||||||
|
"x$enable_osmesa" != xauto -o \
|
||||||
|
"x$enable_xlib_glx" != xauto; then
|
||||||
|
AC_MSG_ERROR([--with-driver=$mesa_driver is deprecated])
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
xno)
|
xauto)
|
||||||
|
mesa_driver="$default_driver"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
|
AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# map $mesa_driver to APIs
|
||||||
|
if test "x$enable_dri" = xauto; then
|
||||||
|
case "x$mesa_driver" in
|
||||||
|
xdri) enable_dri=yes ;;
|
||||||
|
*) enable_dri=no ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$enable_glx" = xauto; then
|
||||||
|
case "x$mesa_driver" in
|
||||||
|
xdri|xxlib) enable_glx=yes ;;
|
||||||
|
*) enable_glx=no ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$enable_osmesa" = xauto; then
|
||||||
|
case "x$mesa_driver" in
|
||||||
|
xxlib|xosmesa) enable_osmesa=yes ;;
|
||||||
|
*) enable_osmesa=no ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$enable_xlib_glx" = xauto; then
|
||||||
|
case "x$mesa_driver" in
|
||||||
|
xxlib) enable_xlib_glx=yes ;;
|
||||||
|
*) enable_xlib_glx=no ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$enable_glx" = xno; then
|
||||||
|
enable_xlib_glx=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$enable_dri" = xyes; then
|
||||||
|
if test "x$enable_glx" = xno -o "x$enable_xlib_glx" = xyes; then
|
||||||
|
AC_MSG_ERROR([cannot build DRI drivers without DRI-based GLX yet])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Driver specific build directories
|
dnl Driver specific build directories
|
||||||
dnl
|
dnl
|
||||||
|
|
@ -710,27 +775,36 @@ x*yes*)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case "$mesa_driver" in
|
case "x$enable_glx$enable_xlib_glx" in
|
||||||
xlib)
|
xyesyes)
|
||||||
DRIVER_DIRS="x11"
|
DRIVER_DIRS="$DRIVER_DIRS x11"
|
||||||
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
|
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
|
||||||
GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
|
GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
|
||||||
GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
|
GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
|
||||||
;;
|
;;
|
||||||
dri)
|
xyesno)
|
||||||
|
# DRI-based GLX
|
||||||
SRC_DIRS="$SRC_DIRS glx"
|
SRC_DIRS="$SRC_DIRS glx"
|
||||||
DRIVER_DIRS="dri"
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test "x$enable_dri" = xyes; then
|
||||||
|
DRIVER_DIRS="$DRIVER_DIRS dri"
|
||||||
|
|
||||||
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
|
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
|
||||||
GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
|
GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
|
||||||
HAVE_ST_DRI="yes"
|
HAVE_ST_DRI="yes"
|
||||||
;;
|
fi
|
||||||
osmesa)
|
|
||||||
DRIVER_DIRS="osmesa"
|
if test "x$enable_osmesa" = xyes; then
|
||||||
;;
|
# the empty space matters for osmesa... (see src/mesa/Makefile)
|
||||||
no)
|
if test -n "$DRIVER_DIRS"; then
|
||||||
DRIVER_DRIS=""
|
DRIVER_DIRS="$DRIVER_DIRS osmesa"
|
||||||
;;
|
else
|
||||||
esac
|
DRIVER_DIRS="osmesa"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
AC_SUBST([SRC_DIRS])
|
AC_SUBST([SRC_DIRS])
|
||||||
AC_SUBST([GLU_DIRS])
|
AC_SUBST([GLU_DIRS])
|
||||||
AC_SUBST([DRIVER_DIRS])
|
AC_SUBST([DRIVER_DIRS])
|
||||||
|
|
@ -775,13 +849,9 @@ m4_divert_once([HELP_BEGIN],
|
||||||
pkg-config utility.])
|
pkg-config utility.])
|
||||||
|
|
||||||
dnl We need X for xlib and dri, so bomb now if it's not found
|
dnl We need X for xlib and dri, so bomb now if it's not found
|
||||||
case "$mesa_driver" in
|
if test "x$enable_glx" = xyes -a "x$no_x" = xyes; then
|
||||||
xlib|dri)
|
AC_MSG_ERROR([X11 development libraries needed for GLX])
|
||||||
if test "$no_x" = yes; then
|
fi
|
||||||
AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
dnl XCB - this is only used for GLX right now
|
dnl XCB - this is only used for GLX right now
|
||||||
AC_ARG_ENABLE([xcb],
|
AC_ARG_ENABLE([xcb],
|
||||||
|
|
@ -819,8 +889,9 @@ AC_ARG_ENABLE([driglx-direct],
|
||||||
dnl
|
dnl
|
||||||
dnl libGL configuration per driver
|
dnl libGL configuration per driver
|
||||||
dnl
|
dnl
|
||||||
case "$mesa_driver" in
|
case "x$enable_glx$enable_xlib_glx" in
|
||||||
xlib)
|
xyesyes)
|
||||||
|
# Xlib-based GLX
|
||||||
if test "$x11_pkgconfig" = yes; then
|
if test "$x11_pkgconfig" = yes; then
|
||||||
PKG_CHECK_MODULES([XLIBGL], [x11 xext])
|
PKG_CHECK_MODULES([XLIBGL], [x11 xext])
|
||||||
GL_PC_REQ_PRIV="x11 xext"
|
GL_PC_REQ_PRIV="x11 xext"
|
||||||
|
|
@ -843,22 +914,15 @@ xlib)
|
||||||
GL_LIB_DEPS=""
|
GL_LIB_DEPS=""
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
dri|no) # these checks are still desired when there is no mesa_driver
|
xyesno)
|
||||||
# DRI must be shared, I think
|
# DRI-based GLX
|
||||||
if test "$enable_static" = yes; then
|
|
||||||
AC_MSG_ERROR([Can't use static libraries for DRI drivers])
|
|
||||||
fi
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
|
PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
|
||||||
GL_PC_REQ_PRIV="glproto >= $GLPROTO_REQUIRED"
|
GL_PC_REQ_PRIV="glproto >= $GLPROTO_REQUIRED"
|
||||||
DRI_PC_REQ_PRIV=""
|
|
||||||
|
|
||||||
if test x"$driglx_direct" = xyes; then
|
if test x"$driglx_direct" = xyes; then
|
||||||
# Check for libdrm
|
# Check for libdrm
|
||||||
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
|
PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
|
||||||
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
|
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
|
||||||
GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
|
GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
|
||||||
DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# find the DRI deps for libGL
|
# find the DRI deps for libGL
|
||||||
|
|
@ -903,16 +967,22 @@ dri|no) # these checks are still desired when there is no mesa_driver
|
||||||
# need DRM libs, -lpthread, etc.
|
# need DRM libs, -lpthread, etc.
|
||||||
GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
|
GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
|
||||||
GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
|
GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
|
||||||
GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
|
|
||||||
GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
|
|
||||||
GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
|
|
||||||
GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
|
|
||||||
;;
|
|
||||||
osmesa)
|
|
||||||
# No libGL for osmesa
|
|
||||||
GL_LIB_DEPS=""
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
if test "x$enable_dri" = xyes; then
|
||||||
|
# DRI must be shared, I think
|
||||||
|
if test "$enable_static" = yes; then
|
||||||
|
AC_MSG_ERROR([Can't use static libraries for DRI drivers])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
|
||||||
|
GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
|
||||||
|
GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
|
||||||
|
GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
|
||||||
|
GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
|
||||||
|
|
||||||
AC_SUBST([GL_LIB_DEPS])
|
AC_SUBST([GL_LIB_DEPS])
|
||||||
AC_SUBST([GL_PC_REQ_PRIV])
|
AC_SUBST([GL_PC_REQ_PRIV])
|
||||||
AC_SUBST([GL_PC_LIB_PRIV])
|
AC_SUBST([GL_PC_LIB_PRIV])
|
||||||
|
|
@ -938,7 +1008,7 @@ AC_ARG_ENABLE([shared-dricore],
|
||||||
[link DRI modules with shared core DRI routines @<:@default=disabled@:>@])],
|
[link DRI modules with shared core DRI routines @<:@default=disabled@:>@])],
|
||||||
[enable_dricore="$enableval"],
|
[enable_dricore="$enableval"],
|
||||||
[enable_dricore=no])
|
[enable_dricore=no])
|
||||||
if test "$mesa_driver" = dri ; then
|
if test "x$enable_dri" = xyes ; then
|
||||||
if test "$enable_dricore" = yes ; then
|
if test "$enable_dricore" = yes ; then
|
||||||
if test "$GCC$GXX" != yesyes ; then
|
if test "$GCC$GXX" != yesyes ; then
|
||||||
AC_MSG_WARN([Shared dricore requires GCC-compatible rpath handling. Disabling shared dricore])
|
AC_MSG_WARN([Shared dricore requires GCC-compatible rpath handling. Disabling shared dricore])
|
||||||
|
|
@ -971,7 +1041,7 @@ PKG_CHECK_MODULES([LIBDRM_RADEON],
|
||||||
dnl
|
dnl
|
||||||
dnl More X11 setup
|
dnl More X11 setup
|
||||||
dnl
|
dnl
|
||||||
if test "$mesa_driver" = xlib; then
|
if test "x$enable_xlib_glx" = xyes; then
|
||||||
DEFINES="$DEFINES -DUSE_XSHM"
|
DEFINES="$DEFINES -DUSE_XSHM"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -1023,7 +1093,10 @@ DRI_DIRS=""
|
||||||
case "$with_dri_drivers" in
|
case "$with_dri_drivers" in
|
||||||
no) ;;
|
no) ;;
|
||||||
yes)
|
yes)
|
||||||
DRI_DIRS="yes"
|
# classic DRI drivers require FEATURE_GL to build
|
||||||
|
if test "x$enable_opengl" = xyes; then
|
||||||
|
DRI_DIRS="yes"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# verify the requested driver directories exist
|
# verify the requested driver directories exist
|
||||||
|
|
@ -1033,11 +1106,14 @@ yes)
|
||||||
AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
|
AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
|
||||||
done
|
done
|
||||||
DRI_DIRS="$dri_drivers"
|
DRI_DIRS="$dri_drivers"
|
||||||
|
if test -n "$DRI_DIRS" -a "x$enable_opengl" != xyes; then
|
||||||
|
AC_MSG_ERROR([--with-dri-drivers requires OpenGL])
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
dnl Set DRI_DIRS, DEFINES and LIB_DEPS
|
dnl Set DRI_DIRS, DEFINES and LIB_DEPS
|
||||||
if test "$mesa_driver" = dri -o "$mesa_driver" = no; then
|
if test "x$enable_dri" = xyes; then
|
||||||
# Platform specific settings and drivers to build
|
# Platform specific settings and drivers to build
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
linux*)
|
linux*)
|
||||||
|
|
@ -1117,7 +1193,7 @@ if test "$mesa_driver" = dri -o "$mesa_driver" = no; then
|
||||||
DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
|
DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
|
||||||
|
|
||||||
# Check for expat
|
# Check for expat
|
||||||
if test "$mesa_driver" = dri; then
|
if test "x$enable_dri" = xyes; then
|
||||||
EXPAT_INCLUDES=""
|
EXPAT_INCLUDES=""
|
||||||
EXPAT_LIB=-lexpat
|
EXPAT_LIB=-lexpat
|
||||||
AC_ARG_WITH([expat],
|
AC_ARG_WITH([expat],
|
||||||
|
|
@ -1167,26 +1243,6 @@ AC_SUBST([RADEON_LDFLAGS])
|
||||||
dnl
|
dnl
|
||||||
dnl OSMesa configuration
|
dnl OSMesa configuration
|
||||||
dnl
|
dnl
|
||||||
if test "$mesa_driver" = xlib; then
|
|
||||||
default_gl_osmesa=yes
|
|
||||||
else
|
|
||||||
default_gl_osmesa=no
|
|
||||||
fi
|
|
||||||
AC_ARG_ENABLE([gl-osmesa],
|
|
||||||
[AS_HELP_STRING([--enable-gl-osmesa],
|
|
||||||
[enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])],
|
|
||||||
[gl_osmesa="$enableval"],
|
|
||||||
[gl_osmesa="$default_gl_osmesa"])
|
|
||||||
if test "x$gl_osmesa" = xyes; then
|
|
||||||
if test "x$enable_opengl" = xno; then
|
|
||||||
AC_MSG_ERROR([OpenGL is not available for OSMesa driver])
|
|
||||||
fi
|
|
||||||
if test "$mesa_driver" = osmesa; then
|
|
||||||
AC_MSG_ERROR([libGL is not available for OSMesa driver])
|
|
||||||
else
|
|
||||||
DRIVER_DIRS="$DRIVER_DIRS osmesa"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
|
dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
|
||||||
AC_ARG_WITH([osmesa-bits],
|
AC_ARG_WITH([osmesa-bits],
|
||||||
|
|
@ -1194,9 +1250,11 @@ AC_ARG_WITH([osmesa-bits],
|
||||||
[OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
|
[OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
|
||||||
[osmesa_bits="$withval"],
|
[osmesa_bits="$withval"],
|
||||||
[osmesa_bits=8])
|
[osmesa_bits=8])
|
||||||
if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
|
if test "x$osmesa_bits" != x8; then
|
||||||
AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
|
if test "x$enable_dri" = xyes -o "x$enable_glx" = xyes; then
|
||||||
osmesa_bits=8
|
AC_MSG_WARN([Ignoring OSMesa channel bits because of non-OSMesa driver])
|
||||||
|
osmesa_bits=8
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
case "x$osmesa_bits" in
|
case "x$osmesa_bits" in
|
||||||
x8)
|
x8)
|
||||||
|
|
@ -1212,8 +1270,7 @@ x16|x32)
|
||||||
esac
|
esac
|
||||||
AC_SUBST([OSMESA_LIB])
|
AC_SUBST([OSMESA_LIB])
|
||||||
|
|
||||||
case "$DRIVER_DIRS" in
|
if test "x$enable_osmesa" = xyes; then
|
||||||
*osmesa*)
|
|
||||||
# only link libraries with osmesa if shared
|
# only link libraries with osmesa if shared
|
||||||
if test "$enable_static" = no; then
|
if test "$enable_static" = no; then
|
||||||
OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
|
OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
|
||||||
|
|
@ -1222,8 +1279,7 @@ case "$DRIVER_DIRS" in
|
||||||
fi
|
fi
|
||||||
OSMESA_MESA_DEPS=""
|
OSMESA_MESA_DEPS=""
|
||||||
OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
|
OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS"
|
||||||
;;
|
fi
|
||||||
esac
|
|
||||||
AC_SUBST([OSMESA_LIB_DEPS])
|
AC_SUBST([OSMESA_LIB_DEPS])
|
||||||
AC_SUBST([OSMESA_MESA_DEPS])
|
AC_SUBST([OSMESA_MESA_DEPS])
|
||||||
AC_SUBST([OSMESA_PC_REQ])
|
AC_SUBST([OSMESA_PC_REQ])
|
||||||
|
|
@ -1234,11 +1290,6 @@ dnl EGL configuration
|
||||||
dnl
|
dnl
|
||||||
EGL_CLIENT_APIS=""
|
EGL_CLIENT_APIS=""
|
||||||
|
|
||||||
if test "x$enable_egl" = xno; then
|
|
||||||
if test "x$mesa_driver" = xno; then
|
|
||||||
AC_MSG_ERROR([cannot disable EGL when there is no mesa driver])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "x$enable_egl" = xyes; then
|
if test "x$enable_egl" = xyes; then
|
||||||
SRC_DIRS="$SRC_DIRS egl"
|
SRC_DIRS="$SRC_DIRS egl"
|
||||||
EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread"
|
EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS -lpthread"
|
||||||
|
|
@ -1246,7 +1297,7 @@ if test "x$enable_egl" = xyes; then
|
||||||
|
|
||||||
if test "$enable_static" != yes; then
|
if test "$enable_static" != yes; then
|
||||||
# build egl_glx when libGL is built
|
# build egl_glx when libGL is built
|
||||||
if test "$mesa_driver" = xlib -o "$mesa_driver" = dri; then
|
if test "x$enable_glx" = xyes; then
|
||||||
EGL_DRIVERS_DIRS="glx"
|
EGL_DRIVERS_DIRS="glx"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -1255,7 +1306,7 @@ if test "x$enable_egl" = xyes; then
|
||||||
if test "$have_libudev" = yes; then
|
if test "$have_libudev" = yes; then
|
||||||
DEFINES="$DEFINES -DHAVE_LIBUDEV"
|
DEFINES="$DEFINES -DHAVE_LIBUDEV"
|
||||||
fi
|
fi
|
||||||
if test "$mesa_driver" = dri; then
|
if test "x$enable_dri" = xyes; then
|
||||||
# build egl_dri2 when xcb-dri2 is available
|
# build egl_dri2 when xcb-dri2 is available
|
||||||
PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
|
PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
|
||||||
[have_xcb_dri2=yes],[have_xcb_dri2=no])
|
[have_xcb_dri2=yes],[have_xcb_dri2=no])
|
||||||
|
|
@ -1294,7 +1345,7 @@ if test "x$enable_gbm" = xyes; then
|
||||||
AC_MSG_ERROR([gbm needs udev]))
|
AC_MSG_ERROR([gbm needs udev]))
|
||||||
GBM_LIB_DEPS="$DLOPEN_LIBS $LIBUDEV_LIBS"
|
GBM_LIB_DEPS="$DLOPEN_LIBS $LIBUDEV_LIBS"
|
||||||
|
|
||||||
if test "$mesa_driver" = dri; then
|
if test "x$enable_dri" = xyes; then
|
||||||
GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
|
GBM_BACKEND_DIRS="$GBM_BACKEND_DIRS dri"
|
||||||
if test "$SHARED_GLAPI" -eq 0; then
|
if test "$SHARED_GLAPI" -eq 0; then
|
||||||
AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
|
AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi])
|
||||||
|
|
@ -1401,16 +1452,17 @@ AC_ARG_ENABLE([glu],
|
||||||
[enable_glu="$enableval"],
|
[enable_glu="$enableval"],
|
||||||
[enable_glu=yes])
|
[enable_glu=yes])
|
||||||
|
|
||||||
if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then
|
if test "x$enable_glu" = xyes; then
|
||||||
AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver])
|
if test "x$enable_glx" = xno -a "x$enable_osmesa" = xno; then
|
||||||
enable_glu=no
|
AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver])
|
||||||
|
enable_glu=no
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$enable_glu" = xyes; then
|
if test "x$enable_glu" = xyes; then
|
||||||
SRC_DIRS="$SRC_DIRS glu"
|
SRC_DIRS="$SRC_DIRS glu"
|
||||||
|
|
||||||
case "$mesa_driver" in
|
if test "x$enable_glx" = xno; then
|
||||||
osmesa)
|
|
||||||
# Link libGLU to libOSMesa instead of libGL
|
# Link libGLU to libOSMesa instead of libGL
|
||||||
GLU_LIB_DEPS=""
|
GLU_LIB_DEPS=""
|
||||||
GLU_PC_REQ="osmesa"
|
GLU_PC_REQ="osmesa"
|
||||||
|
|
@ -1419,8 +1471,7 @@ if test "x$enable_glu" = xyes; then
|
||||||
else
|
else
|
||||||
GLU_MESA_DEPS=""
|
GLU_MESA_DEPS=""
|
||||||
fi
|
fi
|
||||||
;;
|
else
|
||||||
*)
|
|
||||||
# If static, empty GLU_LIB_DEPS and add libs for programs to link
|
# If static, empty GLU_LIB_DEPS and add libs for programs to link
|
||||||
GLU_PC_REQ="gl"
|
GLU_PC_REQ="gl"
|
||||||
GLU_PC_LIB_PRIV="-lm"
|
GLU_PC_LIB_PRIV="-lm"
|
||||||
|
|
@ -1432,8 +1483,7 @@ if test "x$enable_glu" = xyes; then
|
||||||
GLU_MESA_DEPS=""
|
GLU_MESA_DEPS=""
|
||||||
APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
|
APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
|
||||||
fi
|
fi
|
||||||
;;
|
fi
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
if test "$enable_static" = no; then
|
if test "$enable_static" = no; then
|
||||||
GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
|
GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
|
||||||
|
|
@ -1455,13 +1505,9 @@ AC_ARG_ENABLE([glw],
|
||||||
[enable_glw="$enableval"],
|
[enable_glw="$enableval"],
|
||||||
[enable_glw=yes])
|
[enable_glw=yes])
|
||||||
dnl Don't build GLw on osmesa
|
dnl Don't build GLw on osmesa
|
||||||
if test "x$enable_glw" = xyes; then
|
if test "x$enable_glw" = xyes -a "x$enable_glx" = xno; then
|
||||||
case "$mesa_driver" in
|
AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver])
|
||||||
osmesa|no)
|
enable_glw=no
|
||||||
AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver])
|
|
||||||
enable_glw=no
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
AC_ARG_ENABLE([motif],
|
AC_ARG_ENABLE([motif],
|
||||||
[AS_HELP_STRING([--enable-motif],
|
[AS_HELP_STRING([--enable-motif],
|
||||||
|
|
@ -1535,14 +1581,10 @@ AC_ARG_ENABLE([glut],
|
||||||
[enable_glut="$enableval"],
|
[enable_glut="$enableval"],
|
||||||
[enable_glut="$default_glut"])
|
[enable_glut="$default_glut"])
|
||||||
|
|
||||||
dnl Don't build glut on osmesa
|
dnl Don't build glut without GLX
|
||||||
if test "x$enable_glut" = xyes; then
|
if test "x$enable_glut" = xyes -a "x$enable_glx" = xno; then
|
||||||
case "$mesa_driver" in
|
AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver])
|
||||||
osmesa|no)
|
enable_glut=no
|
||||||
AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver])
|
|
||||||
enable_glut=no
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
dnl Can't build glut if GLU not available
|
dnl Can't build glut if GLU not available
|
||||||
if test "x$enable_glu$enable_glut" = xnoyes; then
|
if test "x$enable_glu$enable_glut" = xnoyes; then
|
||||||
|
|
@ -1643,7 +1685,7 @@ WAYLAND_EGL_LIB_DEPS=""
|
||||||
|
|
||||||
case "$with_egl_platforms" in
|
case "$with_egl_platforms" in
|
||||||
yes)
|
yes)
|
||||||
if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
|
if test "x$enable_egl" = xyes; then
|
||||||
EGL_PLATFORMS="x11"
|
EGL_PLATFORMS="x11"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
@ -1853,14 +1895,13 @@ echo " OpenVG: $enable_openvg"
|
||||||
|
|
||||||
dnl Driver info
|
dnl Driver info
|
||||||
echo ""
|
echo ""
|
||||||
echo " Driver: $mesa_driver"
|
if test "x$enable_osmesa" != xno; then
|
||||||
if test "$mesa_driver" != no; then
|
|
||||||
if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
|
|
||||||
echo " OSMesa: lib$OSMESA_LIB"
|
echo " OSMesa: lib$OSMESA_LIB"
|
||||||
else
|
else
|
||||||
echo " OSMesa: no"
|
echo " OSMesa: no"
|
||||||
fi
|
fi
|
||||||
if test "$mesa_driver" = dri; then
|
|
||||||
|
if test "x$enable_dri" != xno; then
|
||||||
# cleanup the drivers var
|
# cleanup the drivers var
|
||||||
dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
|
dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
|
||||||
if test "x$DRI_DIRS" = x; then
|
if test "x$DRI_DIRS" = x; then
|
||||||
|
|
@ -1869,10 +1910,22 @@ if test "$mesa_driver" != no; then
|
||||||
echo " DRI drivers: $dri_dirs"
|
echo " DRI drivers: $dri_dirs"
|
||||||
fi
|
fi
|
||||||
echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
|
echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
|
||||||
echo " Use XCB: $enable_xcb"
|
|
||||||
echo " Shared dricore: $enable_dricore"
|
echo " Shared dricore: $enable_dricore"
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case "x$enable_glx$enable_xlib_glx" in
|
||||||
|
xyesyes)
|
||||||
|
echo " GLX: Xlib-based"
|
||||||
|
;;
|
||||||
|
xyesno)
|
||||||
|
echo " GLX: DRI-based"
|
||||||
|
echo " Use XCB: $enable_xcb"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo " GLX: $enable_glx"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo " GLU: $enable_glu"
|
echo " GLU: $enable_glu"
|
||||||
echo " GLw: $enable_glw (Motif: $enable_motif)"
|
echo " GLw: $enable_glw (Motif: $enable_motif)"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue