[Mesa-dev] [RFC PATCH 05/37] scons: move scons from gallium/targets/ to mesa/drivers/dri/common/

Emil Velikov emil.l.velikov at gmail.com
Sat Nov 2 12:00:35 PDT 2013


In a preparation to build common_dri_{drm,sw} is a similar fasion to
other build systems and share the same Makefile.sources.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
Strugling to get our custom builder ConvenienceLibrary to build
separate objects, depending on the env. Does anyone have ideas ?

Cheers
Emil
---
 src/gallium/SConscript                    |   1 -
 src/gallium/targets/SConscript.dri        |  83 ------------------
 src/gallium/targets/dri-i915/SConscript   |   7 ++
 src/gallium/targets/dri-swrast/SConscript |   7 ++
 src/gallium/targets/dri-vmwgfx/SConscript |   7 ++
 src/mesa/drivers/SConscript               |   5 +-
 src/mesa/drivers/dri/common/SConscript    | 136 ++++++++++++++++++++++++++++++
 7 files changed, 161 insertions(+), 85 deletions(-)
 delete mode 100644 src/gallium/targets/SConscript.dri
 create mode 100644 src/mesa/drivers/dri/common/SConscript

diff --git a/src/gallium/SConscript b/src/gallium/SConscript
index 9a25cca..fd68d15 100644
--- a/src/gallium/SConscript
+++ b/src/gallium/SConscript
@@ -127,7 +127,6 @@ if not env['embedded']:
 
     if env['dri']:
         SConscript([
-            'targets/SConscript.dri',
             'targets/dri-swrast/SConscript',
             'targets/dri-vmwgfx/SConscript',
         ])
diff --git a/src/gallium/targets/SConscript.dri b/src/gallium/targets/SConscript.dri
deleted file mode 100644
index 8b15532..0000000
--- a/src/gallium/targets/SConscript.dri
+++ /dev/null
@@ -1,83 +0,0 @@
-###################################
-# SConcscript file for dri targets
-
-Import('*')
-
-drienv = env.Clone()
-
-drienv.Replace(CPPPATH = [
-    '#src/mesa/drivers/dri/common',
-    xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h
-    '#include',
-    '#include/GL/internal',
-    '#src/mapi',
-    '#src/gallium/include',
-    '#src/gallium/auxiliary',
-    '#src/gallium/drivers',
-    '#src/gallium/winsys',
-    '#src/mesa',
-    '#src/mesa/main',
-    '#src/mesa/glapi',
-    '#src/mesa/math',
-    '#src/mesa/transform',
-    '#src/mesa/shader',
-    '#src/mesa/swrast',
-    '#src/mesa/swrast_setup',
-    '#src/egl/main',
-    '#src/egl/drivers/dri',
-])
-
-driswenv = drienv.Clone()
-driswenv.Append(CPPDEFINES = [
-    '__NOT_HAVE_DRM_H',
-])
-
-drienv.PkgUseModules('DRM')
-
-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'
-)
-
-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'
-)
-
-
-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',
-])
-
-Export([
-    'drienv',
-    'driswenv',
-    'COMMON_DRI_SW_OBJECTS',
-    'COMMON_DRI_DRM_OBJECTS',
-])
diff --git a/src/gallium/targets/dri-i915/SConscript b/src/gallium/targets/dri-i915/SConscript
index b3bd3dd..77dca6c 100644
--- a/src/gallium/targets/dri-i915/SConscript
+++ b/src/gallium/targets/dri-i915/SConscript
@@ -1,6 +1,8 @@
 Import('*')
 
 env = drienv.Clone()
+# XXX: Really needed ? or go with env.Clone()
+#env = drienv.Clone()
 
 env.PkgUseModules('DRM_INTEL')
 
@@ -18,8 +20,13 @@ env.Prepend(LIBS = [
     glsl,
     gallium,
     COMMON_DRI_DRM_OBJECTS
+#    common_dri_drm
 ])
 
