diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-11-14 16:22:01 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:05:47 -0500 |
commit | 8e16d8a76f8a3b8ccc89eb317c8e5daa6cf43b71 (patch) | |
tree | 8e8ccaddb94efc6a85ab6c339cab76cea1f44085 /source4/build/smb_build/input.pm | |
parent | 7367d23713a34a6c29a492adb365292399adffe8 (diff) | |
download | samba-8e16d8a76f8a3b8ccc89eb317c8e5daa6cf43b71.tar.gz samba-8e16d8a76f8a3b8ccc89eb317c8e5daa6cf43b71.tar.bz2 samba-8e16d8a76f8a3b8ccc89eb317c8e5daa6cf43b71.zip |
r3733: More build system fixes/features:
- Use .mk files directly (no need for a SMB_*_MK() macro when adding a new SUBSYSTEM, MODULE or BINARY). This allows addition of new modules and subsystems without running configure
- Add support for generating .dot files with the Samba4 dependency tree (as used by the graphviz and springgraph utilities)
(This used to be commit 64826da834e26ee0488674e27a0eae36491ee179)
Diffstat (limited to 'source4/build/smb_build/input.pm')
-rw-r--r-- | source4/build/smb_build/input.pm | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/source4/build/smb_build/input.pm b/source4/build/smb_build/input.pm index c4a4052d8f..b94586d2c2 100644 --- a/source4/build/smb_build/input.pm +++ b/source4/build/smb_build/input.pm @@ -60,17 +60,23 @@ sub check_module($$) { my $CTX = shift; my $mod = shift; + + die("Module $mod->{NAME} does not have a SUBSYSTEM set") if not defined($mod->{SUBSYSTEM}); + + ($mod->{DEFAULT_BUILD} = "STATIC") if not defined($mod->{DEFAULT_BUILD}); my $use_default = 0; + $mod->{SUBSYSTEM} = join(' ', @{$mod->{SUBSYSTEM}}); + if (!(defined($CTX->{INPUT}{$mod->{SUBSYSTEM}}))) { $mod->{BUILD} = "NOT"; $mod->{ENABLE} = "NO"; - printf("Module: %s...PARENT SUBSYSTEM DISABLED\n",$mod->{NAME}); + printf("Module: %s...PARENT SUBSYSTEM ($mod->{SUBSYSTEM}) DISABLED\n",$mod->{NAME}); return; } - if ($mod->{CHOSEN_BUILD} eq "DEFAULT") { + if (not defined($mod->{CHOSEN_BUILD}) or $mod->{CHOSEN_BUILD} eq "DEFAULT") { $mod->{CHOSEN_BUILD} = $mod->{DEFAULT_BUILD}; } @@ -114,6 +120,8 @@ sub check_binary($$) return; } + ($bin->{BINARY} = (lc $bin->{NAME})) if not defined($bin->{BINARY}); + $bin->{OUTPUT_TYPE} = "BINARY"; } @@ -144,6 +152,10 @@ sub check($) my $CTX = shift; foreach my $part (values %{$CTX->{INPUT}}) { + ($part->{ENABLE} = "YES") if not defined($part->{ENABLE}); + } + + foreach my $part (values %{$CTX->{INPUT}}) { check_subsystem($CTX, $part) if ($part->{TYPE} eq "SUBSYSTEM"); check_module($CTX, $part) if ($part->{TYPE} eq "MODULE"); check_library($CTX, $part) if ($part->{TYPE} eq "LIBRARY"); |