xlib: Get conditional compilation of drivers working again.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 2 Feb 2009 15:37:58 +0000 (15:37 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 2 Feb 2009 15:37:58 +0000 (15:37 +0000)
src/gallium/winsys/xlib/Makefile
src/gallium/winsys/xlib/SConscript
src/gallium/winsys/xlib/xlib.c

index 14d3849f7577b14a939cbd2e24eb704180c51b9c..5b71e6dc38c206564c51938104c9c0460e7b1e8d 100644 (file)
@@ -22,6 +22,12 @@ INCLUDE_DIRS = \
        -I$(TOP)/src/gallium/state_trackers/glx/xlib \
        -I$(TOP)/src/gallium/auxiliary
 
+DEFINES = \
+       -DGALLIUM_SOFTPIPE \
+       -DGALLIUM_CELL \
+       -DGALLIUM_TRACE \
+       -DGALLIUM_BRW
+
 XLIB_WINSYS_SOURCES = \
        xlib.c \
        xlib_cell.c \
@@ -49,10 +55,10 @@ LIBS = \
 .SUFFIXES : .cpp
 
 .c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
+       $(CC) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) $< -o $@
 
 .cpp.o:
-       $(CXX) -c $(INCLUDE_DIRS) $(CXXFLAGS) $< -o $@
+       $(CXX) -c $(INCLUDE_DIRS) $(DEFINES) $(CXXFLAGS) $< -o $@
 
 
 
index 434572fcd00c1e2075cb8d2b6d1ff6bfc937dbec..0fb4b50f634c30286f67957d3b91933319a8c181 100644 (file)
@@ -13,24 +13,39 @@ if env['platform'] == 'linux' \
     env.Append(CPPPATH = [
         '#/src/mesa',
         '#/src/mesa/main',
+        '#src/gallium/state_trackers/glx/xlib',
     ])
 
-    sources = [];
+    env.Append(CPPDEFINES = ['USE_XSHM'])
 
-    drivers = [];
+    sources = [
+        'xlib.c',
+    ]
+
+    drivers = []
         
     if 'softpipe' in env['drivers']:
+        env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE')
+        sources += ['xlib_softpipe.c']
         drivers += [softpipe]
 
     if 'i965simple' in env['drivers']:
-        drivers += [i965simple]
+        env.Append(CPPDEFINES = 'GALLIUM_I965SIMPLE')
         sources += [
-            'brw_aub.c',
-            'xm_winsys_aub.c',
-            ]
+            'xlib_brw_aub.c',
+            'xlib_brw_context.c',
+            'xlib_brw_screen.c',
+        ]
+        drivers += [i965simple]
         
+    if 'cell' in env['drivers']:
+        env.Append(CPPDEFINES = 'GALLIUM_CELL')
+        sources += ['xlib_cell.c']
+        drivers += [cell]
+
     if 'trace' in env['drivers']:
         env.Append(CPPDEFINES = 'GALLIUM_TRACE')
+        sources += ['xlib_trace.c']
         drivers += [trace]
 
     # TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
index 4982230000c7c93b9bc62f8ed0508060e2598ff5..da722282156480a701bc4c635e3669607ad92634 100644 (file)
@@ -73,16 +73,24 @@ static void _init( void )
 
    switch (xlib_mode) {
    case MODE_TRACE:
+#if defined(GALLIUM_TRACE) && defined(GALLIUM_SOFTPIPE)
       xmesa_set_driver( &xlib_trace_driver );
+#endif
       break;
    case MODE_BRW:
+#if defined(GALLIUM_BRW)
       xmesa_set_driver( &xlib_brw_driver );
+#endif
       break;
    case MODE_CELL:
+#if defined(GALLIUM_CELL)
       xmesa_set_driver( &xlib_cell_driver );
+#endif
       break;
    case MODE_SOFTPIPE:
+#if defined(GALLIUM_SOFTPIPE)
       xmesa_set_driver( &xlib_softpipe_driver );
+#endif
       break;
    default:
       assert(0);