Fetching Values From a Construction Environment

You can fetch individual construction variables using the normal syntax for accessing individual named items in a Python dictionary:

      env = Environment()
      print "CC is:", env['CC']
   

This example SConstruct file doesn't build anything, but because it's actually a Python script, it will print the value of CC for us:

      % scons -Q
      CC is: cc
      scons: `.' is up to date.
   

A construction environment, however, is actually a Python object with associated methods, etc. If you want to have direct access to only the dictionary of construction variables, you can fetch this using the Dictionary method:

      env = Environment(FOO = 'foo', BAR = 'bar')
      dict = env.Dictionary()
      for key in ['OBJSUFFIX', 'LIBSUFFIX', 'PROGSUFFIX']:
          print "key = %s, value = %s" % (key, dict[key])
   

This SConstruct file will print the specified dictionary items for us on POSIX systems as follows:

      % scons -Q
      key = OBJSUFFIX, value = .o
      key = LIBSUFFIX, value = .a
      key = PROGSUFFIX, value = 
      scons: `.' is up to date.
   

And on Win32:

      C:\>scons -Q
      key = OBJSUFFIX, value = .obj
      key = LIBSUFFIX, value = .lib
      key = PROGSUFFIX, value = .exe
      scons: `.' is up to date.