###################################
# SConcscript file for dri targets

Import('*')

drienv = env.Clone()

drienv.Replace(CPPPATH = [
	'#src/mesa/drivers/dri/common',
	'#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',
])

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'
)

dri_common_drisw_util = drienv.SharedObject(
	target = 'drisw_util.o',
	source = '#src/mesa/drivers/dri/common/drisw_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_vblank,
	dri_common_dri_util,
]

drienv.AppendUnique(LIBS = [
    'expat',
    'talloc',
])

Export([
	'drienv',
	'COMMON_DRI_SW_OBJECTS',
	'COMMON_DRI_DRM_OBJECTS',
])

SConscript([
	'dri-swrast/SConscript',
])

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 'r600' in env['winsys']:
	SConscript([
		'dri-r600/SConscript',
	])
