summaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
Diffstat (limited to 'configs')
-rw-r--r--configs/CVS/Entries77
-rw-r--r--configs/CVS/Repository1
-rw-r--r--configs/CVS/Root1
-rw-r--r--configs/CVS/Root.bak1
-rw-r--r--configs/CVS/Template0
-rw-r--r--configs/aix28
-rw-r--r--configs/aix-6428
-rw-r--r--configs/aix-gcc19
-rw-r--r--configs/aix-static23
-rw-r--r--configs/beos100
-rw-r--r--configs/darwin31
-rw-r--r--configs/darwin-static24
-rw-r--r--configs/default74
-rw-r--r--configs/default-bp75
-rw-r--r--configs/freebsd26
-rw-r--r--configs/freebsd-dri45
-rw-r--r--configs/freebsd-dri-amd6410
-rw-r--r--configs/freebsd-dri-x8613
-rw-r--r--configs/hpux1014
-rw-r--r--configs/hpux10-gcc16
-rw-r--r--configs/hpux10-static30
-rw-r--r--configs/hpux11-3226
-rw-r--r--configs/hpux11-32-static26
-rw-r--r--configs/hpux11-32-static-nothreads26
-rw-r--r--configs/hpux11-6427
-rw-r--r--configs/hpux11-64-static27
-rw-r--r--configs/hpux916
-rw-r--r--configs/hpux9-gcc14
-rw-r--r--configs/irix6-6418
-rw-r--r--configs/irix6-64-static25
-rw-r--r--configs/irix6-n3218
-rw-r--r--configs/irix6-n32-static25
-rw-r--r--configs/irix6-o3219
-rw-r--r--configs/irix6-o32-static25
-rw-r--r--configs/linux32
-rw-r--r--configs/linux-alpha18
-rw-r--r--configs/linux-alpha-static27
-rw-r--r--configs/linux-debug8
-rw-r--r--configs/linux-directfb30
-rw-r--r--configs/linux-dri67
-rw-r--r--configs/linux-dri-bp55
-rw-r--r--configs/linux-dri-ppc17
-rw-r--r--configs/linux-dri-x8617
-rw-r--r--configs/linux-dri-x86-6424
-rw-r--r--configs/linux-dri-xcb67
-rw-r--r--configs/linux-fbdev10
-rw-r--r--configs/linux-glide20
-rw-r--r--configs/linux-icc22
-rw-r--r--configs/linux-icc-static30
-rw-r--r--configs/linux-indirect49
-rw-r--r--configs/linux-osmesa1627
-rw-r--r--configs/linux-osmesa16-static28
-rw-r--r--configs/linux-osmesa3227
-rw-r--r--configs/linux-ppc9
-rw-r--r--configs/linux-ppc-static14
-rw-r--r--configs/linux-profile29
-rw-r--r--configs/linux-solo43
-rw-r--r--configs/linux-solo-ia647
-rw-r--r--configs/linux-solo-x8613
-rw-r--r--configs/linux-sparc30
-rw-r--r--configs/linux-sparc517
-rw-r--r--configs/linux-static21
-rw-r--r--configs/linux-ultrasparc17
-rw-r--r--configs/linux-x869
-rw-r--r--configs/linux-x86-327
-rw-r--r--configs/linux-x86-6414
-rw-r--r--configs/linux-x86-64-debug7
-rw-r--r--configs/linux-x86-64-static21
-rw-r--r--configs/linux-x86-debug9
-rw-r--r--configs/linux-x86-glide25
-rw-r--r--configs/linux-x86-static21
-rw-r--r--configs/netbsd14
-rw-r--r--configs/openbsd18
-rw-r--r--configs/osf116
-rw-r--r--configs/solaris-x8618
-rw-r--r--configs/solaris-x86-gcc24
-rw-r--r--configs/sunos412
-rw-r--r--configs/sunos4-gcc15
-rw-r--r--configs/sunos4-static25
-rw-r--r--configs/sunos518
-rw-r--r--configs/sunos5-gcc36
-rw-r--r--configs/sunos5-smp19
-rw-r--r--configs/ultrix-gcc21
83 files changed, 2052 insertions, 0 deletions
diff --git a/configs/CVS/Entries b/configs/CVS/Entries
new file mode 100644
index 00000000000..6f89911d65e
--- /dev/null
+++ b/configs/CVS/Entries
@@ -0,0 +1,77 @@
+/hpux10/1.1/Fri Mar 26 15:16:35 2004//
+/hpux10-gcc/1.1/Fri Mar 26 15:16:35 2004//
+/hpux11-32-static/1.1/Fri Mar 26 15:16:35 2004//
+/hpux11-32-static-nothreads/1.1/Fri Mar 26 15:16:35 2004//
+/hpux11-64-static/1.1/Fri Mar 26 15:16:35 2004//
+/hpux9/1.1/Fri Mar 26 15:16:35 2004//
+/hpux9-gcc/1.1/Fri Mar 26 15:16:35 2004//
+/linux-osmesa16/1.1/Fri Mar 26 15:16:35 2004//
+/linux-osmesa16-static/1.1/Fri Mar 26 15:16:35 2004//
+/linux-osmesa32/1.1/Fri Mar 26 15:16:35 2004//
+/netbsd/1.1/Fri Mar 26 15:16:35 2004//
+/sunos4/1.1/Fri Mar 26 15:16:35 2004//
+/sunos4-gcc/1.1/Fri Mar 26 15:16:35 2004//
+/aix-static/1.1/Thu Jul 1 15:32:51 2004//
+/aix/1.3/Sat Oct 2 22:34:50 2004//
+/aix-64/1.2/Fri Oct 1 16:29:39 2004//
+/darwin-static/1.2/Sat Oct 2 22:34:50 2004//
+/hpux10-static/1.2/Sat Oct 2 22:34:50 2004//
+/hpux11-32/1.1/Fri Oct 1 20:18:42 2004//
+/hpux11-64/1.1/Fri Oct 1 20:18:42 2004//
+/irix6-64/1.3/Sat Oct 2 22:34:50 2004//
+/irix6-64-static/1.3/Sat Oct 2 22:34:50 2004//
+/irix6-n32/1.3/Sat Oct 2 22:34:50 2004//
+/irix6-n32-static/1.3/Sat Oct 2 22:34:50 2004//
+/irix6-o32/1.3/Sat Oct 2 22:34:50 2004//
+/irix6-o32-static/1.3/Sat Oct 2 22:34:50 2004//
+/linux-alpha/1.2/Sat Oct 2 22:34:50 2004//
+/linux-alpha-static/1.2/Sat Oct 2 22:34:50 2004//
+/linux-glide/1.3/Sat Oct 2 22:34:50 2004//
+/linux-sparc5/1.3/Sat Oct 2 22:34:50 2004//
+/linux-ultrasparc/1.2/Sat Oct 2 22:34:50 2004//
+/openbsd/1.2/Sat Oct 2 22:34:50 2004//
+/solaris-x86-gcc/1.2/Sat Oct 2 22:34:50 2004//
+/sunos4-static/1.2/Sat Oct 2 22:34:50 2004//
+/sunos5/1.2/Sat Oct 2 22:34:50 2004//
+/sunos5-smp/1.2/Sat Oct 2 22:34:50 2004//
+/ultrix-gcc/1.2/Sat Oct 2 22:34:50 2004//
+/osf1/1.3/Tue Nov 23 16:07:45 2004//
+/linux-fbdev/1.2/Sat May 7 16:30:50 2005//
+/solaris-x86/1.2/Mon Jun 20 18:26:35 2005//
+/linux-ppc/1.3/Fri Jul 15 22:18:52 2005//
+/linux-ppc-static/1.3/Fri Jul 15 22:18:52 2005//
+/linux-static/1.3/Fri Jul 15 22:18:52 2005//
+/linux-x86-32/1.4/Fri Jul 15 22:18:52 2005//
+/linux-x86-64-static/1.6/Fri Jul 15 22:18:52 2005//
+/linux-x86-static/1.5/Fri Jul 15 22:18:52 2005//
+/linux-solo-ia64/1.8/Thu Aug 11 14:15:58 2005//
+/linux-sparc/1.3/Thu Aug 11 14:15:58 2005//
+/linux-dri-ppc/1.3/Fri Aug 19 22:03:05 2005//
+/beos/1.6/Mon Sep 12 15:03:11 2005//
+/freebsd-dri-amd64/1.3/Mon Sep 12 15:03:11 2005//
+/freebsd-dri-x86/1.2/Mon Sep 12 15:03:11 2005//
+/linux-directfb/1.2/Mon Sep 12 15:03:11 2005//
+/linux-dri-x86/1.12/Mon Sep 12 15:03:11 2005//
+/linux-icc/1.4/Mon Sep 12 15:03:11 2005//
+/linux-icc-static/1.4/Mon Sep 12 15:03:11 2005//
+/linux-solo-x86/1.9/Mon Sep 12 15:03:11 2005//
+/linux-x86-64/1.10/Mon Sep 12 15:03:11 2005//
+/linux-x86-glide/1.5/Mon Sep 12 15:03:11 2005//
+/sunos5-gcc/1.5/Mon Sep 12 15:03:11 2005//
+/default/1.22/Mon Sep 19 20:07:49 2005//
+/linux/1.6/Fri Oct 28 14:28:10 2005//
+/linux-profile/1.2/Sat Nov 12 17:56:59 2005//
+/linux-x86-64-debug/1.4/Sat Nov 12 17:56:59 2005//
+/linux-x86-debug/1.4/Sat Nov 12 17:56:59 2005//
+/darwin/1.4/Tue Dec 6 15:42:31 2005//
+/linux-indirect/1.5/Wed Jan 25 15:09:44 2006//
+/linux-dri-x86-64/1.20/Tue Feb 7 00:40:29 2006//
+/linux-solo/1.23/Tue Feb 7 00:40:29 2006//
+/aix-gcc/1.3/Wed Feb 22 17:22:23 2006//
+/freebsd/1.5/Tue Mar 14 15:23:14 2006//
+/linux-debug/1.9/Thu Mar 30 14:16:30 2006//
+/freebsd-dri/1.17/Fri Mar 31 17:29:46 2006//
+/linux-dri/1.39/Fri Mar 31 17:29:46 2006//
+/linux-dri-xcb/1.2/Fri Mar 31 17:29:46 2006//
+/linux-x86/1.7/Fri Mar 31 23:13:45 2006//
+D
diff --git a/configs/CVS/Repository b/configs/CVS/Repository
new file mode 100644
index 00000000000..467347235d9
--- /dev/null
+++ b/configs/CVS/Repository
@@ -0,0 +1 @@
+Mesa/configs
diff --git a/configs/CVS/Root b/configs/CVS/Root
new file mode 100644
index 00000000000..231303aae3e
--- /dev/null
+++ b/configs/CVS/Root
@@ -0,0 +1 @@
+:ext:brianp@cvs.freedesktop.org:/cvs/mesa
diff --git a/configs/CVS/Root.bak b/configs/CVS/Root.bak
new file mode 100644
index 00000000000..eba07540827
--- /dev/null
+++ b/configs/CVS/Root.bak
@@ -0,0 +1 @@
+:ext:brianp@pdx.freedesktop.org:/cvs/mesa
diff --git a/configs/CVS/Template b/configs/CVS/Template
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/configs/CVS/Template
diff --git a/configs/aix b/configs/aix
new file mode 100644
index 00000000000..fe8e48cd654
--- /dev/null
+++ b/configs/aix
@@ -0,0 +1,28 @@
+# Configuration for AIX, dynamic libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = aix
+
+# Compiler and flags
+CC = cc
+CXX = xlC
+
+CFLAGS = -O -DAIXV3
+CXXFLAGS = -O -DAIXV3
+MKLIB_OPTIONS =
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+GL_LIB_DEPS = -lX11 -lXext -lm
+GLU_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lm -lC
+GLUT_LIB_DEPS = -L$(TOP)/lib -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm
+GLW_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lXt -lX11
+OSMESA_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB)
+APP_LIB_DEPS = -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lC
+
diff --git a/configs/aix-64 b/configs/aix-64
new file mode 100644
index 00000000000..0d98475293c
--- /dev/null
+++ b/configs/aix-64
@@ -0,0 +1,28 @@
+# Configuration for AIX 64-bit, dynamic libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = aix-64
+
+# Compiler and flags
+CC = xlc
+CXX = xlC
+
+CFLAGS = -q64 -qmaxmem=16384 -O -DAIXV3
+CXXFLAGS = -q64 -qmaxmem=16384 -O -DAIXV3
+MKLIB_OPTIONS = -arch AIX64
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+GL_LIB_DEPS = -lX11 -lXext -lm
+GLU_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lm -lC
+GLUT_LIB_DEPS = -L$(TOP)/lib -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm
+GLW_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB) -lXt -lX11
+OSMESA_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB)
+APP_LIB_DEPS = -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lC
+
diff --git a/configs/aix-gcc b/configs/aix-gcc
new file mode 100644
index 00000000000..cc55551050c
--- /dev/null
+++ b/configs/aix-gcc
@@ -0,0 +1,19 @@
+# Configuration for AIX with gcc
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = aix-gcc
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+CFLAGS = -O2 -DAIXV3
+CXXFLAGS = -O2 -DAIXV3
+
+MKLIB_OPTIONS = -arch aix-gcc
+GL_LIB_DEPS = -lX11 -lXext -lm
+GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu
+APP_LIB_DEPS = -L$(LIB_DIR) -Wl,-brtl -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXmu -lXi
+
diff --git a/configs/aix-static b/configs/aix-static
new file mode 100644
index 00000000000..f6f086edb6a
--- /dev/null
+++ b/configs/aix-static
@@ -0,0 +1,23 @@
+# Configuration for AIX, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = aix-static
+
+# Compiler and flags
+CC = cc
+CXX = xlC
+
+CFLAGS = -O -DAIXV3
+CXXFLAGS = -O -DAIXV3
+MKLIB_OPTIONS = -static
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -lXext -lXmu -lXi -lm
+
diff --git a/configs/beos b/configs/beos
new file mode 100644
index 00000000000..007a929f888
--- /dev/null
+++ b/configs/beos
@@ -0,0 +1,100 @@
+# Configuration for BeOS
+# Written by Philippe Houdoin
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = beos
+
+
+DEFINES = \
+ -DBEOS_THREADS
+
+MACHINE=$(shell uname -m)
+ifeq ($(MACHINE), BePC)
+ CPU = x86
+else
+ CPU = ppc
+endif
+
+ifeq ($(CPU), x86)
+ # BeOS x86 settings
+
+ DEFINES += \
+ -DGNU_ASSEMBLER \
+ -DUSE_X86_ASM \
+ -DUSE_MMX_ASM \
+ -DUSE_3DNOW_ASM \
+ -DUSE_SSE_ASM
+
+ ASM_SOURCES = $(X86_SOURCES)
+ ASM_API = $(X86_API)
+
+ CC = gcc
+ CXX = g++
+ LD = gcc
+
+ CFLAGS = \
+ -Wall -Wno-multichar -Wno-ctor-dtor-privacy \
+ $(DEFINES)
+
+ CXXFLAGS = $(CFLAGS)
+
+ LDFLAGS += -Xlinker
+
+ ifdef DEBUG
+ CFLAGS += -g -O0
+ LDFLAGS += -g
+ DEFINES += -DDEBUG
+ else
+ CFLAGS += -O3
+ endif
+
+ GLUT_CFLAGS = -fexceptions
+
+else
+ # BeOS PPC settings
+
+ CC = mwcc
+ CXX = $(CC)
+ LD = mwldppc
+
+ CFLAGS = \
+ -w on -requireprotos \
+ $(DEFINES)
+
+ CXXFLAGS = $(CFLAGS)
+
+ LDFLAGS += \
+ -export pragma \
+ -init _init_routine_ \
+ -term _term_routine_ \
+ -lroot \
+ /boot/develop/lib/ppc/glue-noinit.a \
+ /boot/develop/lib/ppc/init_term_dyn.o \
+ /boot/develop/lib/ppc/start_dyn.o
+
+ ifdef DEBUG
+ CFLAGS += -g -O0
+ CXXFLAGS += -g -O0
+ LDFLAGS += -g
+ else
+ CFLAGS += -O7
+ CXXFLAGS += -O7
+ endif
+
+ GLUT_CFLAGS = -fexceptions
+endif
+
+# Directories
+SRC_DIRS = mesa glu glut/beos
+GLU_DIRS = sgi
+DRIVER_DIRS = beos
+PROGRAM_DIRS = beos samples redbook demos tests
+
+# Library/program dependencies
+GL_LIB_DEPS =
+OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS = -lgame -L$(LIB_DIR) -l$(GL_LIB)
+APP_LIB_DEPS = -lbe -L$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB)
+
diff --git a/configs/darwin b/configs/darwin
new file mode 100644
index 00000000000..5abd16448be
--- /dev/null
+++ b/configs/darwin
@@ -0,0 +1,31 @@
+# Configuration for Darwin / MacOS X, making dynamic libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = darwin
+
+# Compiler and flags
+CC = c++
+CXX = c++
+CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
+CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
+
+MKLIB_OPTIONS = -cplusplus
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.dylib
+GLU_LIB_NAME = libGLU.dylib
+GLUT_LIB_NAME = libglut.dylib
+GLW_LIB_NAME = libGLw.dylib
+OSMESA_LIB_NAME = libOSMesa.dylib
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
+OSMESA_LIB_DEPS = -L$(LIB_DIR) -lGL
+GLU_LIB_DEPS = -L$(LIB_DIR) -lGL
+GLUT_LIB_DEPS = -L$(LIB_DIR) -lGL -lGLU -L/usr/X11R6/lib -lX11 -lXmu -lXi -lXext
+GLW_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXt $(TOP)/lib/GL.dylib
+APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+
+# omit glw lib for now:
+SRC_DIRS = mesa glu glut/glx
+
diff --git a/configs/darwin-static b/configs/darwin-static
new file mode 100644
index 00000000000..c7f9c5f06be
--- /dev/null
+++ b/configs/darwin-static
@@ -0,0 +1,24 @@
+# Configuration for Darwin / MacOS X, making static libs
+
+include $(TOP)/configs/darwin
+
+CONFIG_NAME = darwin-static
+
+# Compiler and flags
+CFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
+CXXFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
+MKLIB_OPTIONS = -static
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
+OSMESA_LIB_DEPS =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+GLW_LIB_DEPS =
+APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
diff --git a/configs/default b/configs/default
new file mode 100644
index 00000000000..d85ce14eaf7
--- /dev/null
+++ b/configs/default
@@ -0,0 +1,74 @@
+# Default/template configuration
+
+# This is included by other config files which may override some
+# of these variables.
+
+CONFIG_NAME = default
+
+# Version info
+MESA_MAJOR=6
+MESA_MINOR=5
+MESA_TINY=0
+
+# external projects. This should be useless now that we use libdrm.
+DRM_SOURCE_PATH=$(TOP)/../drm
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -O
+CXXFLAGS = -O
+GLU_CFLAGS =
+
+# Misc tools and flags
+MKLIB_OPTIONS =
+MKDEP = makedepend
+MKDEP_OPTIONS = -fdepend
+MAKE = make
+
+# Python and flags (generally only needed by the developers)
+PYTHON2 = python
+PYTHON_FLAGS = -t -O -O
+
+# Library names (base name)
+GL_LIB = GL
+GLU_LIB = GLU
+GLUT_LIB = glut
+GLW_LIB = GLw
+OSMESA_LIB = OSMesa
+
+
+# Library names (actual file names)
+GL_LIB_NAME = lib$(GL_LIB).so
+GLU_LIB_NAME = lib$(GLU_LIB).so
+GLUT_LIB_NAME = lib$(GLUT_LIB).so
+GLW_LIB_NAME = lib$(GLW_LIB).so
+OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
+
+
+# Optional assembly language optimization files for libGL
+ASM_SOURCES =
+
+# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
+# order to build the Motif widget too)
+GLW_SOURCES = GLwDrawA.c
+
+
+# Directories
+LIB_DIR = $(TOP)/lib
+INSTALL_PREFIX = /usr/local
+SRC_DIRS = mesa glu glut/glx glw
+GLU_DIRS = sgi
+DRIVER_DIRS = x11 osmesa
+# Which subdirs under $(TOP)/progs/ to enter:
+PROGRAM_DIRS = demos redbook samples xdemos
+
+
+# Library/program dependencies
+EXTRA_LIB_PATH ?=
+GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
+OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
+GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
diff --git a/configs/default-bp b/configs/default-bp
new file mode 100644
index 00000000000..29faceed817
--- /dev/null
+++ b/configs/default-bp
@@ -0,0 +1,75 @@
+# Default/template configuration
+
+# This is included by other config files which may override some
+# of these variables.
+
+CONFIG_NAME = default
+
+# Version info
+MESA_MAJOR=6
+MESA_MINOR=3
+MESA_TINY=0
+
+# external projects
+#DRM_SOURCE_PATH=$(TOP)/../drm
+DRM_SOURCE_PATH=/home/projects/DRI-freedesktop/drm
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -O
+CXXFLAGS = -O
+GLU_CFLAGS =
+
+# Misc tools and flags
+MKLIB_OPTIONS =
+MKDEP = makedepend
+MKDEP_OPTIONS = -fdepend
+MAKE = make
+
+# Library names (base name)
+GL_LIB = GL
+GLU_LIB = GLU
+GLUT_LIB = glut
+GLW_LIB = GLw
+OSMESA_LIB = OSMesa
+
+
+# Library names (actual file names)
+GL_LIB_NAME = lib$(GL_LIB).so
+GLU_LIB_NAME = lib$(GLU_LIB).so
+GLUT_LIB_NAME = lib$(GLUT_LIB).so
+GLW_LIB_NAME = lib$(GLW_LIB).so
+OSMESA_LIB_NAME = lib$(OSMesa).so
+
+
+# Optional assembly language optimization files for libGL
+ASM_SOURCES =
+
+# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
+# order to build the Motif widget too)
+GLW_SOURCES = GLwDrawA.c
+
+
+# Directories
+LIB_DIR = $(TOP)/lib
+INSTALL_PREFIX = /usr/local
+SRC_DIRS = mesa glu glut/glx glw
+GLU_DIRS = sgi
+DRIVER_DIRS = x11 osmesa
+# Which subdirs under $(TOP)/progs/ to enter:
+PROGRAM_DIRS = demos redbook samples xdemos
+
+
+# Library/program dependencies
+GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
+OSMESA_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
+GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
+
+
+# Shading language support (set to 0 or 1)
+SHADING_LANGUAGE = 0
+
diff --git a/configs/freebsd b/configs/freebsd
new file mode 100644
index 00000000000..c390b8bf9c9
--- /dev/null
+++ b/configs/freebsd
@@ -0,0 +1,26 @@
+# Configuration for FreeBSD
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = FreeBSD
+
+# Compiler and flags
+CC = cc
+CXX = c++
+MAKE = gmake
+
+OPT_FLAGS = -O2
+PIC_FLAGS = -fPIC
+
+DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM -DHZ=100
+
+X11_INCLUDES = -I/usr/X11R6/include
+
+CFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) -ffast-math -pedantic
+
+CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES)
+
+GLUT_CFLAGS = -fexceptions
+
+EXTRA_LIB_PATH = -L/usr/X11R6/lib
+APP_LIB_DEPS = -L$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm
diff --git a/configs/freebsd-dri b/configs/freebsd-dri
new file mode 100644
index 00000000000..d5bbed50ab7
--- /dev/null
+++ b/configs/freebsd-dri
@@ -0,0 +1,45 @@
+# -*-makefile-*-
+# Configuration for freebsd-dri: FreeBSD DRI hardware drivers
+
+include $(TOP)/configs/freebsd
+
+CONFIG_NAME = freebsd-dri
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+WARN_FLAGS = -Wall
+OPT_FLAGS = -O
+
+EXPAT_INCLUDES = -I/usr/local/include
+X11_INCLUDES = -I/usr/X11R6/include
+DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
+ -DGLX_DIRECT_RENDERING -DHAVE_ALIAS
+CFLAGS = $(DEFINES) -Wmissing-prototypes -g -std=c99 -Wundef -fPIC \
+ -ffast-math $(ASM_FLAGS) $(X11_INCLUDES)
+CXXFLAGS = $(DEFINES) -Wall -g -ansi -pedantic -fPIC
+
+ASM_SOURCES =
+
+# Library/program dependencies
+LIBDRM_LIB = `pkg-config --libs libdrm`
+DRI_LIB_DEPS = -L/usr/local/lib -lm -lpthread -lexpat $(LIBDRM_LIB)
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lm -lpthread $(LIBDRM_LIB)
+
+GLUT_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lXm -lX11
+
+
+# Directories
+SRC_DIRS = glx/x11 mesa glu glut/glx glw
+DRIVER_DIRS = dri
+PROGRAM_DIRS =
+WINDOW_SYSTEM=dri
+
+DRM_SOURCE_PATH=$(TOP)/../drm
+
+# ffb and gamma are missing because they have not been converted to use the new
+# interface.
+DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon tdfx \
+ unichrome savage sis
+
diff --git a/configs/freebsd-dri-amd64 b/configs/freebsd-dri-amd64
new file mode 100644
index 00000000000..39341b9701a
--- /dev/null
+++ b/configs/freebsd-dri-amd64
@@ -0,0 +1,10 @@
+# -*-makefile-*-
+# Configuration for freebsd-dri-amd64: FreeBSD DRI hardware drivers
+
+include $(TOP)/configs/freebsd-dri
+
+CONFIG_NAME = freebsd-dri-x86-64
+
+ASM_FLAGS = -DUSE_X86_64_ASM
+ASM_SOURCES = $(X86-64_SOURCES)
+ASM_API = $(X86-64_API)
diff --git a/configs/freebsd-dri-x86 b/configs/freebsd-dri-x86
new file mode 100644
index 00000000000..af0d27ff47d
--- /dev/null
+++ b/configs/freebsd-dri-x86
@@ -0,0 +1,13 @@
+# -*-makefile-*-
+# Configuration for freebsd-dri: FreeBSD DRI hardware drivers
+
+include $(TOP)/configs/freebsd-dri
+
+CONFIG_NAME = freebsd-dri-x86
+
+# Unnecessary on x86, generally.
+PIC_FLAGS =
+
+ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
+ASM_SOURCES = $(X86_SOURCES)
+ASM_API = $(X86_API)
diff --git a/configs/hpux10 b/configs/hpux10
new file mode 100644
index 00000000000..e17c8b68134
--- /dev/null
+++ b/configs/hpux10
@@ -0,0 +1,14 @@
+# Configuration for HPUX v10, shared libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux10
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
+CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE
+
+APP_LIB_DEPS = -$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
diff --git a/configs/hpux10-gcc b/configs/hpux10-gcc
new file mode 100644
index 00000000000..107a99a85c2
--- /dev/null
+++ b/configs/hpux10-gcc
@@ -0,0 +1,16 @@
+# Configuration for HPUX v10, with gcc
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux10-gcc
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
+CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE
+GLUT_CFLAGS = -fexceptions
+
+APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
+
diff --git a/configs/hpux10-static b/configs/hpux10-static
new file mode 100644
index 00000000000..38a1313e697
--- /dev/null
+++ b/configs/hpux10-static
@@ -0,0 +1,30 @@
+# Configuration for HPUX v10, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux10-static
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
+CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE
+
+MKLIB_OPTIONS = -static
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies (static libs don't have dependencies)
+GL_LIB_DEPS =
+OSMESA_LIB_DEPS =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+GLW_LIB_DEPS =
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm -lstdc++
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm -lstdc++
diff --git a/configs/hpux11-32 b/configs/hpux11-32
new file mode 100644
index 00000000000..9ff407bd53e
--- /dev/null
+++ b/configs/hpux11-32
@@ -0,0 +1,26 @@
+# Configuration for HPUX v11
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux11-32
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +z -Ae +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = +z -Aa +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
+
+MKLIB_OPTIONS =
+
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies
+APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
diff --git a/configs/hpux11-32-static b/configs/hpux11-32-static
new file mode 100644
index 00000000000..7507ab0b0b5
--- /dev/null
+++ b/configs/hpux11-32-static
@@ -0,0 +1,26 @@
+# Configuration for HPUX v11, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux11-32-static
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
+
+MKLIB_OPTIONS = -static
+
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies
+APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
diff --git a/configs/hpux11-32-static-nothreads b/configs/hpux11-32-static-nothreads
new file mode 100644
index 00000000000..91b365408c9
--- /dev/null
+++ b/configs/hpux11-32-static-nothreads
@@ -0,0 +1,26 @@
+# Configuration for HPUX v11, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux11-32-static
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
+
+CXXFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
+
+MKLIB_OPTIONS = -static
+
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies
+APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
diff --git a/configs/hpux11-64 b/configs/hpux11-64
new file mode 100644
index 00000000000..b0869cf81df
--- /dev/null
+++ b/configs/hpux11-64
@@ -0,0 +1,27 @@
+# Configuration for HPUX v11, 64-bit
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux11-64
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +z -Ae +DD64 +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = +z -Aa +DD64 +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
+
+MKLIB_OPTIONS =
+
+LIBDIR = $(TOP)/lib64
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies
+APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
diff --git a/configs/hpux11-64-static b/configs/hpux11-64-static
new file mode 100644
index 00000000000..451dc4208e4
--- /dev/null
+++ b/configs/hpux11-64-static
@@ -0,0 +1,27 @@
+# Configuration for HPUX v11, 64-bit, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux11-64-static
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +O3 +DA2.0W -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = +O3 +DA2.0W -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include
+
+MKLIB_OPTIONS = -static
+
+LIBDIR = $(TOP)/lib64
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies
+APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
diff --git a/configs/hpux9 b/configs/hpux9
new file mode 100644
index 00000000000..03738175761
--- /dev/null
+++ b/configs/hpux9
@@ -0,0 +1,16 @@
+# Configuration for HPUX v9, shared libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux9
+
+# Compiler and flags
+CC = cc
+# XXX fix this
+CXX = c++
+
+CFLAGS = +z +O3 +Olibcalls +ESlit -Aa +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM
+CXXFLAGS = +z +O3 +Olibcalls +ESlit -Aa +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5
+
+APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R5 -s -Wl,+s,-B,nonfatal,-B,immediate -lXext -lXmu -lXi -lX11 -lm
+
diff --git a/configs/hpux9-gcc b/configs/hpux9-gcc
new file mode 100644
index 00000000000..47d579ea567
--- /dev/null
+++ b/configs/hpux9-gcc
@@ -0,0 +1,14 @@
+# Configuration for HPUX v10, shared libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux9-gcc
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
+CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE
+
+APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
diff --git a/configs/irix6-64 b/configs/irix6-64
new file mode 100644
index 00000000000..6c33d33ba92
--- /dev/null
+++ b/configs/irix6-64
@@ -0,0 +1,18 @@
+# Configuration for IRIX 6.x, make n64 DSOs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = irix6-64
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DUSE_XSHM
+CXXFLAGS = -64 -O3 -ansi -woff 1174
+MKLIB_OPTIONS = -archopt 64
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = $(TOP)/lib64
+
+APP_LIB_DEPS = -L$(LIB_DIR) -64 -rpath $(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lm
diff --git a/configs/irix6-64-static b/configs/irix6-64-static
new file mode 100644
index 00000000000..d66af5be878
--- /dev/null
+++ b/configs/irix6-64-static
@@ -0,0 +1,25 @@
+# Configuration for IRIX 6.x, make n64 static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = irix6-64-static
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DUSE_XSHM
+CXXFLAGS = -64 -O3 -ansi -woff 1174
+MKLIB_OPTIONS = -archopt 64 -static
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = $(TOP)/lib64
+
+APP_LIB_DEPS = -L$(LIB_DIR) -64 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
+
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
diff --git a/configs/irix6-n32 b/configs/irix6-n32
new file mode 100644
index 00000000000..4bf2964014f
--- /dev/null
+++ b/configs/irix6-n32
@@ -0,0 +1,18 @@
+# Configuration for IRIX 6.x, make n32 DSOs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = irix6-n32
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM
+CXXFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552
+MKLIB_OPTIONS = -archopt n32
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = $(TOP)/lib32
+
+APP_LIB_DEPS = -L$(LIB_DIR) -n32 -rpath $(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lfpe -lm
diff --git a/configs/irix6-n32-static b/configs/irix6-n32-static
new file mode 100644
index 00000000000..b60de380c62
--- /dev/null
+++ b/configs/irix6-n32-static
@@ -0,0 +1,25 @@
+# Configuration for IRIX 6.x, make n32 static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = irix6-n32-static
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -n32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM
+CXXFLAGS = -n32 -mips2 -O2 -ansi -woff 3262,3666
+MKLIB_OPTIONS = -archopt n32 -static
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = $(TOP)/lib32
+
+APP_LIB_DEPS = -L$(LIB_DIR) -n32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
+
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
diff --git a/configs/irix6-o32 b/configs/irix6-o32
new file mode 100644
index 00000000000..56a19796031
--- /dev/null
+++ b/configs/irix6-o32
@@ -0,0 +1,19 @@
+# Configuration for IRIX 6.x, make o32 DSOs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = irix6-o32
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM
+CXXFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666
+MKLIB_OPTIONS = -archopt o32
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = $(TOP)/lib32
+
+APP_LIB_DEPS = -L$(LIB_DIR) -32 -rpath $(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
+
diff --git a/configs/irix6-o32-static b/configs/irix6-o32-static
new file mode 100644
index 00000000000..ac3d6ee17a6
--- /dev/null
+++ b/configs/irix6-o32-static
@@ -0,0 +1,25 @@
+# Configuration for IRIX 6.x, make o32 static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = irix6-o32-static
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM
+CXXFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666
+MKLIB_OPTIONS = -archopt o32 -static
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = $(TOP)/lib32
+
+APP_LIB_DEPS = -L$(LIB_DIR) -32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
+
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
diff --git a/configs/linux b/configs/linux
new file mode 100644
index 00000000000..2526bb7ebc5
--- /dev/null
+++ b/configs/linux
@@ -0,0 +1,32 @@
+# Configuration for generic Linux
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+OPT_FLAGS = -O3 -g
+PIC_FLAGS = -fPIC
+
+# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. Add -m32
+# to build properly on 64-bit platforms.
+
+ARCH_FLAGS ?=
+
+DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
+ -D_BSD_SOURCE -DPTHREADS -DUSE_XSHM
+
+X11_INCLUDES = -I/usr/X11R6/include
+
+CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
+ $(DEFINES) $(ASM_FLAGS) $(X11_INCLUDES) -std=c99 -ffast-math
+
+CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
+ $(X11_INCLUDES)
+
+GLUT_CFLAGS = -fexceptions
+
+EXTRA_LIB_PATH = -L/usr/X11R6/lib
diff --git a/configs/linux-alpha b/configs/linux-alpha
new file mode 100644
index 00000000000..507c8084518
--- /dev/null
+++ b/configs/linux-alpha
@@ -0,0 +1,18 @@
+# Configuration for Linux on Alpha
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-alpha
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM
+CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE
+GLUT_CFLAGS = -fexceptions
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
+
diff --git a/configs/linux-alpha-static b/configs/linux-alpha-static
new file mode 100644
index 00000000000..7b7ee07ebbd
--- /dev/null
+++ b/configs/linux-alpha-static
@@ -0,0 +1,27 @@
+# Configuration for Linux on Alpha, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-alpha-static
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE -DUSE_XSHM
+CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE
+GLUT_CFLAGS = -fexceptions
+MKLIB_OPTIONS = -static
+
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -L/usr/X11R6/lib -lX11 -lm
diff --git a/configs/linux-debug b/configs/linux-debug
new file mode 100644
index 00000000000..bc6d2336fc3
--- /dev/null
+++ b/configs/linux-debug
@@ -0,0 +1,8 @@
+# Configuration for debugging on Linux
+
+include $(TOP)/configs/linux
+
+CONFIG_NAME = linux-debug
+
+OPT_FLAGS = -g -ansi -pedantic
+DEFINES += -DDEBUG -DDEBUG_MATH
diff --git a/configs/linux-directfb b/configs/linux-directfb
new file mode 100644
index 00000000000..42f7d29fca0
--- /dev/null
+++ b/configs/linux-directfb
@@ -0,0 +1,30 @@
+# Configuration for DirectFB
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-directfb
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+CFLAGS = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D_SVID_SOURCE \
+ -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DPTHREADS
+
+CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
+
+HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes)
+ifeq ($(HAVE_X86), yes)
+ CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
+ CXXFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
+ ASM_SOURCES = $(X86_SOURCES)
+ ASM_API = $(X86_API)
+endif
+
+# Directories
+SRC_DIRS = mesa glu
+DRIVER_DIRS = directfb
+PROGRAM_DIRS = # disabled
+
+# Library/program dependencies
+GL_LIB_DEPS = -lm -lpthread
diff --git a/configs/linux-dri b/configs/linux-dri
new file mode 100644
index 00000000000..585eeb61431
--- /dev/null
+++ b/configs/linux-dri
@@ -0,0 +1,67 @@
+# -*-makefile-*-
+# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-dri
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+#MKDEP = /usr/X11R6/bin/makedepend
+#MKDEP = gcc -M
+#MKDEP_OPTIONS = -MF depend
+
+OPT_FLAGS = -g
+PIC_FLAGS = -fPIC
+
+# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
+ARCH_FLAGS ?=
+
+DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE \
+ -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
+ -DGLX_DIRECT_RENDERING -DHAVE_ALIAS
+
+X11_INCLUDES = -I/usr/X11R6/include
+
+CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
+ $(DEFINES) $(ASM_FLAGS) -std=c99 -ffast-math
+
+CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
+
+
+ASM_SOURCES =
+
+# Library/program dependencies
+EXTRA_LIB_PATH=-L/usr/X11R6/lib
+
+LIBDRM_LIB = `pkg-config --libs libdrm`
+DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
+GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
+ $(LIBDRM_LIB)
+
+
+# This is now 0 by default since it seems to confuse the hell out of people
+# and generate a lot of extra noise on bugzilla. If you need to build with
+# EGL, do 'make linux-dri USING_EGL=1'
+
+USING_EGL=0
+
+# Directories
+ifeq ($(USING_EGL), 1)
+SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
+PROGRAM_DIRS = egl
+else
+SRC_DIRS = glx/x11 mesa glu glut/glx glw
+PROGRAM_DIRS =
+endif
+
+DRIVER_DIRS = dri
+WINDOW_SYSTEM=dri
+
+# gamma are missing because they have not been converted to use the new
+# interface.
+DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon s3v \
+ savage sis tdfx trident unichrome ffb
diff --git a/configs/linux-dri-bp b/configs/linux-dri-bp
new file mode 100644
index 00000000000..e9db29fc36b
--- /dev/null
+++ b/configs/linux-dri-bp
@@ -0,0 +1,55 @@
+# -*-makefile-*-
+# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-dri
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+MKDEP = /usr/X11R6/bin/makedepend
+#MKDEP = gcc -M
+#MKDEP_OPTIONS = -MF depend
+
+WARN_FLAGS = -Wall
+OPT_FLAGS = -g
+PIC_FLAGS = -fPIC
+
+# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
+ARCH_FLAGS ?=
+
+DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE \
+ -DDRI_NEW_INTERFACE_ONLY -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1
+
+X11_INCLUDES = -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
+
+CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
+ $(ASM_FLAGS) -std=c99 -ffast-math
+
+CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
+
+
+ASM_SOURCES =
+
+# Library/program dependencies
+EXTRA_LIB_PATH=-L/usr/X11R6/lib
+
+DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl
+GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
+GLUT_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
+
+
+# Directories
+SRC_DIRS = glx/x11 mesa glu glut/glx glw
+DRIVER_DIRS = dri
+PROGRAM_DIRS =
+WINDOW_SYSTEM=dri
+
+# ffb and gamma are missing because they have not been converted to use the new
+# interface.
+DRI_DIRS = dri_client i810 i830 i915 mach64 mga r128 r200 radeon s3v \
+ savage sis tdfx trident unichrome fb
diff --git a/configs/linux-dri-ppc b/configs/linux-dri-ppc
new file mode 100644
index 00000000000..fb87688065f
--- /dev/null
+++ b/configs/linux-dri-ppc
@@ -0,0 +1,17 @@
+# -*-makefile-*-
+# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
+
+include $(TOP)/configs/linux-dri
+
+CONFIG_NAME = linux-dri-ppc
+
+OPT_FLAGS = -Os -mcpu=603
+PIC_FLAGS = -fPIC
+
+ASM_FLAGS = -DUSE_PPC_ASM -DUSE_VMX_ASM
+ASM_SOURCES = $(PPC_SOURCES)
+
+# Build only the drivers for cards that exist on PowerPC. At some point MGA
+# will be added, but not yet.
+DRI_DIRS = mach64 r128 r200 r300 radeon tdfx
+
diff --git a/configs/linux-dri-x86 b/configs/linux-dri-x86
new file mode 100644
index 00000000000..b196004e58f
--- /dev/null
+++ b/configs/linux-dri-x86
@@ -0,0 +1,17 @@
+# -*-makefile-*-
+# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
+
+include $(TOP)/configs/linux-dri
+
+CONFIG_NAME = linux-dri-x86
+
+# Unnecessary on x86, generally.
+PIC_FLAGS =
+
+# Add -m32 to CFLAGS:
+ARCH_FLAGS = -m32
+
+ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
+ASM_SOURCES = $(X86_SOURCES)
+ASM_API = $(X86_API)
+
diff --git a/configs/linux-dri-x86-64 b/configs/linux-dri-x86-64
new file mode 100644
index 00000000000..23a8fc695b3
--- /dev/null
+++ b/configs/linux-dri-x86-64
@@ -0,0 +1,24 @@
+# -*-makefile-*-
+# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
+
+include $(TOP)/configs/linux-dri
+
+CONFIG_NAME = linux-dri-x86-64
+
+ARCH_FLAGS = -m64
+
+ASM_FLAGS = -DUSE_X86_64_ASM
+ASM_SOURCES = $(X86-64_SOURCES)
+ASM_API = $(X86-64_API)
+
+LIB_DIR = $(TOP)/lib64
+
+# Library/program dependencies
+EXTRA_LIB_PATH=-L/usr/X11R6/lib64
+
+# ffb, gamma, and sis are missing because they have not be converted to use
+# the new interface. i810 are missing because there is no x86-64
+# system where they could *ever* be used.
+#
+DRI_DIRS = i915 mach64 mga r128 r200 radeon tdfx unichrome savage r300
+
diff --git a/configs/linux-dri-xcb b/configs/linux-dri-xcb
new file mode 100644
index 00000000000..2e5860abc59
--- /dev/null
+++ b/configs/linux-dri-xcb
@@ -0,0 +1,67 @@
+# -*-makefile-*-
+# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-dri-xcb
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+#MKDEP = /usr/X11R6/bin/makedepend
+#MKDEP = gcc -M
+#MKDEP_OPTIONS = -MF depend
+
+OPT_FLAGS = -g
+PIC_FLAGS = -fPIC
+
+# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
+ARCH_FLAGS ?=
+
+DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE \
+ -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
+ -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DUSE_XCB
+
+X11_INCLUDES = `pkg-config --cflags-only-I x11` `pkg-config --cflags-only-I xcb`
+
+CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \
+ $(DEFINES) $(ASM_FLAGS) -std=c99 -ffast-math
+
+CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
+
+
+ASM_SOURCES =
+
+# Library/program dependencies
+EXTRA_LIB_PATH=`pkg-config --libs-only-L x11`
+
+LIBDRM_LIB = `pkg-config --libs libdrm`
+DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
+GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
+ $(LIBDRM_LIB) `pkg-config --libs xcb`
+
+
+# This is now 0 by default since it seems to confuse the hell out of people
+# and generate a lot of extra noise on bugzilla. If you need to build with
+# EGL, do 'make linux-dri USING_EGL=1'
+
+USING_EGL=0
+
+# Directories
+ifeq ($(USING_EGL), 1)
+SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
+PROGRAM_DIRS = egl
+else
+SRC_DIRS = glx/x11 mesa glu glut/glx glw
+PROGRAM_DIRS =
+endif
+
+DRIVER_DIRS = dri
+WINDOW_SYSTEM=dri
+
+# gamma are missing because they have not been converted to use the new
+# interface.
+DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon s3v \
+ savage sis tdfx trident unichrome ffb
diff --git a/configs/linux-fbdev b/configs/linux-fbdev
new file mode 100644
index 00000000000..c357485ea16
--- /dev/null
+++ b/configs/linux-fbdev
@@ -0,0 +1,10 @@
+# Configuration for Linux fbdev interface
+
+include $(TOP)/configs/linux
+
+CONFIG_NAME = linux-fbdev
+DRIVER_DIRS = fbdev
+
+CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -DUSE_GLFBDEV_DRIVER
+
+PROGRAM_DIRS = fbdev
diff --git a/configs/linux-glide b/configs/linux-glide
new file mode 100644
index 00000000000..d3e0dc32d53
--- /dev/null
+++ b/configs/linux-glide
@@ -0,0 +1,20 @@
+# Configuration for generic Linux with 3Dfx Glide driver
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-glide
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include
+CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
+GLUT_CFLAGS = -fexceptions
+
+
+# Library/program dependencies
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm
diff --git a/configs/linux-icc b/configs/linux-icc
new file mode 100644
index 00000000000..1d51d6e697f
--- /dev/null
+++ b/configs/linux-icc
@@ -0,0 +1,22 @@
+# Configuration for Linux with Intel C compiler
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-icc
+
+# Compiler and flags
+CC = icc
+CXX = g++
+CFLAGS = -O3 -tpp6 -axK -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
+CXXFLAGS = -O3
+GLUT_CFLAGS = -fexceptions
+MKLIB_OPTIONS = -arch icc
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
+
+ASM_SOURCES = $(X86_SOURCES)
+ASM_API = $(X86_API)
+
+
diff --git a/configs/linux-icc-static b/configs/linux-icc-static
new file mode 100644
index 00000000000..ac847a92152
--- /dev/null
+++ b/configs/linux-icc-static
@@ -0,0 +1,30 @@
+# Configuration for Linux with Intel C compiler, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-icc-static
+
+# Compiler and flags
+CC = icc
+CXX = g++
+CFLAGS = -O3 -tpp6 -axK -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include
+CXXFLAGS = -O3
+GLUT_CFLAGS = -fexceptions
+MKLIB_OPTIONS = -static -arch icc
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+MKLIB_OPTIONS = -arch icc
+
+ASM_SOURCES = $(X86_SOURCES)
+ASM_API = $(X86_API)
+
+
diff --git a/configs/linux-indirect b/configs/linux-indirect
new file mode 100644
index 00000000000..21546b68dc8
--- /dev/null
+++ b/configs/linux-indirect
@@ -0,0 +1,49 @@
+# -*-makefile-*-
+# Configuration for linux-indirect: Builds a libGL capable of indirect
+# rendering, but *NOT* capable of direct rendering.
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-dri
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+#MKDEP = /usr/X11R6/bin/makedepend
+#MKDEP = gcc -M
+#MKDEP_OPTIONS = -MF depend
+
+WARN_FLAGS = -Wall
+OPT_FLAGS = -O -g
+PIC_FLAGS = -fPIC
+
+# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
+ARCH_FLAGS ?=
+
+DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE \
+ -DPTHREADS -DHAVE_ALIAS
+
+X11_INCLUDES = -I/usr/X11R6/include
+
+CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
+ $(ASM_FLAGS) -std=c99 -ffast-math
+
+CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
+
+
+ASM_SOURCES =
+
+# Library/program dependencies
+EXTRA_LIB_PATH=-L/usr/X11R6/lib
+
+DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl
+GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
+
+
+# Directories
+SRC_DIRS = glx/x11 glu glut/glx glw
+DRIVER_DIRS =
+PROGRAM_DIRS =
+WINDOW_SYSTEM=dri
diff --git a/configs/linux-osmesa16 b/configs/linux-osmesa16
new file mode 100644
index 00000000000..16a3b0bbae9
--- /dev/null
+++ b/configs/linux-osmesa16
@@ -0,0 +1,27 @@
+# Configuration for 16 bits/channel OSMesa library on Linux
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-osmesa16
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
+CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
+
+
+# Library names
+OSMESA_LIB = OSMesa16
+OSMESA_LIB_NAME = libOSMesa16.so
+
+
+# Directories
+SRC_DIRS = mesa glu
+DRIVER_DIRS = osmesa
+PROGRAM_DIRS =
+
+
+# Dependencies
+OSMESA_LIB_DEPS = -lm -lpthread
+APP_LIB_DEPS = -lOSMesa16
diff --git a/configs/linux-osmesa16-static b/configs/linux-osmesa16-static
new file mode 100644
index 00000000000..6645504478e
--- /dev/null
+++ b/configs/linux-osmesa16-static
@@ -0,0 +1,28 @@
+# Configuration for 16 bits/channel OSMesa library on Linux
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-osmesa16-static
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
+CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
+MKLIB_OPTIONS = -static
+
+
+# Library names
+OSMESA_LIB = OSMesa16
+OSMESA_LIB_NAME = libOSMesa16.a
+
+
+# Directories
+SRC_DIRS = mesa glu
+DRIVER_DIRS = osmesa
+PROGRAM_DIRS =
+
+
+# Dependencies
+OSMESA_LIB_DEPS = -lm -lpthread
+APP_LIB_DEPS = -lOSMesa16
diff --git a/configs/linux-osmesa32 b/configs/linux-osmesa32
new file mode 100644
index 00000000000..0ff0a6db9b3
--- /dev/null
+++ b/configs/linux-osmesa32
@@ -0,0 +1,27 @@
+# Configuration for 32 bits/channel OSMesa library on Linux
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-osmesa32
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31
+CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
+
+
+# Library names
+OSMESA_LIB = OSMesa32
+OSMESA_LIB_NAME = libOSMesa32.so
+
+
+# Directories
+SRC_DIRS = mesa glu
+DRIVER_DIRS = osmesa
+PROGRAM_DIRS =
+
+
+# Dependencies
+OSMESA_LIB_DEPS = -lm -lpthread
+APP_LIB_DEPS = -lOSMesa32
diff --git a/configs/linux-ppc b/configs/linux-ppc
new file mode 100644
index 00000000000..13cfdeb422b
--- /dev/null
+++ b/configs/linux-ppc
@@ -0,0 +1,9 @@
+# Configuration for Linux on PPC
+
+include $(TOP)/configs/linux
+
+CONFIG_NAME = linux-ppc
+
+OPT_FLAGS = -O3 -mcpu=603 -fsigned-char -funroll-loops
+
+# FIXME: Use of PowerPC assembly should be enabled here. \ No newline at end of file
diff --git a/configs/linux-ppc-static b/configs/linux-ppc-static
new file mode 100644
index 00000000000..d0e168811f8
--- /dev/null
+++ b/configs/linux-ppc-static
@@ -0,0 +1,14 @@
+# Configuration for Linux on PPC, static libs
+
+include $(TOP)/configs/linux-ppc
+
+CONFIG_NAME = linux-ppc-static
+
+MKLIB_OPTIONS = -static
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
diff --git a/configs/linux-profile b/configs/linux-profile
new file mode 100644
index 00000000000..80788dc39fb
--- /dev/null
+++ b/configs/linux-profile
@@ -0,0 +1,29 @@
+# Configuration for profiling on Linux with gprof
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-profile
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+CFLAGS = -pg -O -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG
+
+CXXFLAGS = -pg -O -ansi -pedantic -Wall -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG
+
+GLUT_CFLAGS = -fexceptions
+
+# Need to have -L/usr/X11R6/lib in these:
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lXt -L/usr/X11R6/lib -lX11
+
+# Need to make static libs for profiling:
+MKLIB_OPTIONS = -static
+GL_LIB_NAME = lib$(GL_LIB).a
+GLU_LIB_NAME = lib$(GLU_LIB).a
+GLUT_LIB_NAME = lib$(GLUT_LIB).a
+GLW_LIB_NAME = lib$(GLW_LIB).a
+OSMESA_LIB_NAME = lib$(OSMesa).a
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
diff --git a/configs/linux-solo b/configs/linux-solo
new file mode 100644
index 00000000000..dead8a09a58
--- /dev/null
+++ b/configs/linux-solo
@@ -0,0 +1,43 @@
+# Configuration for linux-solo: Linux DRI hardware drivers for fbdev
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-solo
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+WARN_FLAGS = -Wall -Wundef
+OPT_FLAGS = -O3 -g
+PIC_FLAGS = -fPIC
+
+# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
+ARCH_FLAGS ?=
+
+DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE \
+ -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DDRM_USE_MALLOC -DIN_DRI_DRIVER
+
+CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
+ $(ASM_FLAGS) -std=c99 -ffast-math
+
+CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
+
+
+ASM_SOURCES =
+
+# Library/program dependencies
+DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(LIB_DIR)
+GL_LIB_DEPS = -lm -lpthread -ldl
+GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lpthread
+
+# Directories
+SRC_DIRS = glx/mini mesa glu glut/mini
+DRIVER_DIRS = dri
+PROGRAM_DIRS = miniglx
+
+#DRI_DIRS = ffb gamma sis savage
+DRI_DIRS = i810 i915 mach64 mga r128 r200 radeon tdfx unichrome fb
diff --git a/configs/linux-solo-ia64 b/configs/linux-solo-ia64
new file mode 100644
index 00000000000..b2051fac855
--- /dev/null
+++ b/configs/linux-solo-ia64
@@ -0,0 +1,7 @@
+# Configuration for linux-solo-ia64: Linux DRI hardware drivers for fbdev
+
+include $(TOP)/configs/linux-solo
+
+CONFIG_NAME = linux-solo-ia64
+
+DRI_DIRS = fb mach64 mga r128 r200 radeon sis tdfx unichrome
diff --git a/configs/linux-solo-x86 b/configs/linux-solo-x86
new file mode 100644
index 00000000000..13cab376587
--- /dev/null
+++ b/configs/linux-solo-x86
@@ -0,0 +1,13 @@
+# -*-makefile-*-
+# Configuration for linux-solo-x86: Linux hardware drivers for fbdev for x86
+
+include $(TOP)/configs/linux-solo
+
+CONFIG_NAME = linux-solo-x86
+
+# Unnecessary on x86, generally.
+PIC_FLAGS =
+
+ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
+ASM_SOURCES = $(X86_SOURCES)
+ASM_API = $(X86_API)
diff --git a/configs/linux-sparc b/configs/linux-sparc
new file mode 100644
index 00000000000..15e0b6d4bb4
--- /dev/null
+++ b/configs/linux-sparc
@@ -0,0 +1,30 @@
+# Configuration for Linux on Sparc
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-sparc
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+WARN_FLAGS = -Wall
+OPT_FLAGS = -O2
+PIC_FLAGS = -fPIC
+
+DEFINES = -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM
+
+X11_INCLUDES = -I/usr/X11R6/include
+
+CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
+ $(ASM_FLAGS) -std=c99 -ffast-math
+
+CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
+
+GLUT_CFLAGS = -fexceptions
+
+EXTRA_LIB_PATH=-L/usr/X11R6/lib
+
+GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
diff --git a/configs/linux-sparc5 b/configs/linux-sparc5
new file mode 100644
index 00000000000..aa9461af763
--- /dev/null
+++ b/configs/linux-sparc5
@@ -0,0 +1,17 @@
+# Configuration for Linux on Sparc5
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-sparc5
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -mcpu=ultrasparc -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
+CXXFLAGS = -mcpu=ultrasparc -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE
+GLUT_CFLAGS = -fexceptions
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+
diff --git a/configs/linux-static b/configs/linux-static
new file mode 100644
index 00000000000..0104d34022b
--- /dev/null
+++ b/configs/linux-static
@@ -0,0 +1,21 @@
+# Configuration for generic Linux, making static libs
+
+include $(TOP)/configs/linux
+
+CONFIG_NAME = linux-static
+
+MKLIB_OPTIONS = -static
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies (static libs don't have dependencies)
+GL_LIB_DEPS =
+OSMESA_LIB_DEPS =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+GLW_LIB_DEPS =
diff --git a/configs/linux-ultrasparc b/configs/linux-ultrasparc
new file mode 100644
index 00000000000..e235b56defe
--- /dev/null
+++ b/configs/linux-ultrasparc
@@ -0,0 +1,17 @@
+# Configuration for Linux on UltraSparc
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-ultrasparc
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM
+CXXFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE
+GLUT_CFLAGS = -fexceptions
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+APP_LIB_DEPS = -L$(LIB_DIR)-l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
diff --git a/configs/linux-x86 b/configs/linux-x86
new file mode 100644
index 00000000000..18fa06101de
--- /dev/null
+++ b/configs/linux-x86
@@ -0,0 +1,9 @@
+# Configuration for Linux with x86 optimizations
+
+include $(TOP)/configs/linux
+
+CONFIG_NAME = linux-x86
+
+ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
+ASM_SOURCES = $(X86_SOURCES)
+ASM_API = $(X86_API)
diff --git a/configs/linux-x86-32 b/configs/linux-x86-32
new file mode 100644
index 00000000000..f18ce7a4596
--- /dev/null
+++ b/configs/linux-x86-32
@@ -0,0 +1,7 @@
+# To build Linux x86 32-bit in an x86-64 environment
+
+include $(TOP)/configs/linux-x86
+
+CONFIG_NAME = linux-x86-32
+
+ARCH_FLAGS += -m32
diff --git a/configs/linux-x86-64 b/configs/linux-x86-64
new file mode 100644
index 00000000000..a89c47eb937
--- /dev/null
+++ b/configs/linux-x86-64
@@ -0,0 +1,14 @@
+# Configuration for Linux for 64-bit X86 (Opteron)
+
+include $(TOP)/configs/linux
+
+CONFIG_NAME = linux-x86-64
+
+ARCH_FLAGS = -m64
+
+ASM_SOURCES = $(X86-64_SOURCES)
+ASM_API = $(X86-64_API)
+ASM_FLAGS = -DUSE_X86_64_ASM
+
+LIB_DIR = $(TOP)/lib64
+EXTRA_LIB_PATH = -L/usr/X11R6/lib64
diff --git a/configs/linux-x86-64-debug b/configs/linux-x86-64-debug
new file mode 100644
index 00000000000..46e72c990af
--- /dev/null
+++ b/configs/linux-x86-64-debug
@@ -0,0 +1,7 @@
+# Configuration for Linux for 64-bit X86 (Opteron)
+
+include $(TOP)/configs/linux-x86-64
+
+CONFIG_NAME = linux-x86-64-debug
+
+DEFINES += -DDEBUG -DDEBUG_MATH
diff --git a/configs/linux-x86-64-static b/configs/linux-x86-64-static
new file mode 100644
index 00000000000..05f21d87a64
--- /dev/null
+++ b/configs/linux-x86-64-static
@@ -0,0 +1,21 @@
+# Configuration for Linux for 64-bit X86 (Opteron), static libs
+
+include $(TOP)/configs/linux-x86-64
+
+CONFIG_NAME = linux-x86-64-static
+
+MKLIB_OPTIONS = -static
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies (static libs don't have dependencies)
+GL_LIB_DEPS =
+OSMESA_LIB_DEPS =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+GLW_LIB_DEPS =
diff --git a/configs/linux-x86-debug b/configs/linux-x86-debug
new file mode 100644
index 00000000000..d35012ffae1
--- /dev/null
+++ b/configs/linux-x86-debug
@@ -0,0 +1,9 @@
+# Configuration for Linux with x86 code, but no gcc optimizations and
+# debugging enabled.
+
+include $(TOP)/configs/linux-x86
+
+CONFIG_NAME = linux-x86-debug
+
+OPT_FLAGS = -g
+DEFINES += -DDEBUG -DDEBUG_MATH
diff --git a/configs/linux-x86-glide b/configs/linux-x86-glide
new file mode 100644
index 00000000000..1397bdc0158
--- /dev/null
+++ b/configs/linux-x86-glide
@@ -0,0 +1,25 @@
+# Configuration for Linux with 3Dfx Glide driver and x86 optimizations
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-x86-glide
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DFX -I/usr/include/glide -I/usr/local/glide/include
+
+CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
+
+GLUT_CFLAGS = -fexceptions
+
+
+ASM_SOURCES = $(X86_SOURCES)
+ASM_API = $(X86_API)
+
+# Library/program dependencies
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm
diff --git a/configs/linux-x86-static b/configs/linux-x86-static
new file mode 100644
index 00000000000..d4ccfca803e
--- /dev/null
+++ b/configs/linux-x86-static
@@ -0,0 +1,21 @@
+# Configuration for Linux with x86 optimizations, static libs
+
+include $(TOP)/configs/linux-x86
+
+CONFIG_NAME = linux-x86-static
+
+MKLIB_OPTIONS = -static
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies (static libs don't have dependencies)
+GL_LIB_DEPS =
+OSMESA_LIB_DEPS =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+GLW_LIB_DEPS =
diff --git a/configs/netbsd b/configs/netbsd
new file mode 100644
index 00000000000..104daae0dd6
--- /dev/null
+++ b/configs/netbsd
@@ -0,0 +1,14 @@
+# Configuration for NetBSD
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = netbsd
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -O2 -fPIC -DUSE_XSHM -I/usr/X11R6/include -DHZ=100
+CXXFLAGS = -O2 -fPIC
+GLUT_CFLAGS = -fexceptions
+APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
+
diff --git a/configs/openbsd b/configs/openbsd
new file mode 100644
index 00000000000..f769259a338
--- /dev/null
+++ b/configs/openbsd
@@ -0,0 +1,18 @@
+# Configuration for OpenBSD
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = openbsd
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100
+CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DHZ=100
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm
+OSMESA_LIB_DEPS = -lm
+GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB)
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/X11R6/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
+
diff --git a/configs/osf1 b/configs/osf1
new file mode 100644
index 00000000000..bc88c204221
--- /dev/null
+++ b/configs/osf1
@@ -0,0 +1,16 @@
+# Configuration for OSF/1
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = osf1
+
+# Compiler and flags
+CC = cc
+CXX = cxx
+CFLAGS = -O0 -std1 -ieee_with_no_inexact -DUSE_XSHM
+CXXFLAGS = -O2 -std ansi -ieee
+
+GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
+GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(LIB_DIR) -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm
diff --git a/configs/solaris-x86 b/configs/solaris-x86
new file mode 100644
index 00000000000..7a04417f0c7
--- /dev/null
+++ b/configs/solaris-x86
@@ -0,0 +1,18 @@
+# Configuration for Solaris on x86
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = solaris-x86
+
+# Compiler and flags
+CC = cc
+CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DUSE_XSHM
+MKLIB_OPTIONS = -static
+
+APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm -lglut -lGLU -lGL
+
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
diff --git a/configs/solaris-x86-gcc b/configs/solaris-x86-gcc
new file mode 100644
index 00000000000..01f3d86d1df
--- /dev/null
+++ b/configs/solaris-x86-gcc
@@ -0,0 +1,24 @@
+# Configuration for Solaris on x86 with gcc, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = solaris-x86-gcc
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -O3 -m486 -fPIC -I/usr/openwin/include -DUSE_XSHM
+CXXFLAGS = -O3 -m486 -fPIC
+GLUT_CFLAGS = -fexceptions
+MKLIB_OPTIONS = -static
+
+GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
+GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
+
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
diff --git a/configs/sunos4 b/configs/sunos4
new file mode 100644
index 00000000000..483b9aa730a
--- /dev/null
+++ b/configs/sunos4
@@ -0,0 +1,12 @@
+# Configuration for SunOS 4, shared libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos4
+
+# Compiler and flags
+CC = acc
+CFLAGS = -Kpic -O -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4
+APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/lib/X11R5 -lX11 -lXext -lXmu -lXi -lm
+
+
diff --git a/configs/sunos4-gcc b/configs/sunos4-gcc
new file mode 100644
index 00000000000..8fb1414fa9a
--- /dev/null
+++ b/configs/sunos4-gcc
@@ -0,0 +1,15 @@
+# Configuration for SunOS 4, with gcc, shared libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos4-gcc
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4
+CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4
+GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
+
+APP_LIB_DEPS = -L$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
+
diff --git a/configs/sunos4-static b/configs/sunos4-static
new file mode 100644
index 00000000000..3e510e7514b
--- /dev/null
+++ b/configs/sunos4-static
@@ -0,0 +1,25 @@
+# Configuration for SunOS 4, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos4-static
+
+# Compiler and flags
+CC = acc
+CFLAGS = -O -DUSE_XSHM -DSUNOS4
+MKLIB_OPTIONS = -static
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+# Library/program dependencies (static libs don't have dependencies)
+GL_LIB_DEPS =
+OSMESA_LIB_DEPS =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+GLW_LIB_DEPS =
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lpthread -lm
diff --git a/configs/sunos5 b/configs/sunos5
new file mode 100644
index 00000000000..9347fb842a7
--- /dev/null
+++ b/configs/sunos5
@@ -0,0 +1,18 @@
+# Configuration for SunOS 5
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos5
+
+# Compiler and flags
+CC = cc
+CXX = c++
+CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM
+CXXFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include
+GLUT_CFLAGS = -DSOLARIS_2_4_BUG
+
+GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm
+GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -lCrun -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
diff --git a/configs/sunos5-gcc b/configs/sunos5-gcc
new file mode 100644
index 00000000000..8d6223cea8a
--- /dev/null
+++ b/configs/sunos5-gcc
@@ -0,0 +1,36 @@
+# Configuration for SunOS 5, with gcc
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos5-gcc
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+
+WARN_FLAGS = -Wall
+OPT_FLAGS = -O3 -g -fomit-frame-pointer -pipe
+PIC_FLAGS = -fPIC
+
+ARCH_FLAGS ?=
+
+DEFINES = -D_REENTRANT -DUSE_XSHM
+
+ASM_SOURCES = $(SPARC_SOURCES)
+ASM_API = $(SPARC_API)
+ASM_FLAGS = -DUSE_SPARC_ASM
+
+CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
+ $(ASM_FLAGS) -std=c99 -ffast-math -I/usr/openwin/include
+
+CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
+ -I/usr/openwin/include
+
+GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG
+
+# Library/program dependencies
+EXTRA_LIB_PATH=-L/usr/openwin/lib
+
+GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXi -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
diff --git a/configs/sunos5-smp b/configs/sunos5-smp
new file mode 100644
index 00000000000..633bced6833
--- /dev/null
+++ b/configs/sunos5-smp
@@ -0,0 +1,19 @@
+# Configuration for SunOS 5, SMP systems
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos5-smp
+
+# Compiler and flags
+CC = cc
+CXX = c++
+CFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG
+CXXFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include
+GLUT_CFLAGS = -DSOLARIS_2_4_BUG
+
+GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm
+GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
+APP_LIB_DEPS = -L$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lCrun
+
diff --git a/configs/ultrix-gcc b/configs/ultrix-gcc
new file mode 100644
index 00000000000..c65e275825e
--- /dev/null
+++ b/configs/ultrix-gcc
@@ -0,0 +1,21 @@
+# Configuration for Ultrix, with gcc
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = ultrix-gcc
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -pedantic -O2
+CXXFLAGS = -pedantic -O2
+GLUT_CFLAGS = -fexceptions
+MKLIB_OPTIONS = -static
+
+GL_LIB_NAME = libGL.a
+GLU_LIB_NAME = libGLU.a
+GLUT_LIB_NAME = libglut.a
+GLW_LIB_NAME = libGLw.a
+OSMESA_LIB_NAME = libOSMesa.a
+
+APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXmu -lX11 -lXi -lm