util/format: expose generated format packing functions through a header
[mesa.git] / src / util / SConscript
index 73f34303976a0943455bdc49e10c97b4d84e1e4a..410279d2d2d1a298fffe5d9f2663af55aa64189c 100644 (file)
@@ -16,6 +16,7 @@ env.Prepend(CPPPATH = [
     '#src/gallium/include',
     '#src/gallium/auxiliary',
     '#src/util',
+    '#src/util/format',
 ])
 
 env.CodeGenerate(
@@ -25,6 +26,30 @@ 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')
 
@@ -33,12 +58,16 @@ mesautil_sources = (
     source_lists['MESA_UTIL_GENERATED_FILES']
 )
 
-# XXX We don't yet have scons support for detecting any of the various
-# HAVE_SHA1_* definitions, so for now simply disable the shader cache.
-if False:
-    mesautil_sources += source_lists['MESA_UTIL_SHADER_CACHE_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,
 )
@@ -58,3 +87,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)