summaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
Diffstat (limited to 'configs')
-rw-r--r--configs/.gitignore1
-rw-r--r--configs/aix30
-rw-r--r--configs/aix-6427
-rw-r--r--configs/aix-64-static25
-rw-r--r--configs/aix-gcc19
-rw-r--r--configs/aix-static25
-rw-r--r--configs/beos100
-rw-r--r--configs/darwin29
-rw-r--r--configs/darwin-static24
-rw-r--r--configs/darwin-static-x86ppc26
-rw-r--r--configs/darwin-x86ppc33
-rw-r--r--configs/default86
-rw-r--r--configs/freebsd27
-rw-r--r--configs/freebsd-dri49
-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-3230
-rw-r--r--configs/hpux11-32-static27
-rw-r--r--configs/hpux11-32-static-nothreads26
-rw-r--r--configs/hpux11-6431
-rw-r--r--configs/hpux11-64-static27
-rw-r--r--configs/hpux11-ia6430
-rw-r--r--configs/hpux11-ia64-static27
-rw-r--r--configs/hpux916
-rw-r--r--configs/hpux9-gcc14
-rw-r--r--configs/irix6-6417
-rw-r--r--configs/irix6-64-static26
-rw-r--r--configs/irix6-n3217
-rw-r--r--configs/irix6-n32-static25
-rw-r--r--configs/irix6-o3218
-rw-r--r--configs/irix6-o32-static25
-rw-r--r--configs/linux33
-rw-r--r--configs/linux-alpha18
-rw-r--r--configs/linux-alpha-static27
-rw-r--r--configs/linux-debug8
-rw-r--r--configs/linux-directfb34
-rw-r--r--configs/linux-dri69
-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-xcb68
-rw-r--r--configs/linux-fbdev16
-rw-r--r--configs/linux-glide20
-rw-r--r--configs/linux-ia64-icc21
-rw-r--r--configs/linux-ia64-icc-static27
-rw-r--r--configs/linux-icc22
-rw-r--r--configs/linux-icc-static27
-rw-r--r--configs/linux-indirect50
-rw-r--r--configs/linux-osmesa25
-rw-r--r--configs/linux-osmesa1628
-rw-r--r--configs/linux-osmesa16-static28
-rw-r--r--configs/linux-osmesa3228
-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-sparc9
-rw-r--r--configs/linux-sparc57
-rw-r--r--configs/linux-static26
-rw-r--r--configs/linux-ultrasparc7
-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-static23
-rw-r--r--configs/linux-x86-debug9
-rw-r--r--configs/linux-x86-glide25
-rw-r--r--configs/linux-x86-static23
-rw-r--r--configs/netbsd14
-rw-r--r--configs/openbsd18
-rw-r--r--configs/osf116
-rw-r--r--configs/osf1-static17
-rw-r--r--configs/solaris-x8618
-rw-r--r--configs/solaris-x86-gcc17
-rw-r--r--configs/solaris-x86-gcc-static24
-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-64-gcc11
-rw-r--r--configs/sunos5-gcc36
-rw-r--r--configs/sunos5-smp19
-rw-r--r--configs/sunos5-v818
-rw-r--r--configs/sunos5-v8-static16
-rw-r--r--configs/sunos5-v923
-rw-r--r--configs/sunos5-v9-static18
-rw-r--r--configs/ultrix-gcc21
92 files changed, 2184 insertions, 0 deletions
diff --git a/configs/.gitignore b/configs/.gitignore
new file mode 100644
index 0000000000..5b9023a315
--- /dev/null
+++ b/configs/.gitignore
@@ -0,0 +1 @@
+current
diff --git a/configs/aix b/configs/aix
new file mode 100644
index 0000000000..ebbf583745
--- /dev/null
+++ b/configs/aix
@@ -0,0 +1,30 @@
+# Configuration for AIX, dynamic libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = aix
+
+# Compiler and flags
+CC = cc
+CXX = xlC
+
+CFLAGS = -O -DAIXV3 -DPTHREADS
+CXXFLAGS = -O -DAIXV3 -DPTHREADS
+
+# Misc tools and flags
+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 -lpthread -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) -lXm -lXt -lX11
+OSMESA_LIB_DEPS = -L$(TOP)/lib -l$(GL_LIB)
+APP_LIB_DEPS = -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm -lC
+
diff --git a/configs/aix-64 b/configs/aix-64
new file mode 100644
index 0000000000..5d2edc5876
--- /dev/null
+++ b/configs/aix-64
@@ -0,0 +1,27 @@
+# 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 -DPTHREADS
+CXXFLAGS = -q64 -qmaxmem=16384 -O -DAIXV3 -DPTHREADS
+LIB_DIR = 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
+
+GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lC
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu -lX11 -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXm -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/lib64 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lpthread -lC
+
diff --git a/configs/aix-64-static b/configs/aix-64-static
new file mode 100644
index 0000000000..6910e890d7
--- /dev/null
+++ b/configs/aix-64-static
@@ -0,0 +1,25 @@
+# Configuration for AIX, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = aix-64-static
+
+# Compiler and flags
+CC = cc
+CXX = xlC
+
+CFLAGS = -q64 -O -DAIXV3 -DPTHREADS
+CXXFLAGS = -q64 -O -DAIXV3 -DPTHREADS
+MKLIB_OPTIONS = -static
+LIB_DIR = 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
+
+APP_LIB_DEPS = -q64 -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
+ -lX11 -lXext -lXmu -lXi -lm -lpthread -lC
+
diff --git a/configs/aix-gcc b/configs/aix-gcc
new file mode 100644
index 0000000000..81467082a7
--- /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$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lXi -lXmu
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..563184344c
--- /dev/null
+++ b/configs/aix-static
@@ -0,0 +1,25 @@
+# Configuration for AIX, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = aix-static
+
+# Compiler and flags
+CC = cc
+CXX = xlC
+
+CFLAGS = -O -DAIXV3 -DPTHREADS
+CXXFLAGS = -O -DAIXV3 -DPTHREADS
+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$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
+ -lX11 -lXext -lXmu -lXi -lm -lpthread -lC
+
+
diff --git a/configs/beos b/configs/beos
new file mode 100644
index 0000000000..f07973d0c7
--- /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$(TOP)/$(LIB_DIR) -l$(GL_LIB)
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS = -lgame -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
+APP_LIB_DEPS = -lbe -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLUT_LIB)
+
diff --git a/configs/darwin b/configs/darwin
new file mode 100644
index 0000000000..7826ecc605
--- /dev/null
+++ b/configs/darwin
@@ -0,0 +1,29 @@
+# Configuration for Darwin / MacOS X, making dynamic libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = darwin
+
+# Compiler and flags
+CC = cc
+CXX = cc
+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
+
+# 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$(TOP)/$(LIB_DIR) -lGL
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
+GLUT_LIB_DEPS = -L$(TOP)/$(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 0000000000..3eb6581fb0
--- /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 =
+OSMESA_LIB_DEPS =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+GLW_LIB_DEPS =
+APP_LIB_DEPS = -Wl,-search_paths_first -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lstdc++ -lgcc_s.1 -lm
diff --git a/configs/darwin-static-x86ppc b/configs/darwin-static-x86ppc
new file mode 100644
index 0000000000..844a1d2ead
--- /dev/null
+++ b/configs/darwin-static-x86ppc
@@ -0,0 +1,26 @@
+# Configuration for Darwin / MacOS X, making static libs
+
+include $(TOP)/configs/darwin
+
+CONFIG_NAME = darwin-static
+
+# Compiler and flags
+CFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
+ -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
+CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
+ -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
+MKLIB_OPTIONS = -static -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
+
+# 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 =
+OSMESA_LIB_DEPS =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+GLW_LIB_DEPS =
+APP_LIB_DEPS = -Wl,-search_paths_first -L$(TOP)/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lstdc++ -lgcc_s.1 -lm
diff --git a/configs/darwin-x86ppc b/configs/darwin-x86ppc
new file mode 100644
index 0000000000..13172327a7
--- /dev/null
+++ b/configs/darwin-x86ppc
@@ -0,0 +1,33 @@
+# Configuration for Darwin / MacOS X, making dynamic libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = darwin
+
+# Compiler and flags
+CC = cc
+CXX = cc
+CFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
+ -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
+CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
+ -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin
+
+MKLIB_OPTIONS = -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
+
+# 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$(TOP)/$(LIB_DIR) -lGL
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lGL
+GLUT_LIB_DEPS = -L$(TOP)/$(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/default b/configs/default
new file mode 100644
index 0000000000..e805925701
--- /dev/null
+++ b/configs/default
@@ -0,0 +1,86 @@
+# Default/template configuration
+
+# This is included by other config files which may override some
+# of these variables.
+# Think of this as a base class from which configs are derived.
+
+
+CONFIG_NAME = default
+
+# Version info
+MESA_MAJOR=6
+MESA_MINOR=5
+MESA_TINY=2
+
+# 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
+INSTALL = $(TOP)/bin/minstall
+
+# 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 to build
+LIB_DIR = lib
+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$(TOP)/$(LIB_DIR) -l$(GL_LIB)
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
+
+
+
+# Installation directories (for make install)
+INSTALL_DIR = /usr/local
+DRI_DRIVER_INSTALL_DIR = /usr/X11R6/lib/modules/dri
+
+# Where libGL will look for DRI hardware drivers
+DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
+
diff --git a/configs/freebsd b/configs/freebsd
new file mode 100644
index 0000000000..db7dd3b78a
--- /dev/null
+++ b/configs/freebsd
@@ -0,0 +1,27 @@
+# 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 -DHAVE_POSIX_MEMALIGN
+
+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$(TOP)/$(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 0000000000..68877c612e
--- /dev/null
+++ b/configs/freebsd-dri
@@ -0,0 +1,49 @@
+# -*-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 -DGLX_INDIRECT_RENDERING \
+ -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
+
+CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes -std=c99 -Wundef -ffast-math \
+ $(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)
+
+CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) -Wall -ansi -pedantic $(ASM_FLAGS) $(X11_INCLUDES)
+
+ASM_SOURCES =
+
+# Library/program dependencies
+LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
+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$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -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 i965 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 0000000000..39341b9701
--- /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 0000000000..af0d27ff47
--- /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 0000000000..9ec08c0bb5
--- /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 = -O +DAportable +z -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
+CXXFLAGS = -O +DAportable +Z -Ae -D_HPUX_SOURCE
+
+APP_LIB_DEPS = -$(TOP)/$(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 0000000000..10a9ad5cd5
--- /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$(TOP)/$(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 0000000000..6101a4ece8
--- /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 = -O +DAportable +z -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
+CXXFLAGS = -O +DAportable +Z -Ae -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$(TOP)/$(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$(TOP)/$(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 0000000000..035ef796d1
--- /dev/null
+++ b/configs/hpux11-32
@@ -0,0 +1,30 @@
+# Configuration for HPUX v11
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux11-32
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +z -Ae -O +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = +z -Ae -O +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DPTHREADS
+
+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$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB)
+GL_LIB_DEPS = -L/usr/lib/X11R6/ -L/usr/contrib/X11R6/lib/ -lXext -lXt -lXi -lX11 -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCsup -lcl
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(GL_LIB_DEPS)
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
diff --git a/configs/hpux11-32-static b/configs/hpux11-32-static
new file mode 100644
index 0000000000..b8e8436182
--- /dev/null
+++ b/configs/hpux11-32-static
@@ -0,0 +1,27 @@
+# Configuration for HPUX v11, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux11-32-static
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = -O +DA2.0 -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = -O +DA2.0 -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DPTHREADS
+
+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$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6/ -L/usr/contrib/X11R6/lib/ -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread -lCsup -lcl
+
diff --git a/configs/hpux11-32-static-nothreads b/configs/hpux11-32-static-nothreads
new file mode 100644
index 0000000000..cba166a084
--- /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 = -O +DA2.0 -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
+
+CXXFLAGS = -O +DA2.0 -Ae -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 0000000000..3833c07c67
--- /dev/null
+++ b/configs/hpux11-64
@@ -0,0 +1,31 @@
+# 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 -O +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = +z -Ae +DD64 -O +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DPTHREADS
+
+MKLIB_OPTIONS =
+
+LIB_DIR = 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$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB)
+GL_LIB_DEPS = -L/usr/lib/X11R6/pa20_64 -L/usr/contrib/X11R6/lib/pa20_64 -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCsup -lcl
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(GL_LIB_DEPS)
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
diff --git a/configs/hpux11-64-static b/configs/hpux11-64-static
new file mode 100644
index 0000000000..32944f9283
--- /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 = -O +DA2.0W -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = -O +DA2.0W -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DPTHREADS
+
+MKLIB_OPTIONS = -static
+
+LIB_DIR = 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$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6/pa20_64 -L/usr/contrib/X11R6/lib/pa20_64 -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread -lCsup -lcl
diff --git a/configs/hpux11-ia64 b/configs/hpux11-ia64
new file mode 100644
index 0000000000..b94560baf4
--- /dev/null
+++ b/configs/hpux11-ia64
@@ -0,0 +1,30 @@
+# Configuration for HPUX IA64 v11, 64-bit
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux11-ia64
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = +z -Ae +DD64 -O +DSmckinley -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = +z -Ae +DD64 -O +DSmckinley -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DPTHREADS
+
+MKLIB_OPTIONS =
+
+LIB_DIR = lib64
+
+# Library names (actual file names)
+GL_LIB_NAME = libGL.so
+GLU_LIB_NAME = libGLU.so
+GLUT_LIB_NAME = libglut.so
+GLW_LIB_NAME = libGLw.so
+OSMESA_LIB_NAME = libOSMesa.so
+
+# Library/program dependencies
+GL_LIB_DEPS = -L/usr/lib/X11R6/ -L/usr/contrib/X11R6/lib/ -lXext -lXmu -lXt -lXi -lX11 -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCsup -lcl
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(GL_LIB_DEPS)
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
diff --git a/configs/hpux11-ia64-static b/configs/hpux11-ia64-static
new file mode 100644
index 0000000000..e094c9f879
--- /dev/null
+++ b/configs/hpux11-ia64-static
@@ -0,0 +1,27 @@
+# Configuration for HPUX v11, 64-bit, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = hpux11-ia64-static
+
+# Compiler and flags
+CC = cc
+CXX = aCC
+
+CFLAGS = -O +DD64 -Ae -D_HPUX_SOURCE +DSmckinley -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS
+
+CXXFLAGS = -O +DD64 -Ae -D_HPUX_SOURCE +DSmckinley -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DPTHREADS
+
+MKLIB_OPTIONS = -static
+
+LIB_DIR = 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$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lXt -lX11 -lpthread -lm -lCsup -lcl
diff --git a/configs/hpux9 b/configs/hpux9
new file mode 100644
index 0000000000..d0105e5c83
--- /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 -O +Olibcalls +ESlit -Ae +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM
+CXXFLAGS = +z -O +Olibcalls +ESlit -Ae +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5
+
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..df30420565
--- /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 = -O +DAportable +z -Ae -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM
+CXXFLAGS = -O +DAportable +Z -Ae -D_HPUX_SOURCE
+
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..aae6d78eae
--- /dev/null
+++ b/configs/irix6-64
@@ -0,0 +1,17 @@
+# 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 -DPTHREADS
+CXXFLAGS = -64 -O3 -ansi -woff 1174 -DPTHREADS
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = lib64
+
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -64 -rpath $(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lpthread -lm
diff --git a/configs/irix6-64-static b/configs/irix6-64-static
new file mode 100644
index 0000000000..ea9dabcc0c
--- /dev/null
+++ b/configs/irix6-64-static
@@ -0,0 +1,26 @@
+# 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 -DPTHREADS
+CXXFLAGS = -64 -O3 -ansi -woff 1174 -DPTHREADS
+MKLIB_OPTIONS = -static
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = lib64
+
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -64 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm -lC
+
+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 0000000000..8a7817343f
--- /dev/null
+++ b/configs/irix6-n32
@@ -0,0 +1,17 @@
+# 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 -DPTHREADS
+CXXFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552 -DPTHREADS
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = lib32
+
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -n32 -rpath $(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lfpe -lpthread -lm
diff --git a/configs/irix6-n32-static b/configs/irix6-n32-static
new file mode 100644
index 0000000000..fe47ccdcbe
--- /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 -DPTHREADS
+CXXFLAGS = -n32 -mips2 -O2 -ansi -woff 3262,3666 -DPTHREADS
+MKLIB_OPTIONS = -static
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = lib32
+
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -n32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm -lC
+
+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 0000000000..1e4c8c53ea
--- /dev/null
+++ b/configs/irix6-o32
@@ -0,0 +1,18 @@
+# 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
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = lib32
+
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -32 -rpath $(TOP)/$(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 0000000000..2d265df98c
--- /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 = -static
+
+GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+LIB_DIR = lib32
+
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -32 -glut -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lm -lC
+
+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 0000000000..0d455ff46a
--- /dev/null
+++ b/configs/linux
@@ -0,0 +1,33 @@
+# 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 -D_GNU_SOURCE \
+ -DPTHREADS -DUSE_XSHM -DHAVE_POSIX_MEMALIGN
+
+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 0000000000..d69aabb730
--- /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$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..2a30af9b68
--- /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$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..bc6d2336fc
--- /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 0000000000..09332f4808
--- /dev/null
+++ b/configs/linux-directfb
@@ -0,0 +1,34 @@
+# 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 glut/directfb
+GLU_DIRS = sgi
+DRIVER_DIRS = directfb
+PROGRAM_DIRS = demos directfb
+
+# Library/program dependencies
+GL_LIB_DEPS = -lm -lpthread
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLU_LIB)
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -l$(GLU_LIB) -l$(GLUT_LIB)
+
diff --git a/configs/linux-dri b/configs/linux-dri
new file mode 100644
index 0000000000..7e822e2eb6
--- /dev/null
+++ b/configs/linux-dri
@@ -0,0 +1,69 @@
+# -*-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 = -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 -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
+ -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
+ -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
+
+X11_INCLUDES = -I/usr/X11R6/include
+
+CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
+ $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)
+
+CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
+
+
+ASM_SOURCES =
+
+# Library/program dependencies
+EXTRA_LIB_PATH=-L/usr/X11R6/lib
+
+LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
+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 i915tex i915 i965 mach64 mga r128 r200 r300 radeon s3v \
+ savage sis tdfx trident unichrome ffb
diff --git a/configs/linux-dri-ppc b/configs/linux-dri-ppc
new file mode 100644
index 0000000000..fb87688065
--- /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 0000000000..b196004e58
--- /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 0000000000..821ab3e336
--- /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 = 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 = i915tex i915 i965 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 0000000000..cb327fa60f
--- /dev/null
+++ b/configs/linux-dri-xcb
@@ -0,0 +1,68 @@
+# -*-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 -DHAVE_POSIX_MEMALIGN
+
+X11_INCLUDES = `pkg-config --cflags-only-I x11` `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I x11-xcb` `pkg-config --cflags-only-I xcb-glx`
+
+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_CFLAGS = `pkg-config --cflags libdrm`
+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` `pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`
+
+
+# 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 0000000000..e36d20a702
--- /dev/null
+++ b/configs/linux-fbdev
@@ -0,0 +1,16 @@
+# Configuration for Linux fbdev interface
+
+include $(TOP)/configs/linux
+
+CONFIG_NAME = linux-fbdev
+
+CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER
+
+SRC_DIRS = mesa glu glut/fbdev
+DRIVER_DIRS = fbdev osmesa
+PROGRAM_DIRS = fbdev demos redbook samples
+
+GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread
+OSMESA_LIB_DEPS = -lm -lpthread
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lgpm -lm
+
diff --git a/configs/linux-glide b/configs/linux-glide
new file mode 100644
index 0000000000..0a40521e1b
--- /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$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/local/glide/lib -lglide3x -lm
diff --git a/configs/linux-ia64-icc b/configs/linux-ia64-icc
new file mode 100644
index 0000000000..bd11897757
--- /dev/null
+++ b/configs/linux-ia64-icc
@@ -0,0 +1,21 @@
+# Configuration for Linux with Intel C compiler
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-icc
+
+# Compiler and flags
+CC = icc
+CXX = icpc
+CFLAGS = -O3 -ansi -KPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
+CXXFLAGS = -O3 -ansi -KPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
+GLUT_CFLAGS = -fexceptions
+MKLIB_OPTIONS = -arch icc-istatic
+
+GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(GL_LIB_DEPS)
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB)
+
+
diff --git a/configs/linux-ia64-icc-static b/configs/linux-ia64-icc-static
new file mode 100644
index 0000000000..ce8daf1d7c
--- /dev/null
+++ b/configs/linux-ia64-icc-static
@@ -0,0 +1,27 @@
+# Configuration for Linux with Intel C compiler, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-icc-static
+
+# Compiler and flags
+CC = icc
+CXX = icpc
+CFLAGS = -O3 -ansi -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
+CXXFLAGS = -O3 -ansi -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include
+GLUT_CFLAGS = -fexceptions
+MKLIB_OPTIONS = -static -arch icc-istatic
+
+# 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 =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+GLW_LIB_DEPS =
+APP_LIB_DEPS = -i-static -cxxlib-icc -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lpthread -lm -lcxa -lunwind
+
diff --git a/configs/linux-icc b/configs/linux-icc
new file mode 100644
index 0000000000..978a45af70
--- /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$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..0c957568c2
--- /dev/null
+++ b/configs/linux-icc-static
@@ -0,0 +1,27 @@
+# Configuration for Linux with Intel C compiler, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-icc-static
+
+# Compiler and flags
+CC = icc
+CXX = icpc
+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 -tpp6 -axK -DPTHREADS
+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 =
+GLUT_LIB_DEPS =
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm -lpthread -lcxa -lunwind
+
+ASM_SOURCES = $(X86_SOURCES)
+ASM_API = $(X86_API)
diff --git a/configs/linux-indirect b/configs/linux-indirect
new file mode 100644
index 0000000000..bd33345ed7
--- /dev/null
+++ b/configs/linux-indirect
@@ -0,0 +1,50 @@
+# -*-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 \
+ -DGLX_INDIRECT_RENDERING \
+ -DPTHREADS -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
+
+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-osmesa b/configs/linux-osmesa
new file mode 100644
index 0000000000..cc1fbbd109
--- /dev/null
+++ b/configs/linux-osmesa
@@ -0,0 +1,25 @@
+# Configuration for building only libOSMesa on Linux, no Xlib driver
+# This doesn't really have any Linux dependencies, so it should be usable
+# on other (gcc-based) systems.
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = linux-osmesa
+
+# 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 -DPTHREADS
+CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
+
+
+# Directories
+SRC_DIRS = mesa glu
+DRIVER_DIRS = osmesa
+PROGRAM_DIRS = osdemos
+
+
+# Dependencies
+OSMESA_LIB_DEPS = -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
+APP_LIB_DEPS = -lOSMesa -lGLU
diff --git a/configs/linux-osmesa16 b/configs/linux-osmesa16
new file mode 100644
index 0000000000..1fb0186d31
--- /dev/null
+++ b/configs/linux-osmesa16
@@ -0,0 +1,28 @@
+# 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
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
+APP_LIB_DEPS = -lOSMesa16
diff --git a/configs/linux-osmesa16-static b/configs/linux-osmesa16-static
new file mode 100644
index 0000000000..6645504478
--- /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 0000000000..a1e5a358d6
--- /dev/null
+++ b/configs/linux-osmesa32
@@ -0,0 +1,28 @@
+# 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
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)
+APP_LIB_DEPS = -lOSMesa32
diff --git a/configs/linux-ppc b/configs/linux-ppc
new file mode 100644
index 0000000000..13cfdeb422
--- /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 0000000000..d0e168811f
--- /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 0000000000..75b245779a
--- /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$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(TOP)/$(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$(TOP)/$(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 0000000000..730c245d90
--- /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 -DHAVE_POSIX_MEMALIGN \
+ -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$(TOP)/$(LIB_DIR)
+GL_LIB_DEPS = -lm -lpthread -ldl
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..b2051fac85
--- /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 0000000000..13cab37658
--- /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 0000000000..9925afc19b
--- /dev/null
+++ b/configs/linux-sparc
@@ -0,0 +1,9 @@
+# Configuration for Linux on Sparc
+
+include $(TOP)/configs/linux
+
+CONFIG_NAME = linux-sparc
+
+#ASM_FLAGS = -DUSE_SPARC_ASM
+#ASM_SOURCES = $(SPARC_SOURCES)
+#ASM_API = $(SPARC_API)
diff --git a/configs/linux-sparc5 b/configs/linux-sparc5
new file mode 100644
index 0000000000..e8848d26ab
--- /dev/null
+++ b/configs/linux-sparc5
@@ -0,0 +1,7 @@
+# Configuration for Linux on Sparc5
+
+include $(TOP)/configs/linux-sparc
+
+CONFIG_NAME = linux-sparc5
+
+ARCH_FLAGS += -mcpu=ultrasparc
diff --git a/configs/linux-static b/configs/linux-static
new file mode 100644
index 0000000000..85141ea643
--- /dev/null
+++ b/configs/linux-static
@@ -0,0 +1,26 @@
+# 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 =
+
+# Need to specify all libraries we may need
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm \
+ -L/usr/X11R6/lib/ -lX11 -lXmu -lXi -lpthread
+
diff --git a/configs/linux-ultrasparc b/configs/linux-ultrasparc
new file mode 100644
index 0000000000..d6c838ed92
--- /dev/null
+++ b/configs/linux-ultrasparc
@@ -0,0 +1,7 @@
+# Configuration for Linux on UltraSparc
+
+include $(TOP)/configs/linux-sparc
+
+CONFIG_NAME = linux-ultrasparc
+
+ARCH_FLAGS += -mv8 -mtune=ultrasparc
diff --git a/configs/linux-x86 b/configs/linux-x86
new file mode 100644
index 0000000000..18fa06101d
--- /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 0000000000..f18ce7a459
--- /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 0000000000..67c0391836
--- /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 = 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 0000000000..46e72c990a
--- /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 0000000000..02574303a9
--- /dev/null
+++ b/configs/linux-x86-64-static
@@ -0,0 +1,23 @@
+# 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 =
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
+ $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
diff --git a/configs/linux-x86-debug b/configs/linux-x86-debug
new file mode 100644
index 0000000000..d35012ffae
--- /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 0000000000..f2f8aeea60
--- /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$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..9915987da3
--- /dev/null
+++ b/configs/linux-x86-static
@@ -0,0 +1,23 @@
+# 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 =
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
+ $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
diff --git a/configs/netbsd b/configs/netbsd
new file mode 100644
index 0000000000..f5a61a8957
--- /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$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm
+
diff --git a/configs/openbsd b/configs/openbsd
new file mode 100644
index 0000000000..6ad6e2bd3d
--- /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$(TOP)/$(LIB_DIR) -l$(GL_LIB)
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..88a2ecc735
--- /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 -DPTHREADS -D_REENTRANT
+CXXFLAGS = -O2 -std ansi -ieee -DPTHREADS -D_REENTRANT
+
+GL_LIB_DEPS = -lX11 -lXext -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXext -lXmu -lXi -lpthread -lm
diff --git a/configs/osf1-static b/configs/osf1-static
new file mode 100644
index 0000000000..e00f7ce014
--- /dev/null
+++ b/configs/osf1-static
@@ -0,0 +1,17 @@
+# Configuration for OSF/1
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = osf1
+
+# Compiler and flags
+CC = cc
+CXX = cxx
+CFLAGS = -O2 -std1 -ieee_with_no_inexact -DUSE_XSHM -DPTHREADS -D_REENTRANT
+CXXFLAGS = -O2 -std ansi -ieee -DPTHREADS -D_REENTRANT
+MKLIB_OPTIONS = -static
+
+GL_LIB_DEPS =
+GLU_LIB_DEPS =
+GLUT_LIB_DEPS =
+APP_LIB_DEPS = -noso -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -so_archive -lX11 -lXext -lXmu -lXi -lpthread -lm -lcxx
diff --git a/configs/solaris-x86 b/configs/solaris-x86
new file mode 100644
index 0000000000..a5a7a63fa2
--- /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$(TOP)/$(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 0000000000..5ec7237f99
--- /dev/null
+++ b/configs/solaris-x86-gcc
@@ -0,0 +1,17 @@
+# Configuration for Solaris on x86 with gcc, dynamic libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = solaris-x86-gcc
+
+# Compiler and flags
+CC = gcc
+CXX = g++
+CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
+CXXFLAGS = -O3 -march=i486 -fPIC
+GLUT_CFLAGS = -fexceptions
+
+GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXi -lXmu
diff --git a/configs/solaris-x86-gcc-static b/configs/solaris-x86-gcc-static
new file mode 100644
index 0000000000..be02735f02
--- /dev/null
+++ b/configs/solaris-x86-gcc-static
@@ -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 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM
+CXXFLAGS = -O3 -march=i486 -fPIC
+GLUT_CFLAGS = -fexceptions
+MKLIB_OPTIONS = -static
+
+GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -R/usr/openwin/lib -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lX11 -lXext -lXi -lXmu
+
+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 0000000000..9e6627dc09
--- /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$(TOP)/$(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 0000000000..2022dd7e8e
--- /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$(TOP)/$(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 0000000000..9135fa7df6
--- /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$(TOP)/$(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 0000000000..6dd7539c6a
--- /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$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lCrun -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
diff --git a/configs/sunos5-64-gcc b/configs/sunos5-64-gcc
new file mode 100644
index 0000000000..c03903f8c9
--- /dev/null
+++ b/configs/sunos5-64-gcc
@@ -0,0 +1,11 @@
+# Configuration for 64-bit SunOS 5, with gcc
+
+include $(TOP)/configs/sunos5-gcc
+
+CONFIG_NAME = sunos5-64-gcc
+
+# only set vars that differ from sunos5-gcc config
+
+OPT_FLAGS = -O3 -m64 -mcpu=ultrasparc -mv8plus -mvis -g -fomit-frame-pointer -pipe
+
+ARCH_FLAGS = -m64
diff --git a/configs/sunos5-gcc b/configs/sunos5-gcc
new file mode 100644
index 0000000000..77b293c545
--- /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$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+APP_LIB_DEPS = -L$(TOP)/$(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 0000000000..2740805906
--- /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$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm -lCrun
+
diff --git a/configs/sunos5-v8 b/configs/sunos5-v8
new file mode 100644
index 0000000000..cdaf3eee73
--- /dev/null
+++ b/configs/sunos5-v8
@@ -0,0 +1,18 @@
+# Configuration for SunOS 5
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos5-v8
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
+CXXFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
+GLUT_CFLAGS = -DSOLARIS_2_4_BUG
+
+GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
diff --git a/configs/sunos5-v8-static b/configs/sunos5-v8-static
new file mode 100644
index 0000000000..5e428b1a58
--- /dev/null
+++ b/configs/sunos5-v8-static
@@ -0,0 +1,16 @@
+# Configuration for SunOS 5
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos5-v8-static
+
+MKLIB_OPTIONS = -static
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
+CXXFLAGS = -xarch=v8 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
+GLUT_CFLAGS = -DSOLARIS_2_4_BUG
+
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11 -lXext -lXmu -lXi -lpthread -lm -lCstd -lCrun
diff --git a/configs/sunos5-v9 b/configs/sunos5-v9
new file mode 100644
index 0000000000..ea2ab23e22
--- /dev/null
+++ b/configs/sunos5-v9
@@ -0,0 +1,23 @@
+# Configuration for SunOS 5, SPARC V9
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos5-v9
+
+MKLIB_OPTIONS = -cplusplus
+
+LIB_DIR = lib64
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
+CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
+GLUT_CFLAGS = -DSOLARIS_2_4_BUG
+
+GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm -lpthread
+GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm -lCstd -lCrun
+GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
+GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
+
diff --git a/configs/sunos5-v9-static b/configs/sunos5-v9-static
new file mode 100644
index 0000000000..4919570c79
--- /dev/null
+++ b/configs/sunos5-v9-static
@@ -0,0 +1,18 @@
+# Configuration for SunOS 5, SPARC V9, static libs
+
+include $(TOP)/configs/default
+
+CONFIG_NAME = sunos5-v9-static
+
+MKLIB_OPTIONS = -static -cplusplus
+
+LIB_DIR = lib64
+
+# Compiler and flags
+CC = cc
+CXX = CC
+CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS
+CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS
+GLUT_CFLAGS = -DSOLARIS_2_4_BUG
+
+APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lXt -lX11 -lXext -lXmu -lXi -lpthread -lm -lCstd -lCrun
diff --git a/configs/ultrix-gcc b/configs/ultrix-gcc
new file mode 100644
index 0000000000..5c0f22d7ae
--- /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$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXmu -lX11 -lXi -lm