radeon/r200/r300: attempt to move lock to common code
[mesa.git] / configs / linux-dri
index 955da949076e98fb1dc1fe7b24555be843b0ba85..8c325c7d3451bf5093c046db02a6dfece84304b3 100644 (file)
@@ -9,38 +9,66 @@ CONFIG_NAME = linux-dri
 CC = gcc
 CXX = g++
 
-WARN_FLAGS = -Wall
-OPT_FLAGS = -O
-SOURCE_FLAGS = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
-       -D_BSD_SOURCE -D_GNU_SOURCE
-PIC_FLAGS = -fPIC
+#MKDEP = /usr/X11R6/bin/makedepend
+#MKDEP = gcc -M
+#MKDEP_OPTIONS = -MF depend
 
-CFLAGS = -DDRI_NEW_INTERFACE_ONLY $(WARN_FLAGS) -g $(OPT_FLAGS) $(ASM_FLAGS) \
-       -std=c99 $(PIC_FLAGS) -ffast-math $(SOURCE_FLAGS) -DPTHREADS \
-       -DUSE_EXTERNAL_DXTN_LIB=1 \
-       -I/usr/X11R6/include -I/usr/X11R6/include/X11/extensions
+OPT_FLAGS  = -O -g
+PIC_FLAGS  = -fPIC
 
-CXXFLAGS = -DDRI_NEW_INTERFACE_ONLY $(WARN_FLAGS) -g $(OPT_FLAGS) -fPIC \
-       $(SOURCE_FLAGS)
+# 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)
+
+GLUT_CFLAGS = -fexceptions
+
+# Work around aliasing bugs - developers should comment this out
+CFLAGS += -fno-strict-aliasing
+CXXFLAGS += -fno-strict-aliasing
 
 ASM_SOURCES = 
 
 # Library/program dependencies
-DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl
-GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lm -lpthread -ldl
+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 -lXdamage -lXfixes \
+               -lm -lpthread -ldl $(LIBDRM_LIB)
+
 
-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
+# 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
-SRC_DIRS = mesa glu glut/glx glw glx/x11
+ifeq ($(USING_EGL), 1)
+SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
+PROGRAM_DIRS = egl xdemos
+else
+SRC_DIRS = glx/x11 mesa glu glut/glx glw
+PROGRAM_DIRS = xdemos
+endif
+
 DRIVER_DIRS = dri
-PROGRAM_DIRS = 
 WINDOW_SYSTEM=dri
 
-# ffb and gamma are missing because they have not been converted to use the new
+# 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 tdfx \
-          unichrome savage sis
-
+DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
+       savage sis tdfx trident unichrome ffb