gallium: Fix DRI driver build warnings under scons

When building more then one dri driver we would get warnings because
we where defining the same build target multiple times.

Also move all the dri scons targets related code into its own file.
This commit is contained in:
Jakob Bornecrantz 2010-03-26 14:19:48 +01:00
parent fb70f456fc
commit 711529153c
10 changed files with 117 additions and 87 deletions

View File

@ -1,9 +1,4 @@
Import('*')
#if env['dri']:
# SConscript([
# 'drm/SConscript',
# ])
if 'xlib' in env['winsys']:
SConscript([
@ -16,67 +11,10 @@ if 'gdi' in env['winsys']:
])
if env['dri']:
drienv = env.Clone()
drienv.Replace(CPPPATH = [
'#src/mesa/drivers/dri/common',
'#include',
'#include/GL/internal',
'#src/gallium/include',
'#src/gallium/auxiliary',
'#src/gallium/drivers',
'#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',
SConscript([
'SConscript.dri'
])
drienv.ParseConfig('pkg-config --cflags --libs libdrm')
COMMON_GALLIUM_SOURCES = [
'#src/mesa/drivers/dri/common/utils.c',
'#src/mesa/drivers/dri/common/vblank.c',
'#src/mesa/drivers/dri/common/dri_util.c',
'#src/mesa/drivers/dri/common/xmlconfig.c',
]
COMMON_BM_SOURCES = [
'#src/mesa/drivers/dri/common/dri_bufmgr.c',
'#src/mesa/drivers/dri/common/dri_drmpool.c',
]
Export([
'drienv',
'COMMON_GALLIUM_SOURCES',
'COMMON_BM_SOURCES',
])
if 'vmware' in env['winsys']:
SConscript([
'dri-vmwgfx/SConscript',
])
if 'i915' in env['winsys']:
SConscript([
'dri-i915/SConscript',
])
if 'i965' in env['winsys']:
SConscript([
'dri-i965/SConscript',
])
if 'radeon' in env['winsys']:
SConscript([
'dri-radeong/SConscript',
])
if 'xorg' in env['statetrackers']:
if 'vmware' in env['winsys']:
SConscript([

View File

@ -0,0 +1,79 @@
###################################
# SConcscript file for dri targets
Import('*')
drienv = env.Clone()
drienv.Replace(CPPPATH = [
'#src/mesa/drivers/dri/common',
'#include',
'#include/GL/internal',
'#src/gallium/include',
'#src/gallium/auxiliary',
'#src/gallium/drivers',
'#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',
])
drienv.ParseConfig('pkg-config --cflags --libs libdrm')
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_vblank = drienv.SharedObject(
target = 'vblank.o',
source = '#src/mesa/drivers/dri/common/vblank.c'
)
dri_common_dri_util = drienv.SharedObject(
target = 'dri_util.o',
source = '#src/mesa/drivers/dri/common/dri_util.c'
)
COMMON_DRI_DRM_OBJECTS = [
dri_common_utils,
dri_common_xmlconfig,
dri_common_vblank,
dri_common_dri_util,
]
Export([
'drienv',
'COMMON_DRI_DRM_OBJECTS',
])
if 'vmware' in env['winsys']:
SConscript([
'dri-vmwgfx/SConscript',
])
if 'i915' in env['winsys']:
SConscript([
'dri-i915/SConscript',
])
if 'i965' in env['winsys']:
SConscript([
'dri-i965/SConscript',
])
if 'radeon' in env['winsys']:
SConscript([
'dri-radeong/SConscript',
])

View File

@ -15,11 +15,12 @@ env.Prepend(LIBS = [
trace,
mesa,
glsl,
gallium
gallium,
COMMON_DRI_DRM_OBJECTS
])
env.LoadableModule(
target ='i915_dri.so',
source = COMMON_GALLIUM_SOURCES,
target = 'i915_dri.so',
source = 'dummy.c',
SHLIBPREFIX = '',
)

View File

View File

@ -8,16 +8,19 @@ env = drienv.Clone()
env.ParseConfig('pkg-config --cflags --libs libdrm_intel')
drivers = [
env.Prepend(LIBS = [
st_dri,
i965drm,
i965,
trace,
]
mesa,
glsl,
gallium,
COMMON_DRI_DRM_OBJECTS
])
env.LoadableModule(
target ='i965_dri.so',
source = COMMON_GALLIUM_SOURCES,
LIBS = drivers + mesa + gallium + env['LIBS'],
target = 'i965_dri.so',
source = 'dummy.c',
SHLIBPREFIX = '',
)

View File

View File

@ -8,10 +8,19 @@ env = drienv.Clone()
env.ParseConfig('pkg-config --cflags --libs libdrm_radeon')
drivers = r300 + trace + softpipe
env.Prepend(LIBS = [
st_dri,
radeonwinsys,
r300,
trace,
mesa,
glsl,
gallium,
COMMON_DRI_DRM_OBJECTS
])
env.SharedLibrary(
target ='radeon_dri.so',
source = COMMON_GALLIUM_SOURCES,
LIBS = st_dri + radeonwinsys + mesa + glsl + drivers + gallium + env['LIBS'],
source = 'dummy.c',
SHLIBPREFIX = '',
)

View File

View File

@ -6,19 +6,19 @@ if not 'svga' in env['drivers']:
env = drienv.Clone()
drivers = [
trace,
st_dri,
svgadrm,
svga,
mesa,
glsl,
gallium,
]
env.Prepend(LIBS = [
st_dri,
svgadrm,
svga,
trace,
mesa,
glsl,
gallium,
COMMON_DRI_DRM_OBJECTS
])
env.LoadableModule(
target ='vmwgfx_dri.so',
source = COMMON_GALLIUM_SOURCES,
LIBS = drivers + mesa + gallium + env['LIBS'],
target = 'vmwgfx_dri.so',
source = 'dummy.c',
SHLIBPREFIX = '',
)

View File