summaryrefslogtreecommitdiff
path: root/source4/build/smb_build/env.pm
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-10-26 23:36:04 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:45:18 -0500
commit1437535a24a3d33352ba310adefeca6862cc94f3 (patch)
treeb418cbdd1fb797a954b9ee14553f2aa2ad434a93 /source4/build/smb_build/env.pm
parent4dc5da1335a8dc39b4e6153ce7da75d429d343de (diff)
downloadsamba-1437535a24a3d33352ba310adefeca6862cc94f3.tar.gz
samba-1437535a24a3d33352ba310adefeca6862cc94f3.tar.bz2
samba-1437535a24a3d33352ba310adefeca6862cc94f3.zip
r11311: Move some more logic to env
(This used to be commit 990419bac7ce335ffcec84017614eb9642a6ece6)
Diffstat (limited to 'source4/build/smb_build/env.pm')
-rw-r--r--source4/build/smb_build/env.pm33
1 files changed, 31 insertions, 2 deletions
diff --git a/source4/build/smb_build/env.pm b/source4/build/smb_build/env.pm
index 9e52e1974d..b3dcbb8456 100644
--- a/source4/build/smb_build/env.pm
+++ b/source4/build/smb_build/env.pm
@@ -17,11 +17,16 @@ sub new($$)
my ($name, $config) = @_;
my $self = { };
bless $self, $name;
- $self->set_config($config);
+
+ $self->{items} = {};
+ $self->{info} = {};
+
+ $self->_set_config($config);
+
return $self;
}
-sub set_config($$)
+sub _set_config($$)
{
my ($self, $config) = @_;
@@ -69,4 +74,28 @@ __EOF__
close(OUT);
}
+sub Import($$)
+{
+ my ($self,$items) = @_;
+
+ foreach (keys %$items) {
+ if (defined($self->{items})) {
+ print "Warning: Importing $_ twice!\n";
+ }
+ $self->{items}->{$_} = $items->{$_};
+ }
+}
+
+sub GetInfo($$)
+{
+ my ($self,$name) = @_;
+
+ unless (defined($self->{info}->{$name}))
+ {
+ $self->{info}->{$name} = $self->{items}->Build($self);
+ }
+
+ return $self->{info}->{$name};
+}
+
1;