summaryrefslogtreecommitdiff
path: root/source4/build
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-02-18 13:31:10 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-02-18 13:31:10 +0100
commit5e336bea1c68fafa97f67abf89c678d3cd7250b8 (patch)
tree1bbdec64c154da5b5c282be66eae539be8510535 /source4/build
parente5d7bd3821327b509ebf38232e8b972455829f88 (diff)
downloadsamba-5e336bea1c68fafa97f67abf89c678d3cd7250b8.tar.gz
samba-5e336bea1c68fafa97f67abf89c678d3cd7250b8.tar.bz2
samba-5e336bea1c68fafa97f67abf89c678d3cd7250b8.zip
Add elements in the build system implicitly if they're unknown
(so they can be regular make rules). (This used to be commit 1da14d5efe63b97719c81fcf4851c5b79609776b)
Diffstat (limited to 'source4/build')
-rw-r--r--source4/build/smb_build/input.pm15
1 files changed, 14 insertions, 1 deletions
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm
index ed584e185c..f970d5b677 100644
--- a/source4/build/smb_build/input.pm
+++ b/source4/build/smb_build/input.pm
@@ -208,13 +208,26 @@ sub import_integrated($$)
}
}
+sub add_implicit($$)
+{
+ my ($INPUT, $n) = @_;
+
+ $INPUT->{$n} = {
+ TYPE => "MAKE_RULE",
+ NAME => $n,
+ TARGET => lc($n),
+ LIBS => "\$(".uc($n)."_LIBS)",
+ CFLAGS => "\$(".uc($n)."_CFLAG)"
+ };
+}
+
sub calc_unique_deps($$$$$$$$)
{
sub calc_unique_deps($$$$$$$$);
my ($name, $INPUT, $deps, $udeps, $withlibs, $forward, $pubonly, $busy) = @_;
foreach my $n (@$deps) {
- die("Dependency unknown: $n (for $name)") unless (defined($INPUT->{$n}));
+ add_implicit($INPUT, $n) unless (defined($INPUT->{$n}));
die("Recursive dependency: $n, list: " . join(',', @$busy)) if (grep (/^$n$/, @$busy));
next if (grep /^$n$/, @$udeps);
my $dep = $INPUT->{$n};