Home | History | Annotate | Line # | Download | only in src
      1 import filecmp
      2 import os
      3 import subprocess
      4 from sys import executable as python_cmd
      5 
      6 Import('*')
      7 
      8 if env['platform'] == 'windows':
      9     SConscript('getopt/SConscript')
     10 
     11 SConscript('util/xmlpool/SConscript')
     12 SConscript('util/SConscript')
     13 SConscript('compiler/SConscript')
     14 
     15 if env['hostonly']:
     16     # We are just compiling the things necessary on the host for cross
     17     # compilation
     18     Return()
     19 
     20 
     21 def write_git_sha1_h_file(filename):
     22     """Mesa looks for a git_sha1.h file at compile time in order to display
     23     the current git hash id in the GL_VERSION string.  This function tries
     24     to retrieve the git hashid and write the header file.  An empty file
     25     will be created if anything goes wrong."""
     26 
     27     args = [ python_cmd, Dir('#').abspath + '/bin/git_sha1_gen.py', '--output', filename ]
     28     try:
     29         subprocess.call(args)
     30     except:
     31         print("Warning: exception in write_git_sha1_h_file()")
     32         return
     33 
     34 
     35 # Create the git_sha1.h header file
     36 write_git_sha1_h_file("git_sha1.h")
     37 # and update CPPPATH so the git_sha1.h header can be found
     38 env.Append(CPPPATH = ["#" + env['build_dir']])
     39 
     40 
     41 
     42 if env['platform'] != 'windows':
     43     SConscript('loader/SConscript')
     44 
     45 SConscript('mapi/glapi/gen/SConscript')
     46 SConscript('mapi/glapi/SConscript')
     47 
     48 # Haiku C++ libGL dispatch (renderers depend on libgl)
     49 if env['platform'] in ['haiku']:
     50     SConscript('hgl/SConscript')
     51 
     52 SConscript('mesa/SConscript')
     53 
     54 if not env['embedded']:
     55     if env['platform'] not in ('cygwin', 'darwin', 'freebsd', 'haiku', 'windows'):
     56         SConscript('glx/SConscript')
     57     if env['platform'] == 'haiku':
     58         SConscript('egl/SConscript')
     59 
     60 SConscript('gallium/SConscript')
     61 
     62