util: Explicitly call the unpack functions from inside bptc pack/unpack.
[mesa.git] / src / util / SConscript
index 00bd89c013839385981561e160880756e1a62b20..a4cbc2ffef776bb2adecdf95cf1bdd10cb550f94 100644 (file)
@@ -10,13 +10,14 @@ env.MSVC2013Compat()
 
 env.Prepend(CPPPATH = [
     '#include',
-    xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h
     '#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(
@@ -26,20 +27,46 @@ env.CodeGenerate(
     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'] +
-    source_lists['MESA_UTIL_GENERATED_FILES'] +
-    source_lists['XMLCONFIG_FILES']
+    source_lists['MESA_UTIL_GENERATED_FILES']
 )
 
 mesautilenv = env.Clone()
 
-mesautilenv.AppendUnique(LIBS = [
-    'expat',
-])
+if env['dri']:
+    mesautil_sources += source_lists['XMLCONFIG_FILES']
+
+    mesautilenv.AppendUnique(LIBS = [
+        'expat',
+    ])
 
 mesautil = mesautilenv.ConvenienceLibrary(
     target = 'mesautil',
@@ -61,3 +88,10 @@ roundeven_test = env.Program(
     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)