On Wed, 2008-05-07 at 14:10 -0700, Dan Nicholson wrote: > Added the autoconf driver option --with-driver=glcore for building > libGLcore for xorg-server. When building glcore through autoconf, it > will check that xorg-server is new enough (1.5.99.1 corresponds to > current master). It will then check if XF86DRI is defined and enable > the DRI functionality in GLcore accordingly. > > Changes have also been made so plain `make' and `make install' work > when --with-driver=glcore is used. This does require the overloaded > --with-dri-driverdir setting to specify the installation directory.
This is certainly nicer than that mystery build target we have today, but couldn't this get built along with my dri driver build? > --- > Dan > > I'm not attached to the name glcore at all. Do people prefer that it > be called xorg or something? Also, if George's drixorg goes in, I'll > happily fix things up to work with that. > > configure.ac | 102 +++++++++++++++++++++++++++++++++++++++++----------- > src/mesa/Makefile | 11 ++++++ > 2 files changed, 91 insertions(+), 22 deletions(-) > > diff --git a/configure.ac b/configure.ac > index cccf7bd..ad7bc8b 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -20,6 +20,7 @@ AC_CANONICAL_HOST > dnl Versions for external dependencies > LIBDRM_REQUIRED=2.3.1 > DRI2PROTO_REQUIRED=1.1 > +XORG_REQUIRED=1.5.99.1 > > dnl Check for progs > AC_PROG_CPP > @@ -251,12 +252,13 @@ esac > > AC_ARG_WITH([driver], > [AS_HELP_STRING([--with-driver=DRIVER], > - [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or > xlib@:>@])], > + [driver for Mesa: xlib,dri,osmesa,glcore > + @<:@default=dri when available, or xlib@:>@])], > [mesa_driver="$withval"], > [mesa_driver="$default_driver"]) > dnl Check for valid option > case "x$mesa_driver" in > -xxlib|xdri|xosmesa) > +xxlib|xdri|xosmesa|xglcore) > ;; > *) > AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option]) > @@ -281,6 +283,9 @@ dri) > osmesa) > DRIVER_DIRS="osmesa" > ;; > +glcore) > + DRIVER_DIRS="glcore" > + ;; > esac > AC_SUBST([SRC_DIRS]) > AC_SUBST([GLU_DIRS]) > @@ -310,10 +315,14 @@ PROGRAM_DIRS="" > case "$with_demos" in > no) ;; > yes) > - # If the driver isn't osmesa, we have libGL and can build xdemos > - if test "$mesa_driver" != osmesa; then > + # If the driver isn't osmesa or glcore, we have libGL and can build > xdemos > + case "$mesa_driver" in > + osmesa|glcore) > + ;; > + *) > PROGRAM_DIRS="xdemos" > - fi > + ;; > + esac > ;; > *) > # verify the requested demos directories exist > @@ -418,8 +427,8 @@ dri) > # need DRM libs, -lpthread, etc. > GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS" > ;; > -osmesa) > - # No libGL for osmesa > +osmesa|glcore) > + # No libGL for osmesa or glcore > GL_LIB_DEPS="" > ;; > esac > @@ -443,7 +452,8 @@ AC_ARG_ENABLE([glx-tls], > dnl Directory for DRI drivers > AC_ARG_WITH([dri-driverdir], > [AS_HELP_STRING([--with-dri-driverdir=DIR], > - [directory for the DRI drivers @<:@/usr/X11R6/lib/modules/dri@:>@])], > + [directory for the DRI and GLcore drivers > + @<:@/usr/X11R6/lib/modules/dri@:>@])], > [DRI_DRIVER_INSTALL_DIR="$withval"], > [DRI_DRIVER_INSTALL_DIR='/usr/X11R6/lib/modules/dri']) > AC_SUBST([DRI_DRIVER_INSTALL_DIR]) > @@ -588,11 +598,14 @@ AC_ARG_ENABLE([gl-osmesa], > [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 > + case "$mesa_driver" in > + osmesa|glcore) > + AC_MSG_ERROR([libGL is not available for $mesa_driver driver]) > + ;; > + *) > DRIVER_DIRS="$DRIVER_DIRS osmesa" > - fi > + ;; > + esac > fi > > dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...) > @@ -646,12 +659,48 @@ AC_SUBST([OSMESA_MESA_DEPS]) > dnl > dnl GLcore configuration > dnl > -# delay pkg-config checks until `make glcore' run > -XORG_CFLAGS='`pkg-config --cflags xorg-server`' > -GLCORE_LIB_DEPS='-lm -lpthread' > -if test "$mesa_driver" = dri; then > - GLCORE_LIB_DEPS="$GLCORE_LIB_DEPS $DLOPEN_LIBS" > -fi > +case "$mesa_driver" in > +glcore) > + # GLcore must be shared > + if test "$enable_static" = yes; then > + AC_MSG_ERROR([Can't use static libraries for glcore]) > + fi > + PKG_CHECK_MODULES([XORG], [xorg-server >= $XORG_REQUIRED]) > + GLCORE_LIB_DEPS="-lm -lpthread" > + > + # see if xorg-server.h defines XF86DRI > + save_cppflags="$CPPFLAGS" > + CPPFLAGS="$XORG_CFLAGS" > + AC_CHECK_HEADER([xorg-server.h], > + [AC_MSG_CHECKING([whether the XF86DRI extension is supported]) > + AC_PREPROC_IFELSE([#include <xorg-server.h> > +#ifndef XF86DRI > +# error "No DRI extension in xserver" > +#endif], > + [xserver_dri=yes], > + [xserver_dri=no]) > + AC_MSG_RESULT([$xserver_dri])], > + [AC_MSG_ERROR([Can't build glcore without xorg-server.h])]) > + CPPFLAGS="$save_cppflags" > + > + if test "$xserver_dri" = yes; then > + # Hack so that DRI sources are built into GLcore > + WINDOW_SYSTEM=dri > + DEFINES="$DEFINES -DIN_DRI_DRIVER" > + PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED]) > + GLCORE_LIB_DEPS="$GLCORE_LIB_DEPS $DLOPEN_LIBS" > + fi > + ;; > +*) > + # Allow `make glcore' to be run from a prebuilt tree. Delay > + # pkg-config checks until `make glcore' run. > + XORG_CFLAGS='`pkg-config --cflags xorg-server`' > + GLCORE_LIB_DEPS="-lm -lpthread" > + if test "$mesa_driver" = dri; then > + GLCORE_LIB_DEPS="$GLCORE_LIB_DEPS $DLOPEN_LIBS" > + fi > + ;; > +esac > AC_SUBST([XORG_CFLAGS]) > AC_SUBST([GLCORE_LIB_DEPS]) > > @@ -663,6 +712,11 @@ AC_ARG_ENABLE([glu], > [enable OpenGL Utility library @<:@default=enabled@:>@])], > [enable_glu="$enableval"], > [enable_glu=yes]) > +dnl Don't build glu on glcore > +if test "x$enable_glu" = xyes && test "$mesa_driver" = glcore; then > + AC_MSG_WARN([Disabling GLU since the driver is glcore]) > + enable_glu=no > +fi > if test "x$enable_glu" = xyes; then > SRC_DIRS="$SRC_DIRS glu" > > @@ -706,10 +760,14 @@ AC_ARG_ENABLE([glw], > [enable Xt/Motif widget library @<:@default=enabled@:>@])], > [enable_glw="$enableval"], > [enable_glw=yes]) > -dnl Don't build GLw on osmesa > -if test "x$enable_glw" = xyes && test "$mesa_driver" = osmesa; then > - AC_MSG_WARN([Disabling GLw since the driver is OSMesa]) > - enable_glw=no > +dnl Don't build GLw on osmesa or glcore > +if test "x$enable_glw" = xyes; then > + case "$mesa_driver" in > + osmesa|glcore) > + AC_MSG_WARN([Disabling GLw since the driver is $mesa_driver]) > + enable_glw=no > + ;; > + esac > fi > if test "x$enable_glw" = xyes; then > SRC_DIRS="$SRC_DIRS glw" > diff --git a/src/mesa/Makefile b/src/mesa/Makefile > index 08d7235..8da3b79 100644 > --- a/src/mesa/Makefile > +++ b/src/mesa/Makefile > @@ -33,6 +33,7 @@ default: depend > beos) $(MAKE) beos || exit 1 ;; \ > directfb) $(MAKE) directfb || exit 1 ;; \ > fbdev) $(MAKE) fbdev || exit 1 ;; \ > + glcore) $(MAKE) glcore || exit 1 ;; \ > *) echo "$$driver is invalid in DRIVER_DIRS" >&2; exit 1;; \ > esac ; \ > done > @@ -45,6 +46,7 @@ install: default > else \ > $(MAKE) install-osmesa || exit 1 ; \ > fi ;; \ > + glcore) $(MAKE) install-glcore || exit 1 ;; \ > dri) $(MAKE) install-libgl install-dri || exit 1 ;; \ > *) $(MAKE) install-libgl || exit 1 ;; \ > esac ; \ > @@ -72,6 +74,12 @@ linux-solo: depend subdirs libmesa.a > cd drivers/dri && $(MAKE) > > > +###################################################################### > +# Xorg GLcore module > +glcore: depend subdirs libmesa.a > + cd drivers/xorg && $(MAKE) > + > + > ##################################################################### > # Stand-alone Mesa libGL, no built-in drivers (DirectFB) > > @@ -193,6 +201,9 @@ install-osmesa: default > install-dri: > cd drivers/dri && $(MAKE) install > > +install-glcore: > + cd drivers/xorg && $(MAKE) install > + > ## NOT INSTALLED YET: > ## $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GLES > ## $(INSTALL) -m 644 include/GLES/*.h $(DESTDIR)$(INSTALL_DIR)/include/GLES > -- > 1.5.3.2 > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Mesa3d-dev mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mesa3d-dev -- Eric Anholt [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
