mesa: allow for extra per-context init
[mesa.git] / configs / linux-dri
1 # -*-makefile-*-
2 # Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
3
4 include $(TOP)/configs/default
5
6 CONFIG_NAME = linux-dri
7
8 # Compiler and flags
9 CC = gcc
10 CXX = g++
11
12 #MKDEP = /usr/X11R6/bin/makedepend
13 #MKDEP = gcc -M
14 #MKDEP_OPTIONS = -MF depend
15
16 OPT_FLAGS = -O -g
17 PIC_FLAGS = -fPIC
18
19 # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
20 ARCH_FLAGS ?=
21
22 DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
23 -D_BSD_SOURCE -D_GNU_SOURCE \
24 -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
25 -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
26 -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
27
28 X11_INCLUDES = -I/usr/X11R6/include
29
30 CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
31 $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)
32
33 CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
34
35 GLUT_CFLAGS = -fexceptions
36
37 # Work around aliasing bugs - developers should comment this out
38 CFLAGS += -fno-strict-aliasing
39 CXXFLAGS += -fno-strict-aliasing
40
41 ASM_SOURCES =
42
43 # Library/program dependencies
44 EXTRA_LIB_PATH=-L/usr/X11R6/lib
45
46 LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
47 LIBDRM_LIB = `pkg-config --libs libdrm`
48 DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
49 GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
50 -lm -lpthread -ldl $(LIBDRM_LIB)
51
52
53 # This is now 0 by default since it seems to confuse the hell out of people
54 # and generate a lot of extra noise on bugzilla. If you need to build with
55 # EGL, do 'make linux-dri USING_EGL=1'
56
57 USING_EGL=0
58
59 # Directories
60 ifeq ($(USING_EGL), 1)
61 SRC_DIRS = egl glx/x11 mesa glu glut/glx glw
62 PROGRAM_DIRS = egl xdemos
63 else
64 SRC_DIRS = glx/x11 mesa glu glut/glx glw
65 PROGRAM_DIRS = xdemos
66 endif
67
68 DRIVER_DIRS = dri
69 WINDOW_SYSTEM=dri
70
71 # gamma are missing because they have not been converted to use the new
72 # interface.
73 DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
74 savage sis tdfx trident unichrome ffb