Package Yab :: Module GNU :: Class Toolset
[show private | hide private]
[frames | no frames]

Class Toolset

Delegator --+        
            |        
     BuildEnv --+    
                |    
      ToolsetBase --+
                    |
                   Toolset

Known Subclasses:
Toolset, Toolset

Method Summary
  __init__(self, id, prog_extension, **kw)
'id' is a unique id for any subclass.
  calc_env(self)
  make_c_obj(self, sources, locate, delegator)
Create a build target that represents a C++ object file.
  make_cpp_obj(self, sources, locate, delegator)
Create a build target that represents a C++ object file.
  make_executable(self, prog_name, locate, def_file, delegator)
Create a build target that represents an executable program.
  make_shared_lib(self, lib_name, locate, version, delegator)
  make_static_lib(self, lib_name, locate, delegator)
  use_std_cpp(self, delegator)
Specify that the standard C++ template library will be used.
    Inherited from ToolsetBase
  __getattr__(self, attr)
  __setattr__(self, attr, value)
  command(self, command, targets, sources, clean, in_dir, locate, delegator)
Construct a target object that represents the result of running the given command.
  copy(self, target, source, delegator)
Create a build target that represents copying the source to the target.
  delay_load(self, lib_name, delegator)
Specify that the given library should be loaded on an as needed basis instead of at startup time.
  get_toolset(self, delegator)
Used to get a handle to the toolset object from a generated target
  get_variant(self, delegator)
Return the variant we are currently building.
  print_features(self)
Print the feature values set on this toolset.
  shared_linkable(self, delegator)
Return true if a target can be included in a shared library.
  test_compiler(self, test_name, code, ext, file, run_it)
Run a test against the C compiler in this toolset.
    Inherited from BuildEnv
  get_env(self)
This function will combine the environment variables with those of its delegate and return a dictionary containing the merged result.
  get_locate(self)
Locate can not be a build variable because it is needed when the build environment is constructed in order to specify where the targets reside.
  run_command(self, unparsed_command, in_dir, real_command, globals)
Parse the command, replacing $ expressions, and run it.
  subst_vars(self, cmd, globals)
Take a command string and replace the $ forms with evaluated pythod results.

Class Variable Summary
    Inherited from BuildEnv
SRE_Pattern escape_re = \$\{([^\}]*)\}
SRE_Pattern escape_re2 = \$([_A-Za-z0-9]+)

Method Details

__init__(self, id, prog_extension, **kw)
(Constructor)

'id' is a unique id for any subclass. 'prog_extension' is the file extension used for executable files.
Overrides:
Yab.Core.ToolsetBase.__init__

make_c_obj(self, sources, locate=None, delegator=None)

Create a build target that represents a C++ object file.

You probably shouldn't call this directly unless you are going to ship the object file as part of the distribution. Instead, call add_sources on an executable or library target.
Overrides:
Yab.Core.ToolsetBase.make_cpp_obj (inherited documentation)

make_cpp_obj(self, sources, locate=None, delegator=None)

Create a build target that represents a C++ object file.

You probably shouldn't call this directly unless you are going to ship the object file as part of the distribution. Instead, call add_sources on an executable or library target.
Overrides:
Yab.Core.ToolsetBase.make_cpp_obj (inherited documentation)

make_executable(self, prog_name, locate=None, def_file=None, delegator=None)

Create a build target that represents an executable program.
Overrides:
Yab.Core.ToolsetBase.make_executable (inherited documentation)

use_std_cpp(self, delegator=None)

Specify that the standard C++ template library will be used.

Checks the appropriate compiler settings and adds the appropriate libraries for each platform
Overrides:
Yab.Core.ToolsetBase.use_std_cpp (inherited documentation)

Generated by Epydoc 2.0 on Fri Aug 15 16:30:50 2003 http://epydoc.sf.net