summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2003-06-10 17:54:16 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2003-06-10 17:54:16 +0000
commit34a5c0766194acf1e8d831c31ae7731e5042caf9 (patch)
tree842fb941523a075c1b169b029c4dec8c4f7063d6
parent77a52c9423f7a3c224415512daf3879bba2c29d0 (diff)
downloadATCD-34a5c0766194acf1e8d831c31ae7731e5042caf9.tar.gz
ChangeLogTag: Tue Jun 10 12:50:16 2003 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog7
-rw-r--r--bin/MakeProjectCreator/modules/ProjectCreator.pm19
2 files changed, 19 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index e46b5b9ae43..18c661710d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Jun 10 12:50:16 2003 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/ProjectCreator.pm:
+
+ Only read in a base project if it hasn't been read for the current
+ project.
+
Tue Jun 10 11:35:29 2003 Chad Elliott <elliott_c@ociweb.com>
* bin/create_ace_build:
diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm
index e3f9a5b1fbe..c2c7697f614 100644
--- a/bin/MakeProjectCreator/modules/ProjectCreator.pm
+++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm
@@ -159,6 +159,7 @@ sub new {
$self->{'pctype'} = $self->extractType("$self");
$self->{'defaulted'} = {};
$self->{'custom_types'} = {};
+ $self->{'parents_read'} = {};
$self->{'feature_parser'} = new FeatureParser($gfeature, $feature);
$self->{'convert_slashes'} = $self->convert_slashes();
$self->{'sort_files'} = $self->sort_files();
@@ -253,6 +254,7 @@ sub parse_line {
$self->{'special_supplied'} = {};
$self->{'type_specific_assign'} = {};
$self->{'flag_overrides'} = {};
+ $self->{'parents_read'} = {};
$self->reset_generating_types();
}
}
@@ -307,13 +309,16 @@ sub parse_line {
}
if ($status) {
- ## Begin reading the parent
- push(@{$self->{'reading_parent'}}, $file);
- $status = $self->parse_file($file);
- pop(@{$self->{'reading_parent'}});
-
- if (!$status) {
- $errorString = "ERROR: Invalid parent: $parent";
+ if (!defined $self->{'parents_read'}->{$file}) {
+ $self->{'parents_read'}->{$file} = 1;
+ ## Begin reading the parent
+ push(@{$self->{'reading_parent'}}, $file);
+ $status = $self->parse_file($file);
+ pop(@{$self->{'reading_parent'}});
+
+ if (!$status) {
+ $errorString = "ERROR: Invalid parent: $parent";
+ }
}
}
}