scons: build and use a single dri_common library
authorEmil Velikov <emil.l.velikov@gmail.com>
Tue, 17 Jun 2014 00:04:51 +0000 (01:04 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 10 Jul 2014 00:06:48 +0000 (01:06 +0100)
Rather than building two identical ones for dri-vmwgfx and dri-swrast
build a single library, and drop some duplication in the build.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Tested-by: Rob Clark <robclark@freedesktop.org>
Tested-by: Thomas Helland <thomashelland90 at gmail.com>
Acked-by: Tom Stellard <thomas.stellard@amd.com>
src/gallium/targets/dri-swrast/SConscript
src/gallium/targets/dri/SConscript
src/mesa/drivers/dri/common/SConscript

index ab71b7d..029bb03 100644 (file)
@@ -1,6 +1,6 @@
 Import('*')
 
-env = driswenv.Clone()
+env = drienv.Clone()
 
 env.Prepend(LIBS = [
     st_drisw,
@@ -10,7 +10,7 @@ env.Prepend(LIBS = [
     mesa,
     glsl,
     gallium,
-    COMMON_DRI_SW_OBJECTS
+    dri_common,
 ])
 
 if True:
index a78a1b1..6f01234 100644 (file)
@@ -35,7 +35,7 @@ env.Prepend(LIBS = [
     glsl,
     gallium,
     megadrivers_stub,
-    COMMON_DRI_DRM_OBJECTS
+    dri_common,
 ])
 
 module = env.LoadableModule(
index 2763380..d003139 100644 (file)
@@ -27,55 +27,22 @@ drienv.Replace(CPPPATH = [
     '#src/egl/drivers/dri',
 ])
 
-driswenv = drienv.Clone()
-driswenv.Append(CPPDEFINES = [
-    '__NOT_HAVE_DRM_H',
-    'HAVE_DLADDR',
+drienv.AppendUnique(LIBS = [
+    'expat',
 ])
 
+# if HAVE_DRI2
 drienv.PkgUseModules('DRM')
+# else
+#env.Append(CPPDEFINES = ['__NOT_HAVE_DRM_H'])
 
-dri_common_utils = drienv.SharedObject(
-    target = 'utils.o',
-    source = '#src/mesa/drivers/dri/common/utils.c'
-)
-
-dri_common_xmlconfig = drienv.SharedObject(
-    target = 'xmlconfig.o',
-    source = '#src/mesa/drivers/dri/common/xmlconfig.c'
-)
+sources = drienv.ParseSourceList('Makefile.sources', 'DRI_COMMON_FILES')
 
-dri_common_dri_util = drienv.SharedObject(
-    target = 'dri_util.o',
-    source = '#src/mesa/drivers/dri/common/dri_util.c'
-)
-
-dri_common_drisw_util = driswenv.SharedObject(
-    target = 'drisw_util.o',
-    source = '#src/mesa/drivers/dri/common/dri_util.c'
+dri_common = drienv.ConvenienceLibrary(
+       target = 'dri_common',
+       source = sources,
 )
 
-
-COMMON_DRI_SW_OBJECTS = [
-    dri_common_utils,
-    dri_common_xmlconfig,
-    dri_common_drisw_util,
-]
-
-COMMON_DRI_DRM_OBJECTS = [
-    dri_common_utils,
-    dri_common_xmlconfig,
-    dri_common_dri_util,
-]
-
-drienv.AppendUnique(LIBS = [
-    'expat',
-])
-
-driswenv.AppendUnique(LIBS = [
-    'expat',
-])
-
 #
 # megadrivers_stub
 #
@@ -104,8 +71,6 @@ env.Alias('megadrivers_stub', megadrivers_stub)
 
 Export([
     'drienv',
-    'driswenv',
-    'COMMON_DRI_SW_OBJECTS',
-    'COMMON_DRI_DRM_OBJECTS',
+    'dri_common',
     'megadrivers_stub',
 ])