Added few more stubs so that control reaches to DestroyDevice().
[mesa.git] / src / util / SConscript
index 9653ef62ea13147abc15978448f670c78201113d..a4cbc2ffef776bb2adecdf95cf1bdd10cb550f94 100644 (file)
@@ -6,21 +6,92 @@ from sys import executable as python_cmd
 
 env = env.Clone()
 
+env.MSVC2013Compat()
+
 env.Prepend(CPPPATH = [
     '#include',
+    '#src',
+    '#src/mapi',
     '#src/mesa',
+    '#src/gallium/include',
+    '#src/gallium/auxiliary',
     '#src/util',
+    '#src/util/format',
+    env.Dir('format'), # Build path corresponding to src/util/format
+])
+
+env.CodeGenerate(
+    target = 'format_srgb.c',
+    script = 'format_srgb.py',
+    source = [],
+    command = python_cmd + ' $SCRIPT > $TARGET'
+)
+
+env.CodeGenerate(
+    target = 'format/u_format_pack.h',
+    script = 'format/u_format_table.py',
+    source = ['format/u_format.csv'],
+    command = python_cmd + ' $SCRIPT $SOURCE --header > $TARGET'
+)
+
+env.Depends('format/u_format_pack.h', [
+    'format/u_format_parse.py',
+    'format/u_format_pack.py',
+])
+
+env.CodeGenerate(
+    target = 'format/u_format_table.c',
+    script = 'format/u_format_table.py',
+    source = ['format/u_format.csv'],
+    command = python_cmd + ' $SCRIPT $SOURCE > $TARGET'
+)
+
+env.Depends('format/u_format_table.c', [
+    'format/u_format_parse.py',
+    'format/u_format_pack.py',
 ])
 
 # parse Makefile.sources
 source_lists = env.ParseSourceList('Makefile.sources')
 
-mesautil_sources = source_lists['MESA_UTIL_FILES']
+mesautil_sources = (
+    source_lists['MESA_UTIL_FILES'] +
+    source_lists['MESA_UTIL_GENERATED_FILES']
+)
+
+mesautilenv = env.Clone()
+
+if env['dri']:
+    mesautil_sources += source_lists['XMLCONFIG_FILES']
 
-mesautil = env.ConvenienceLibrary(
+    mesautilenv.AppendUnique(LIBS = [
+        'expat',
+    ])
+
+mesautil = mesautilenv.ConvenienceLibrary(
     target = 'mesautil',
     source = mesautil_sources,
 )
 
 env.Alias('mesautil', mesautil)
 Export('mesautil')
+
+
+u_atomic_test = env.Program(
+    target = 'u_atomic_test',
+    source = ['u_atomic_test.c'],
+)
+env.UnitTest("u_atomic_test", u_atomic_test)
+
+roundeven_test = env.Program(
+    target = 'roundeven_test',
+    source = ['roundeven_test.c'],
+)
+env.UnitTest("roundeven_test", roundeven_test)
+
+env.Prepend(LIBS = [mesautil])
+mesa_sha1_test = env.Program(
+    target = 'mesa-sha1_test',
+    source = ['mesa-sha1_test.c'],
+)
+env.UnitTest("mesa-sha1_test", mesa_sha1_test)