diff options
author | Dan Nicholson <[email protected]> | 2007-12-30 08:41:53 -0800 |
---|---|---|
committer | Dan Nicholson <[email protected]> | 2008-01-11 08:25:15 -0800 |
commit | 544ab209e75ec3646d7edbafd736dcf4c93738cc (patch) | |
tree | c8642fb334f36e5bd9b552b09e3236bba1b835a3 | |
parent | 540faf5f91057ef311999afc5a6366bebe7dec33 (diff) |
Allow osmesa to be enabled or disabled
The conditional in src/mesa/Makefile currently hardcodes the cases where
libOSMesa can be built on libGL. Likewise, the xlib case always includes
libOSMesa in the stand-alone target.
This changes the conditional to a loop over the DRIVER_DIRS variable.
This means that any driver configuration can enable or disable osmesa.
The current "stand-alone" rule is changed so that DRIVER_DIRS=x11 and
DRIVER_DIRS="x11 osmesa" are both respected.
The configure option is changed to --enable-gl-osmesa as this change
allows libOSMesa to be built upon any of the libGL-enabling drivers.
-rw-r--r-- | configure.ac | 40 | ||||
-rw-r--r-- | docs/autoconf.html | 16 | ||||
-rw-r--r-- | src/mesa/Makefile | 34 |
3 files changed, 41 insertions, 49 deletions
diff --git a/configure.ac b/configure.ac index 2acbd67e510..1a2a2cb46a9 100644 --- a/configure.ac +++ b/configure.ac @@ -523,20 +523,20 @@ dnl dnl OSMesa configuration dnl if test "$mesa_driver" = xlib; then - default_xlib_osmesa=yes + default_gl_osmesa=yes else - default_xlib_osmesa=no + default_gl_osmesa=no fi -AC_ARG_ENABLE(xlib-osmesa, - [AS_HELP_STRING([--disable-xlib-osmesa], - [enable OSMesa on Xlib libGL @<:@default=enabled for xlib driver@:>@])], - xlib_osmesa="$enableval", - xlib_osmesa="$default_xlib_osmesa") -if test "x$xlib_osmesa" = xyes; then - if test "$mesa_driver" = xlib; then - DRIVER_DIRS="$DRIVER_DIRS osmesa" +AC_ARG_ENABLE(gl-osmesa, + [AS_HELP_STRING([--enable-gl-osmesa], + [enable OSMesa on libGL @<:@default=enabled for xlib driver@:>@])], + gl_osmesa="$enableval", + gl_osmesa="$default_gl_osmesa") +if test "x$gl_osmesa" = xyes; then + if test "$mesa_driver" = osmesa; then + AC_MSG_ERROR([libGL is not available for OSMesa driver]) else - AC_MSG_ERROR([Can only enable OSMesa on libGL for Xlib]) + DRIVER_DIRS="$DRIVER_DIRS osmesa" fi fi @@ -822,21 +822,17 @@ echo " libdir: $libdir" dnl Driver info echo "" echo " Driver: $mesa_driver" -case "$mesa_driver" in -xlib|osmesa) - if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then - echo " OSMesa: lib$OSMESA_LIB" - else - echo " OSMesa: no" - fi - ;; -dri) +if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then + echo " OSMesa: lib$OSMESA_LIB" +else + echo " OSMesa: no" +fi +if test "$mesa_driver" = dri; then # cleanup the drivers var dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'` echo " DRI drivers: $dri_dirs" echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR" - ;; -esac +fi dnl Libraries echo "" diff --git a/docs/autoconf.html b/docs/autoconf.html index 964ff140abc..518f5d2d416 100644 --- a/docs/autoconf.html +++ b/docs/autoconf.html @@ -116,6 +116,12 @@ be used. In this case, the <code>--with-x</code>, <code>--x-includes</code> and <code>--x-libraries</code> options can control the use of X for Mesa. </li> +<li><code>--enable-gl-osmesa</code> - The <a href="osmesa.html">OSMesa +library</a> can be built on top of libGL for drivers that provide it. +This option controls whether to build libOSMesa. By default, this is +enabled for the Xlib driver and disabled otherwise. Note that this +option is different than using OSMesa as the driver. +</li> <li><code>--enable-debug</code> - This option will enable compiler options and macros to aid in debugging the Mesa libraries. </li> @@ -156,16 +162,6 @@ libraries, as well as the X11 development headers, will be need to support the Xlib driver. </li> -<!-- Xlib specific options --> -<p> -<ul> -<li><code>--disable-xlib-osmesa</code> - By default, the OSMesa library -will be built and linked to the Xlib enabled libGL. This option disables -building of libOSMesa. -</li> -</ul> -</p> - <a name="dri"> <li><b><em>DRI</em></b> - This mode uses the DRI hardware drivers for accelerated OpenGL rendering. Enable the DRI drivers with the option diff --git a/src/mesa/Makefile b/src/mesa/Makefile index 2c6d65d8a19..02e00544798 100644 --- a/src/mesa/Makefile +++ b/src/mesa/Makefile @@ -25,19 +25,17 @@ GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY) # Figure out what to make here default: - @if [ "${DRIVER_DIRS}" = "dri" ] ; then \ - $(MAKE) linux-solo ; \ - elif [ "${DRIVER_DIRS}" = "osmesa" ] ; then \ - $(MAKE) osmesa-only ; \ - elif [ "$(DRIVER_DIRS)" = "beos" ]; then \ - $(MAKE) beos ; \ - elif [ "$(DRIVER_DIRS)" = "directfb" ]; then \ - $(MAKE) directfb ; \ - elif [ "$(DRIVER_DIRS)" = "fbdev osmesa" ]; then \ - $(MAKE) fbdev ; $(MAKE) osmesa-only ; \ - else \ - $(MAKE) stand-alone ; \ - fi + @for driver in $(DRIVER_DIRS) ; do \ + case "$$driver" in \ + x11) $(MAKE) stand-alone ;; \ + dri) $(MAKE) linux-solo ;; \ + osmesa) $(MAKE) osmesa-only ;; \ + beos) $(MAKE) beos ;; \ + directfb) $(MAKE) directfb ;; \ + fbdev) $(MAKE) fbdev ;; \ + *) echo "$$driver is invalid in DRIVER_DIRS" >&2; exit 1;; \ + esac ; \ + done ###################################################################### @@ -105,7 +103,7 @@ OSMESA16_OBJECTS = \ $(OSMESA_DRIVER_OBJECTS) -stand-alone: depend subdirs $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME) +stand-alone: depend subdirs $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) osmesa-only: depend subdirs $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME) @@ -174,9 +172,11 @@ install: default gl.pc @if [ -e $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME) ]; then \ $(INSTALL) $(TOP)/$(LIB_DIR)/libOSMesa* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \ fi - @if [ "${DRIVER_DIRS}" = "dri" ] ; then \ - cd drivers/dri ; $(MAKE) install ; \ - fi + @for target in $(DRIVER_DIRS); do \ + case "$$target" in \ + dri) cd drivers/dri ; $(MAKE) install ;; \ + esac; \ + done ## NOT INSTALLED YET: ## $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GLES |