d76a51274ec7d0a7a08b1e5c8334e50da5e21e52
[senf.git] / senfscons / InstallSubdir.py
1 import SCons.Errors
2
3 def InstallSubdir(env, target=None, source=None, base='#', **kw):
4     builds = []
5     target = env.arg2nodes(target, env.fs.Dir)
6     if len(target) != 1:
7         raise SCons.Errors.UserError, "Need exactly one target for InstallWithDir()"
8     base = env.arg2nodes(base, env.fs.Dir)[0]
9     for src in env.arg2nodes(source, env.fs.Entry):
10         builds.extend(apply(env.Install, (target[0].Dir(src.dir.get_path(base)), src), kw))
11     return builds
12
13 def generate(env):
14     env['BUILDERS']['InstallSubdir'] = InstallSubdir
15
16 def exists(env):
17     return 1