X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2FSConscript;h=a277e8b79254588e8fd4dc5e1d8fad2e4ef340a3;hb=7d48219b3ac78895315ea6cef3ced3e55d3d92f0;hp=e4cda2fd03e0dd203bcfc1264b343b9da1132db7;hpb=e4fb332af1e62db930bc9a435cab3c0aa32cdea8;p=mesa.git diff --git a/src/SConscript b/src/SConscript index e4cda2fd03e..a277e8b7925 100644 --- a/src/SConscript +++ b/src/SConscript @@ -1,10 +1,16 @@ -Import('*') +import filecmp +import os +import subprocess +from sys import executable as python_cmd +Import('*') if env['platform'] == 'windows': SConscript('getopt/SConscript') -SConscript('glsl/SConscript') +SConscript('util/xmlpool/SConscript') +SConscript('util/SConscript') +SConscript('compiler/SConscript') if env['hostonly']: # We are just compiling the things necessary on the host for cross @@ -12,22 +18,58 @@ if env['hostonly']: Return() +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.""" + + tempfile = "git_sha1.h.tmp" + with open(tempfile, "w") as f: + args = [ python_cmd, Dir('#').abspath + '/bin/git_sha1_gen.py' ] + try: + subprocess.Popen(args, stdout=f).wait() + except: + print("Warning: exception in write_git_sha1_h_file()") + return + + 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("git_sha1.h") +# and update CPPPATH so the git_sha1.h header can be found +env.Append(CPPPATH = ["#" + env['build_dir']]) + + + +if env['platform'] != 'windows': + SConscript('loader/SConscript') + # When env['gles'] is set, the targets defined in mapi/glapi/SConscript are not # used. libgl-xlib and libgl-gdi adapt themselves to use the targets defined # in mapi/glapi-shared/SConscript. mesa/SConscript also adapts itself to # enable OpenGL ES support. +SConscript('mapi/glapi/gen/SConscript') SConscript('mapi/glapi/SConscript') -SConscript('mesa/SConscript') -SConscript('mapi/vgapi/SConscript') +# Haiku C++ libGL dispatch (renderers depend on libgl) +if env['platform'] in ['haiku']: + SConscript('hgl/SConscript') + +SConscript('mesa/SConscript') if not env['embedded']: - if env['platform'] not in ('cygwin', 'darwin', 'haiku', 'windows'): + if env['platform'] not in ('cygwin', 'darwin', 'freebsd', 'haiku', 'windows'): SConscript('glx/SConscript') - if env['platform'] not in ['darwin', 'haiku', 'sunos']: - SConscript('egl/main/SConscript') - if env['platform'] not in ['darwin']: - SConscript('glu/sgi/SConscript') + if env['platform'] == 'haiku': + SConscript('egl/SConscript') if env['gles']: SConscript('mapi/shared-glapi/SConscript')