diff --git a/Makefile b/Makefile index a77825e8f9a..ab41116795d 100644 --- a/Makefile +++ b/Makefile @@ -181,7 +181,7 @@ ultrix-gcc: # Rules for making release tarballs -VERSION=7.5-devel +VERSION=7.6-devel DIRECTORY = Mesa-$(VERSION) LIB_NAME = MesaLib-$(VERSION) DEMO_NAME = MesaDemos-$(VERSION) diff --git a/SConstruct b/SConstruct index 1e5fd71adce..89144f7579d 100644 --- a/SConstruct +++ b/SConstruct @@ -41,16 +41,16 @@ else: default_drivers = 'all' default_winsys = 'all' -opts = Options('config.py') +opts = Variables('config.py') common.AddOptions(opts) -opts.Add(ListOption('statetrackers', 'state trackers to build', default_statetrackers, +opts.Add(ListVariable('statetrackers', 'state trackers to build', default_statetrackers, ['mesa', 'python'])) -opts.Add(ListOption('drivers', 'pipe drivers to build', default_drivers, +opts.Add(ListVariable('drivers', 'pipe drivers to build', default_drivers, ['softpipe', 'failover', 'i915simple', 'i965simple', 'cell', 'trace', 'r300'])) -opts.Add(ListOption('winsys', 'winsys drivers to build', default_winsys, +opts.Add(ListVariable('winsys', 'winsys drivers to build', default_winsys, ['xlib', 'intel', 'gdi', 'radeon'])) -opts.Add(EnumOption('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0'))) +opts.Add(EnumVariable('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0'))) env = Environment( options = opts, diff --git a/bin/mklib b/bin/mklib index a3e826abac9..2fd95ba7751 100755 --- a/bin/mklib +++ b/bin/mklib @@ -176,6 +176,23 @@ if [ ${ARCH} = "auto" ] ; then fi +if [ $STATIC = 1 ]; then + # filter out linker options inside object list + NEWOBJECTS="" + for OBJ in $OBJECTS ; do + case $OBJ in + -Wl,*) + echo "mklib: warning: ignoring $OBJ for static library" + ;; + *) + NEWOBJECTS="$NEWOBJECTS $OBJ" + ;; + esac + done + OBJECTS=$NEWOBJECTS +fi + + # # Error checking # @@ -264,18 +281,21 @@ case $ARCH in # expand any .a objects into constituent .o files. NEWOBJECTS="" DELETIA="" - for OBJ in ${OBJECTS} ; do - if [ `expr match $OBJ '.*\.a'` -gt 0 ] ; then - # extract the .o files from this .a archive - FILES=`ar t $OBJ` - ar x $OBJ - NEWOBJECTS="$NEWOBJECTS $FILES" - # keep track of temporary .o files and delete them below - DELETIA="$DELETIA $FILES" - else - # ordinary .o file - NEWOBJECTS="$NEWOBJECTS $OBJ" - fi + for OBJ in $OBJECTS ; do + case $OBJ in + *.a) + # extract the .o files from this .a archive + FILES=`ar t $OBJ` + ar x $OBJ + NEWOBJECTS="$NEWOBJECTS $FILES" + # keep track of temporary .o files and delete them below + DELETIA="$DELETIA $FILES" + ;; + *) + # ordinary .o file + NEWOBJECTS="$NEWOBJECTS $OBJ" + ;; + esac done # make lib diff --git a/common.py b/common.py index f1c6372abde..e57429eb75e 100644 --- a/common.py +++ b/common.py @@ -46,13 +46,13 @@ else: def AddOptions(opts): try: - from SCons.Options.BoolOption import BoolOption - except ImportError: from SCons.Variables.BoolVariable import BoolVariable as BoolOption - try: - from SCons.Options.EnumOption import EnumOption except ImportError: + from SCons.Options.BoolOption import BoolOption + try: from SCons.Variables.EnumVariable import EnumVariable as EnumOption + except ImportError: + from SCons.Options.EnumOption import EnumOption opts.Add(BoolOption('debug', 'debug build', 'no')) opts.Add(BoolOption('profile', 'profile build', 'no')) #opts.Add(BoolOption('quiet', 'quiet command lines', 'no')) diff --git a/configs/default b/configs/default index eab36a36775..9c479fccdf9 100644 --- a/configs/default +++ b/configs/default @@ -9,7 +9,7 @@ CONFIG_NAME = default # Version info MESA_MAJOR=7 -MESA_MINOR=3 +MESA_MINOR=6 MESA_TINY=0 MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY) diff --git a/configs/linux-static b/configs/linux-static index 2fc39ff83ef..907904bda44 100644 --- a/configs/linux-static +++ b/configs/linux-static @@ -22,7 +22,5 @@ GLUT_LIB_DEPS = GLW_LIB_DEPS = # Need to specify all libraries we may need -APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -Wl,--start-group \ - -l$(GL_LIB) $(TOP)/src/mesa/pipe/softpipe/libsoftpipe.a -Wl,--end-group -lm \ - -L/usr/X11R6/lib/ -lX11 -lXext -lXmu -lXi -lpthread - +APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) \ + -l$(GL_LIB) -lm -L/usr/X11R6/lib/ -lX11 -lXext -lXmu -lXi -lpthread diff --git a/configs/linux-x86-64-debug b/configs/linux-x86-64-debug index 46e72c990af..6f631c0e879 100644 --- a/configs/linux-x86-64-debug +++ b/configs/linux-x86-64-debug @@ -4,4 +4,5 @@ include $(TOP)/configs/linux-x86-64 CONFIG_NAME = linux-x86-64-debug +OPT_FLAGS = -g DEFINES += -DDEBUG -DDEBUG_MATH diff --git a/configs/linux-x86-static b/configs/linux-x86-static index 65c92cf3524..16c8731c1d1 100644 --- a/configs/linux-x86-static +++ b/configs/linux-x86-static @@ -22,6 +22,5 @@ GLUT_LIB_DEPS = GLW_LIB_DEPS = # Need to specify all libraries we may need -APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -Wl,--start-group \ - -l$(GL_LIB) $(TOP)/src/mesa/pipe/softpipe/libsoftpipe.a -Wl,--end-group \ - $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread -lstdc++ -lm +APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) \ + -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXt -lXi -lpthread -lstdc++ -lm diff --git a/configure.ac b/configure.ac index 231b7e98a70..662a76edf8c 100644 --- a/configure.ac +++ b/configure.ac @@ -5,12 +5,8 @@ AC_PREREQ([2.59]) dnl Versioning - scrape the version from configs/default m4_define([mesa_version], [m4_esyscmd([${MAKE-make} -s -f bin/version.mk version | tr -d '\n'])]) -m4_ifval(mesa_version,[],[ - m4_errprint([Error: Failed to get the Mesa version from the output of - running `make -f bin/version.mk version' -]) - m4_exit([1]) -]) +m4_ifval(mesa_version,, + [m4_fatal([Failed to get the Mesa version from `make -f bin/version.mk version`])]) dnl Tell the user about autoconf.html in the --help output m4_divert_once([HELP_END], [ @@ -58,15 +54,11 @@ fi AC_SUBST([MKDEP_OPTIONS]) dnl Make sure the pkg-config macros are defined -m4_ifdef([PKG_PROG_PKG_CONFIG],[],[ - m4_errprint([Error: Could not locate the pkg-config autoconf macros. - These are usually located in /usr/share/aclocal/pkg.m4. If your - macros are in a different location, try setting the environment - variable ACLOCAL="aclocal -I/other/macro/dir" before running - autoreconf. -]) - m4_exit([1]) -]) +m4_ifndef([PKG_PROG_PKG_CONFIG], + [m4_fatal([Could not locate the pkg-config autoconf macros. + These are usually located in /usr/share/aclocal/pkg.m4. If your macros + are in a different location, try setting the environment variable + ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])]) PKG_PROG_PKG_CONFIG() dnl LIB_DIR - library basename @@ -87,7 +79,7 @@ dnl Compiler macros DEFINES="" AC_SUBST([DEFINES]) case "$host_os" in -linux*|*-gnu*) +linux*|*-gnu*|gnu*) DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS" ;; solaris*) @@ -411,7 +403,7 @@ esac dnl dnl Driver specific build directories dnl -SRC_DIRS="mesa egl glew" +SRC_DIRS="mesa glew" GLU_DIRS="sgi" WINDOW_SYSTEM="" GALLIUM_DIRS="auxiliary drivers state_trackers" @@ -751,6 +743,10 @@ if test "$mesa_driver" = dri; then unichrome savage sis swrast" fi ;; + gnu*) + DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER" + DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS" + ;; solaris*) DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER" DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING" @@ -870,14 +866,23 @@ AC_SUBST([OSMESA_PC_LIB_PRIV]) dnl dnl EGL configuration dnl -if test "$x11_pkgconfig" = yes; then - PKG_CHECK_MODULES([EGL],[x11]) - EGL_LIB_DEPS="$EGL_LIBS" -else - # should check these... - EGL_LIB_DEPS="$X_LIBS -lX11" +AC_ARG_ENABLE([egl], + [AS_HELP_STRING([--disable-egl], + [disable EGL library @<:@default=enabled@:>@])], + [enable_egl="$enableval"], + [enable_egl=yes]) +if test "x$enable_egl" = xyes; then + SRC_DIRS="$SRC_DIRS egl" + + if test "$x11_pkgconfig" = yes; then + PKG_CHECK_MODULES([EGL], [x11]) + EGL_LIB_DEPS="$EGL_LIBS" + else + # should check these... + EGL_LIB_DEPS="$X_LIBS -lX11" + fi + EGL_LIB_DEPS="$EGL_LIB_DEPS $DLOPEN_LIBS" fi -EGL_LIB_DEPS="$EGL_LIB_DEPS $DLOPEN_LIBS" AC_SUBST([EGL_LIB_DEPS]) dnl @@ -1121,7 +1126,7 @@ yes) GALLIUM_STATE_TRACKERS_DIRS=glx ;; dri) - GALLIUM_STATE_TRACKERS_DIRS=egl + test "x$enable_egl" = xyes && GALLIUM_STATE_TRACKERS_DIRS=egl ;; esac ;; @@ -1131,6 +1136,10 @@ yes) for tracker in $state_trackers; do test -d "$srcdir/src/gallium/state_trackers/$tracker" || \ AC_MSG_ERROR([state tracker '$tracker' doesn't exist]) + + if test "$tracker" = egl && test "x$enable_egl" != xyes; then + AC_MSG_ERROR([cannot build egl state tracker without EGL library]) + fi done GALLIUM_STATE_TRACKERS_DIRS="$state_trackers" ;; @@ -1246,6 +1255,7 @@ dnl Libraries echo "" echo " Shared libs: $enable_shared" echo " Static libs: $enable_static" +echo " EGL: $enable_egl" echo " GLU: $enable_glu" echo " GLw: $enable_glw (Motif: $enable_motif)" echo " glut: $enable_glut" diff --git a/docs/download.html b/docs/download.html index 37b0b3da479..cf1cc21d374 100644 --- a/docs/download.html +++ b/docs/download.html @@ -8,12 +8,6 @@

