st: expose KHR_blend_equation_advanced if PIPE_CAP_BLEND_EQUATION_ADVANCED
[mesa.git] / src / mesa / SConscript
index f72e380097a36b164bd1f9a2e65dabcc49f546a3..bba4101ea58354960c1f005e14c97d18d5b38cdf 100644 (file)
@@ -11,10 +11,10 @@ env.MSVC2013Compat()
 
 env.Append(CPPPATH = [
     '../compiler/nir',  # for generated nir_opcodes.h, etc
+    '../compiler/glsl',  # for generated headers
     '#/src',
     Dir('../mapi'), # src/mapi build path
     '#/src/mapi',
-    '#/src/glsl',
     Dir('.'), # src/mesa build path
     '#/src/mesa',
     Dir('main'),  # src/mesa/main/ build path
@@ -27,13 +27,7 @@ if env['platform'] == 'windows':
     env.Append(CPPDEFINES = [
         '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers
         'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
-    ])
-    if not env['gles']:
-        # prevent _glapi_* from being declared __declspec(dllimport)
-        env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
-else:
-    env.Append(CPPDEFINES = [
-        ('HAVE_DLOPEN', '1'),
+        '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared __declspec(dllimport)
     ])
 
 # parse Makefile.sources
@@ -46,6 +40,7 @@ env.CFile('program/program_parse.tab.c', 'program/program_parse.y')
 mesa_sources = (
     source_lists['MESA_FILES'] +
     source_lists['PROGRAM_FILES'] +
+    source_lists['PROGRAM_NIR_FILES'] +
     source_lists['STATETRACKER_FILES']
 )
 
@@ -54,7 +49,7 @@ GLAPI = '#src/mapi/glapi/'
 get_hash_header = env.CodeGenerate(
       target = 'main/get_hash.h',
       script = 'main/get_hash_generator.py',
-      source = GLAPI + 'gen/gl_and_es_API.xml',
+      source = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml'),
       command = python_cmd + ' $SCRIPT ' + ' -f $SOURCE > $TARGET'
 )
 
@@ -79,6 +74,13 @@ format_unpack = env.CodeGenerate(
       command = python_cmd + ' $SCRIPT ' + ' $SOURCE > $TARGET'
 )
 
+format_fallback = env.CodeGenerate(
+      target = 'main/format_fallback.c',
+      script = 'main/format_fallback.py',
+      source = 'main/formats.csv',
+      command = python_cmd + ' $SCRIPT ' + ' $SOURCE ' + ' $TARGET'
+)
+
 #
 # Assembly sources
 #
@@ -101,22 +103,22 @@ if env['platform'] not in ('cygwin', 'darwin', 'windows', 'haiku'):
     else:
         pass
 
-    # Generate matypes.h
-    if env['machine'] in ('x86', 'x86_64'):
-        # See http://www.scons.org/wiki/UsingCodeGenerators
-        gen_matypes = env.Program(
-            target = 'gen_matypes',
-            source = 'x86/gen_matypes.c',
-        )
-        matypes = env.Command(
-            'matypes.h',
-            gen_matypes,
-            gen_matypes[0].abspath + ' > $TARGET',
+# The marshal_generated.c file is generated from the GL/ES API.xml file
+for i in range(8):
+    env.CodeGenerate(
+        target = 'main/marshal_generated{0}.c'.format(i),
+        script = GLAPI + 'gen/gl_marshal.py',
+        source = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml'),
+        command = python_cmd + ' $SCRIPT -f $SOURCE -i {0} -n 8 > $TARGET'.format(i)
         )
-        # Add the dir containing the generated header (somewhere inside  the
-        # build dir) to the include path
-        env.Prepend(CPPPATH = [matypes[0].dir])
 
+# The marshal_generated.h file is generated from the GL/ES API.xml file
+env.CodeGenerate(
+    target = 'main/marshal_generated.h',
+    script = GLAPI + 'gen/gl_marshal_h.py',
+    source = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml'),
+    command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
+    )
 
 #
 # Libraries
@@ -130,5 +132,3 @@ mesa = env.ConvenienceLibrary(
 env.Alias('mesa', mesa)
 
 Export('mesa')
-
-SConscript('drivers/SConscript')