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.veli...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev