X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsite_tools%2FInstallSubdir.py;fp=site_scons%2Fsite_tools%2FInstallSubdir.py;h=d76a51274ec7d0a7a08b1e5c8334e50da5e21e52;hb=d33cd468d4ece7c0c98270b4d1a9858e5a94510d;hp=0000000000000000000000000000000000000000;hpb=8a3a987daec0028a9e41abd09c187948c8cb393c;p=senf.git diff --git a/site_scons/site_tools/InstallSubdir.py b/site_scons/site_tools/InstallSubdir.py new file mode 100644 index 0000000..d76a512 --- /dev/null +++ b/site_scons/site_tools/InstallSubdir.py @@ -0,0 +1,17 @@ +import SCons.Errors + +def InstallSubdir(env, target=None, source=None, base='#', **kw): + builds = [] + target = env.arg2nodes(target, env.fs.Dir) + if len(target) != 1: + raise SCons.Errors.UserError, "Need exactly one target for InstallWithDir()" + base = env.arg2nodes(base, env.fs.Dir)[0] + for src in env.arg2nodes(source, env.fs.Entry): + builds.extend(apply(env.Install, (target[0].Dir(src.dir.get_path(base)), src), kw)) + return builds + +def generate(env): + env['BUILDERS']['InstallSubdir'] = InstallSubdir + +def exists(env): + return 1