Downloading

-

-Current development release: 7.3 -
-Last stable release: 7.2 -

-

Primary download site: News +

May tbd, 2009

+

+Mesa 7.5 is released. +

+ + +

April 18, 2009

+

+Mesa 7.4.1 is released. +This is a stable release fixing bugs since the 7.4 release. +

+ + +

March 27, 2009

+

+Mesa 7.4 is released. +This is a stable release fixing bugs since the 7.3 release. +

+ +

January 22, 2009

Mesa 7.3 is released. diff --git a/docs/relnotes-7.4.1.html b/docs/relnotes-7.4.1.html new file mode 100644 index 00000000000..40f4fb1722d --- /dev/null +++ b/docs/relnotes-7.4.1.html @@ -0,0 +1,79 @@ + + +Mesa Release Notes + + + + + + + +

Mesa 7.4.1 Release Notes / 18 April 2009

+ +

+Mesa 7.4.1 is a stable development release fixing bugs since the 7.4 release. +

+

+Mesa 7.4.1 implements the OpenGL 2.1 API, but the version reported by +glGetString(GL_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 2.1. +

+

+See the Compiling/Installing page for prerequisites +for DRI hardware acceleration. +

+ + +

MD5 checksums

+
+0c3a72f3295a53a134c04bd7d209ea62  MesaLib-7.4.1.tar.gz
+423260578b653818ba66c2fcbde6d7ad  MesaLib-7.4.1.tar.bz2
+84f78b154d4bd5c3ecc42eeff2e56676  MesaLib-7.4.1.zip
+aa0ad323e59d6d10ff33ac0dde462a60  MesaDemos-7.4.1.tar.gz
+1e169fb6abc2b45613f1c98a82dfe690  MesaDemos-7.4.1.tar.bz2
+294e42be2d74176596c994ec23322fcf  MesaDemos-7.4.1.zip
+92373bfa48e7b68dddf356e86b0e5699  MesaGLUT-7.4.1.tar.gz
+336f3824b578b072211e0beecf4f04f4  MesaGLUT-7.4.1.tar.bz2
+20751388d8ef16b42d25d9e3d705d101  MesaGLUT-7.4.1.zip
+
+ + +

Bug fixes

+ + + + +

Driver Status

+ +
+Driver			Status
+----------------------	----------------------
+DRI drivers		varies with the driver
+XMesa/GLX (on Xlib)	implements OpenGL 2.1
+OSMesa (off-screen)	implements OpenGL 2.1
+Windows/Win32		implements OpenGL 2.1
+Glide (3dfx Voodoo1/2)	implements OpenGL 1.3
+SVGA			unsupported
+Wind River UGL		unsupported
+DJGPP			unsupported
+GGI			unsupported
+BeOS			unsupported
+Allegro			unsupported
+D3D			unsupported
+
+ + + diff --git a/docs/relnotes-7.4.html b/docs/relnotes-7.4.html index 60ada854c16..55ba019b222 100644 --- a/docs/relnotes-7.4.html +++ b/docs/relnotes-7.4.html @@ -8,7 +8,7 @@ -

Mesa 7.4 Release Notes / date TBD

+

Mesa 7.4 Release Notes / 27 March 2009

Mesa 7.4 is a stable development release fixing bugs since the 7.3 release. @@ -20,28 +20,48 @@ Some drivers don't support all the features required in OpenGL 2.1.

See the Compiling/Installing page for prerequisites -for DRI ardware acceleration. +for DRI hardware acceleration.

MD5 checksums

-tbd
+ed6bd7437177307e51e16d0c7c381dfa  MesaLib-7.4.tar.gz
+7ecddb341a2691e0dfdb02f697109834  MesaLib-7.4.tar.bz2
+433e823f8245f9fd5f397e7b719a8e47  MesaLib-7.4.zip
+656eee6128016fb237e01aa8dabbc703  MesaDemos-7.4.tar.gz
+02816f10f30b1dc5e069e0f68c177c98  MesaDemos-7.4.tar.bz2
+44a70d6db4aa4c64ecc47871b6aceee8  MesaDemos-7.4.zip
+25f80db4f8645cd3e58e2c9af53ec341  MesaGLUT-7.4.tar.gz
+04ec01caebde44f5b0d619f00716b368  MesaGLUT-7.4.tar.bz2
+019dc213baecaa3cb1278847d41b8591  MesaGLUT-7.4.zip
 

New features

Bug fixes

Changes

diff --git a/docs/relnotes-7.5.html b/docs/relnotes-7.5.html index bfeea3f433a..3de243d1b24 100644 --- a/docs/relnotes-7.5.html +++ b/docs/relnotes-7.5.html @@ -13,7 +13,7 @@

Mesa 7.5 is a new development release. People who are concerned with stability and reliability should stick -with the 7.4.x branch or wait for Mesa 7.6. +with the 7.4.x branch or wait for Mesa 7.5.1.

The main new feature of Mesa 7.5 is the @@ -27,7 +27,14 @@ Some drivers don't support all the features required in OpenGL 2.1.

See the Compiling/Installing page for prerequisites -for DRI ardware acceleration. +for DRI hardware acceleration. +

+

+Note that the Mesa project is no longer using odd/even version numbers +to indicate development/stable releases. +The so-called development releases have been fairly stable. +If you're especially concerned with stability you should probably look for +"point" releases such as 7.5.1 which will be a bug-fix release.

@@ -72,7 +79,7 @@ including GL_ATI_separate_stencil, GL_EXT_stencil_two_side and OpenGL 2.0 diff --git a/docs/relnotes-7.6.html b/docs/relnotes-7.6.html new file mode 100644 index 00000000000..77ce013d436 --- /dev/null +++ b/docs/relnotes-7.6.html @@ -0,0 +1,61 @@ + + +Mesa Release Notes + + + + + + + +

Mesa 7.6 Release Notes / date TBD

+ +

+Mesa 7.6 is a new development release. +People who are concerned with stability and reliability should stick +with a previous release or wait for Mesa 7.6.1. +

+

+Mesa 7.6 implements the OpenGL 2.1 API, but the version reported by +glGetString(GL_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 2.1. +

+

+See the Compiling/Installing page for prerequisites +for DRI hardware acceleration. +

+

+Note that the Mesa project is no longer using odd/even version numbers +to indicate development/stable releases. +The so-called development releases have been fairly stable. +If you're especially concerned with stability you should probably look for +"point" releases such as 7.5.1 which will be a bug-fix release. +

+ + +

MD5 checksums

+
+tbd
+
+ + +

New features

+ + + +

Bug fixes

+ + + +

Changes

+ + + + diff --git a/docs/relnotes.html b/docs/relnotes.html index c5ed109390f..936f565236d 100644 --- a/docs/relnotes.html +++ b/docs/relnotes.html @@ -20,7 +20,9 @@ The release notes summarize what's new or changed in each Mesa release.