Replace SENFSCons.InstallIncludeFiles with InstallSubdir builder calls
[senf.git] / senfscons / InstallSubdir.py
diff --git a/senfscons/InstallSubdir.py b/senfscons/InstallSubdir.py
new file mode 100644 (file)
index 0000000..d76a512
--- /dev/null
@@ -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