Package wafadmin :: Module Build :: Class BuildContext
[hide private]
[frames] | no frames]

Class BuildContext

source code

object --+
         |
        BuildContext

holds the dependency tree

Instance Methods [hide private]
 
__init__(self)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
load(self)
load the cache from the disk
source code
 
save(self)
store the cache on disk, see self.load
source code
 
clean(self) source code
 
compile(self) source code
 
install(self)
this function is called for both install and uninstall
source code
 
add_subdirs(self, dirs) source code
 
new_task_gen(self, *k, **kw) source code
 
load_envs(self) source code
 
setup(self, tool, tooldir=None, funs=None)
setup tools for build process
source code
 
init_variants(self) source code
 
load_dirs(self, srcdir, blddir)
this functions should be the start of everything
source code
 
rescan(self, src_dir_node)
first list the files in the src dir and update the nodes
source code
 
listdir_src(self, parent_node, path) source code
 
listdir_bld(self, parent_node, path, variant)
in this function we do not add timestamps but we remove them when the files no longer exist (file removed in the build dir)
source code
 
get_env(self) source code
 
set_env(self, name, val) source code
 
add_manual_dependency(self, path, value) source code
 
launch_node(self)
return the launch directory as a node
source code
 
glob(self, pattern, relative=True)
files matching the pattern, seen from the current folder
source code
 
add_group(self) source code
 
hash_env_vars(self, env, vars_lst)
hash environment variables ['CXX', ..] -> [env['CXX'], ..] -> md5()
source code
 
name_to_obj(self, name)
retrieve a task generator from its name or its target name remember that names must be unique
source code
 
flush(self, all=1)
tell the task generators to create the tasks
source code
 
env_of_name(self, name) source code
 
progress_line(self, state, total, col1, col2) source code
 
do_install(self, src, tgt, chmod=0644)
returns true if the file was effectively installed or uninstalled, false otherwise
source code
 
get_install_path(self, path, env=None)
installation path prefixed by the destdir, the variables like in '${PREFIX}/bin' are substituted
source code
 
install_files(self, path, files, env=None, chmod=0644, relative_trick=False) source code
 
install_as(self, path, srcfile, env=None, chmod=0644)
returns True if the file was effectively installed, False otherwise
source code
 
symlink_as(self, path, src, env=None) source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Variables [hide private]
  env = property(get_env, set_env)
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Overrides: object.__init__
(inherited documentation)

rescan(self, src_dir_node)

source code 

first list the files in the src dir and update the nodes

  • for each variant build dir (multiple build dirs):
    • list the files in the build dir, update the nodes

this makes (n variant)+srdir to scan (at least 2 folders)

listdir_src(self, parent_node, path)

source code 
Parameters:
  • parent_node, [Node] - parent node of path to scan.
  • path, [string] - path to folder to scan.