diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2003-04-21 14:17:41 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2003-04-21 14:17:41 +0000 |
commit | e8a39ce71144f2873af908bdfb2dc53469a89bc3 (patch) | |
tree | 54b71945f5103fad9d8e1e11b92312535bade6d6 | |
parent | e9aea8bde0b28594dd48fdcc8e009b63186d927c (diff) | |
download | ATCD-e8a39ce71144f2873af908bdfb2dc53469a89bc3.tar.gz |
ChangeLogTag: Mon Apr 21 09:14:09 2003 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/ProjectCreator.pm | 39 |
2 files changed, 49 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 257b1041b51..5e9b238cef5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Mon Apr 21 09:14:09 2003 Chad Elliott <elliott_c@ociweb.com> + + * bin/MakeProjectCreator/modules/ProjectCreator.pm: + + If pch files are listed in header_files or source_files, then + remove them from the listing. It is important that they are not + duplicated. + Mon Apr 21 04:51:09 UTC 2003 Don Hinton <dhinton@dresystems.com> * bin/generate_compile_stats.sh: @@ -8,12 +16,12 @@ Mon Apr 21 04:51:09 UTC 2003 Don Hinton <dhinton@dresystems.com> * ace/SStringfwd.h: * ace/SString.h: - Moved typedef for ACE_TString to SStringfwd.h to go with + Moved typedef for ACE_TString to SStringfwd.h to go with ACE_CString and ACE_WString. * ace/Get_Opt.{h,cpp,i}: - Include ace/SStringfwd.h instead of ace/SString.h in header, + Include ace/SStringfwd.h instead of ace/SString.h in header, changed members variables to pointers, and uninlined optstring() to reduce inter header dependencies. diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm index 65128e846aa..b7bee0b9d90 100644 --- a/bin/MakeProjectCreator/modules/ProjectCreator.pm +++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm @@ -824,6 +824,41 @@ sub fix_pch_filenames { } +sub remove_extra_pch_listings { + my($self) = shift; + my(@pchs) = ('pch_header', 'pch_source'); + my(@tags) = ('header_files', 'source_files'); + + for(my $j = 0; $j <= $#pchs; ++$j) { + my($pch) = $self->get_assignment($pchs[$j]); + + if (defined $pch) { + ## If we are converting slashes, then we need to + ## convert the pch file back to forward slashes + if ($self->convert_slashes()) { + $pch =~ s/\\/\//g; + } + + ## Find out which files are duplicated + my($names) = $self->{$tags[$j]}; + foreach my $name (keys %$names) { + my($comps) = $$names{$name}; + foreach my $key (keys %$comps) { + my($array) = $$comps{$key}; + my($count) = scalar(@$array); + for(my $i = 0; $i < $count; ++$i) { + if ($pch eq $$array[$i]) { + splice(@$array, $i, 1); + --$count; + } + } + } + } + } + } +} + + sub is_special_tag { my($self) = shift; my($tag) = shift; @@ -1244,6 +1279,10 @@ sub generate_defaults { ## If we do not do this, then generated projects can be invalid. $self->remove_duplicated_files('source_files', 'template_files'); + ## If pch files are listed in header_files or source_files more than + ## once, we need to remove the extras + $self->remove_extra_pch_listings(); + ## Generate the default idl generated list of source files ## only if we defaulted the idl file list $self->generate_default_idl_generated(['source_files']); |