Add the original source packages to maemo, source lenny
[dh-make-perl] / dev / i386 / libmodule-build-perl / libmodule-build-perl-0.2808.01 / lib / Module / Build / Config.pm
diff --git a/dev/i386/libmodule-build-perl/libmodule-build-perl-0.2808.01/lib/Module/Build/Config.pm b/dev/i386/libmodule-build-perl/libmodule-build-perl-0.2808.01/lib/Module/Build/Config.pm
new file mode 100644 (file)
index 0000000..76b92b9
--- /dev/null
@@ -0,0 +1,59 @@
+package Module::Build::Config;
+
+use strict;
+use vars qw($VERSION);
+$VERSION = '0.2808_01';
+$VERSION = eval $VERSION;
+use Config;
+
+sub new {
+  my ($pack, %args) = @_;
+  return bless {
+               stack => {},
+               values => $args{values} || {},
+              }, $pack;
+}
+
+sub get {
+  my ($self, $key) = @_;
+  return $self->{values}{$key} if ref($self) && exists $self->{values}{$key};
+  return $Config{$key};
+}
+
+sub set {
+  my ($self, $key, $val) = @_;
+  $self->{values}{$key} = $val;
+}
+
+sub push {
+  my ($self, $key, $val) = @_;
+  push @{$self->{stack}{$key}}, $self->{values}{$key}
+    if exists $self->{values}{$key};
+  $self->{values}{$key} = $val;
+}
+
+sub pop {
+  my ($self, $key) = @_;
+
+  my $val = delete $self->{values}{$key};
+  if ( exists $self->{stack}{$key} ) {
+    $self->{values}{$key} = pop @{$self->{stack}{$key}};
+    delete $self->{stack}{$key} unless @{$self->{stack}{$key}};
+  }
+
+  return $val;
+}
+
+sub values_set {
+  my $self = shift;
+  return undef unless ref($self);
+  return $self->{values};
+}
+
+sub all_config {
+  my $self = shift;
+  my $v = ref($self) ? $self->{values} : {};
+  return {%Config, %$v};
+}
+
+1;