[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