i965: Remove copy and pasted gen7_wm_constants state atom.
[mesa.git] / src / mesa / SConscript
index 64b706534f5e1acfbf3ce324ba34efd8927c118e..45414bcde8308e0a4d18ac116f5c3ff5f0c3d541 100644 (file)
@@ -3,6 +3,9 @@
 
 
 Import('*')
+import filecmp
+import os
+import subprocess
 
 env = env.Clone()
 
@@ -72,6 +75,7 @@ main_sources = [
     'main/ffvertex_prog.c',
     'main/fog.c',
     'main/formats.c',
+    'main/format_unpack.c',
     'main/framebuffer.c',
     'main/get.c',
     'main/getstring.c',
@@ -104,6 +108,7 @@ main_sources = [
     'main/scissor.c',
     'main/shaderapi.c',
     'main/shaderobj.c',
+    'main/shader_query.cpp',
     'main/shared.c',
     'main/state.c',
     'main/stencil.c',
@@ -113,7 +118,6 @@ main_sources = [
     'main/texcompress_s3tc.c',
     'main/texcompress_fxt1.c',
     'main/texenv.c',
-    'main/texfetch.c',
     'main/texformat.c',
     'main/texgen.c',
     'main/texgetimage.c',
@@ -125,6 +129,7 @@ main_sources = [
     'main/texstore.c',
     'main/texturebarrier.c',
     'main/transformfeedback.c',
+    'main/uniform_query.cpp',
     'main/uniforms.c',
     'main/varray.c',
     'main/version.c',
@@ -172,6 +177,7 @@ swrast_sources = [
     'swrast/s_span.c',
     'swrast/s_stencil.c',
     'swrast/s_texcombine.c',
+    'swrast/s_texfetch.c',
     'swrast/s_texfilter.c',
     'swrast/s_texrender.c',
     'swrast/s_texture.c',
@@ -303,6 +309,7 @@ program_sources = [
     'program/programopt.c',
     'program/sampler.cpp',
     'program/symbol_table.c',
+    'program/string_to_uint_map.cpp',
     program_lex,
     program_parse[0],
 ]
@@ -457,13 +464,41 @@ if env['gcc'] and env['platform'] != 'windows':
         env.Append(CPPPATH = [matypes[0].dir])
 
 
-# Create the git_sha1.h file if it doesn't exist already
-try:
-    f = open('main/git_sha1.h', 'r')
-    f.close()
-except IOError:
-    f = open('main/git_sha1.h', 'w')
+
+
+def write_git_sha1_h_file(filename):
+    """Mesa looks for a git_sha1.h file at compile time in order to display
+    the current git hash id in the GL_VERSION string.  This function tries
+    to retrieve the git hashid and write the header file.  An empty file
+    will be created if anything goes wrong."""
+
+    args = [ 'git', 'log', '-n', '1', '--oneline' ]
+    try:
+        (commit, foo) = subprocess.Popen(args, stdout=subprocess.PIPE).communicate()
+    except:
+        # git log command didn't work
+        if not os.path.exists(filename):
+            # create an empty file if none already exists
+            f = open(filename, "w")
+            f.close()
+        return
+
+    commit = '#define MESA_GIT_SHA1 "git-%s"\n' % commit[0:7]
+    tempfile = "git_sha1.h.tmp"
+    f = open(tempfile, "w")
+    f.write(commit)
     f.close()
+    if not os.path.exists(filename) or not filecmp.cmp(tempfile, filename):
+        # The filename does not exist or it's different from the new file,
+        # so replace old file with new.
+        if os.path.exists(filename):
+            os.remove(filename)
+        os.rename(tempfile, filename)
+    return
+
+
+# Create the git_sha1.h header file
+write_git_sha1_h_file("main/git_sha1.h")
 # and update CPPPATH so the git_sha1.h header can be found
 env.Append(CPPPATH = ["#" + env['build_dir'] + "/mesa/main"])