+#env.AppendUnique(LIBS = [
+#    'expat',
+#])
+
 module = env.LoadableModule(
     target = 'i915_dri.so',
     source = 'target.c',
diff --git a/src/gallium/targets/dri-swrast/SConscript b/src/gallium/targets/dri-swrast/SConscript
index 8ddd14e..3a70e5a 100644
--- a/src/gallium/targets/dri-swrast/SConscript
+++ b/src/gallium/targets/dri-swrast/SConscript
@@ -1,6 +1,8 @@
 Import('*')
 
 env = driswenv.Clone()
+# XXX: Really needed ? or go with env.Clone()
+#env = driswenv.Clone()
 
 env.Append(CPPPATH = [
     '#/src/gallium/winsys/sw/dri',
@@ -15,6 +17,7 @@ env.Prepend(LIBS = [
     glsl,
     gallium,
     COMMON_DRI_SW_OBJECTS
+#    common_dri_sw
 ])
 
 if True:
@@ -29,6 +32,10 @@ if env['llvm']:
     env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
     env.Prepend(LIBS = [llvmpipe])
 
+#env.AppendUnique(LIBS = [
+#    'expat',
+#])
+
 swrast_sources = [
     'swrast_drm_api.c'
 ]
diff --git a/src/gallium/targets/dri-vmwgfx/SConscript b/src/gallium/targets/dri-vmwgfx/SConscript
index 0d19944..455ef70 100644
--- a/src/gallium/targets/dri-vmwgfx/SConscript
+++ b/src/gallium/targets/dri-vmwgfx/SConscript
@@ -1,6 +1,8 @@
 Import('*')
 
 env = drienv.Clone()
+# XXX: Really needed ? or go with env.Clone()
+#env = drienv.Clone()
 
 if env['suncc']:
     print 'warning: not building dri-vmwgfx'
@@ -22,8 +24,13 @@ env.Prepend(LIBS = [
     glsl,
     gallium,
     COMMON_DRI_DRM_OBJECTS
+#    common_dri_drm
 ])
 
+#env.AppendUnique(LIBS = [
+#    'expat',
+#])
+
 module = env.LoadableModule(
     target = 'vmwgfx_dri.so',
     source = 'target.c',
diff --git a/src/mesa/drivers/SConscript b/src/mesa/drivers/SConscript
index 355e680..5db5957 100644
--- a/src/mesa/drivers/SConscript
+++ b/src/mesa/drivers/SConscript
@@ -6,7 +6,10 @@ if env['x11']:
     SConscript('x11/SConscript')
 
 if env['dri']:
-    SConscript('dri/common/xmlpool/SConscript')
+    SConscript([
+        'dri/common/xmlpool/SConscript',
+        'dri/common/SConscript',
+    ])
 
 if env['platform'] == 'windows':
     SConscript('windows/gdi/SConscript')
diff --git a/src/mesa/drivers/dri/common/SConscript b/src/mesa/drivers/dri/common/SConscript
new file mode 100644
index 0000000..46d8741
--- /dev/null
+++ b/src/mesa/drivers/dri/common/SConscript
@@ -0,0 +1,136 @@
+###################################
+# SConcscript file for dri targets
+
+Import('*')
+
+drienv = env.Clone()
+
+drienv.Replace(CPPPATH = [
+    '#src/mesa/drivers/dri/common',
+    xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h
+    '#include',
+    '#include/GL/internal',
+    '#src/mapi',
+    '#src/gallium/include',
+    '#src/gallium/auxiliary',
+    '#src/gallium/drivers',
+    '#src/gallium/winsys',
+    '#src/mesa',
+    '#src/mesa/main',
+    '#src/mesa/glapi',
+    '#src/mesa/math',
+    '#src/mesa/transform',
+    '#src/mesa/shader',
+    '#src/mesa/swrast',
+    '#src/mesa/swrast_setup',
+    '#src/egl/main',
+    '#src/egl/drivers/dri',
+])
+
+driswenv = drienv.Clone()
+driswenv.Append(CPPDEFINES = [
+    '__NOT_HAVE_DRM_H',
+])
+
+drienv.PkgUseModules('DRM')
+
+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'
+)
+
+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'
+)
+
+
+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',
+])
+
+Export([
+    'drienv',
+    'driswenv',
+    'COMMON_DRI_SW_OBJECTS',
+    'COMMON_DRI_DRM_OBJECTS',
+])
+
+######################################
+#  convinience library rewrite
+#Import('*')
+#
+#drienv = env.Clone()
+#drienv.Replace(CPPPATH = [
+#    '#src/mesa/drivers/dri/common',
+#    xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h
+#    '#include',
+#    '#include/GL/internal',
+#    '#src/mapi',
+#    '#src/gallium/include',
+#    '#src/gallium/auxiliary',
+#    '#src/gallium/drivers',
+#    '#src/gallium/winsys',
+#    '#src/mesa',
+#    '#src/mesa/main',
+#    '#src/mesa/glapi',
+#    '#src/mesa/math',
+#    '#src/mesa/transform',
+#    '#src/mesa/shader',
+#    '#src/mesa/swrast',
+#    '#src/mesa/swrast_setup',
+#    '#src/egl/main',
+#    '#src/egl/drivers/dri',
+#])
+## cleanup or use the INCLUDES from the Makefile.sources ?
+#
+#
+#driswenv = drienv.Clone()
+#driswenv.Append(CPPDEFINES = [
+#    '__NOT_HAVE_DRM_H',
+#    'SWRAST_NO_DRM',
+#])
+#drienv.PkgUseModules('DRM')
+#
+#common_dri_drm = drienv.ConvenienceLibrary(
+#	target = 'common_dri_drm',
+#	source = env.ParseSourceList('Makefile.sources', 'DRI_COMMON_FILES')
+#	)
+#
+#common_dri_sw = driswenv.ConvenienceLibrary(
+#	target = 'common_dri_sw',
+#	source = env.ParseSourceList('Makefile.sources', 'DRI_COMMON_FILES')
+#	)
+#
+#Export([
+#    'drienv',
+#    'driswenv',
+#    'common_dri_drm',
+#    'common_dri_sw',
+#])
-- 
1.8.4.2



More information about the mesa-dev mailing list