diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2006-02-23 14:10:46 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2006-02-23 14:10:46 +0000 |
commit | f01672dddcbaab059c2d59ce9a0a63a3c1afc15c (patch) | |
tree | b8c4efa35118cb88693c71705a4da064727349f3 | |
parent | 39471125ab748324ad45d88b93b140d72c363224 (diff) | |
download | MPC-f01672dddcbaab059c2d59ce9a0a63a3c1afc15c.tar.gz |
ChangeLogTag: Thu Feb 23 14:10:30 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 18 | ||||
-rw-r--r-- | README | 4 | ||||
-rw-r--r-- | modules/ProjectCreator.pm | 16 |
3 files changed, 34 insertions, 4 deletions
@@ -1,3 +1,21 @@ +Thu Feb 23 14:10:30 UTC 2006 Chad Elliott <elliott_c@ociweb.com> + + * README: + + Added a paragraph explaining that MPC expects *all* file names + that contain a directory portion to use forward slashes regardless + of what the platform natively uses. + + * modules/ProjectCreator.pm: + + Corrected two bugs pertaining to automatic file addition. The + first happens when two different custom file sections have the + same group name; the second group would overwrite the first. The + second bug would only happen on Windows based project types if the + 'gendir' setting contained a slash, MPC wouldn't be able to match + up the generated files (this was introduced with my change from + Mon Feb 13 11:15:04 2006). + Wed Feb 22 23:58:03 2006 J.T. Conklin <jtc@acorntoolworks.com> * templates/automake.mpd: @@ -109,6 +109,10 @@ project(project_name) : baseproject, anotherbaseproject { } +MPC expects all files to be listed with forward slashes (/) if a file name +contains a directory. Providing files with back slashes (\) can cause +unexpected results during generation. + When listing files within components (Source_Files, Header_Files, etc.), you can use wild cards (*?[]) to include groups of files as can be done in shells. You can exclude files by preceding the name (or wild card) with the '!', but diff --git a/modules/ProjectCreator.pm b/modules/ProjectCreator.pm index 96391ae8..13455718 100644 --- a/modules/ProjectCreator.pm +++ b/modules/ProjectCreator.pm @@ -959,8 +959,8 @@ sub process_component_line { my($status) = 1; my($error) = undef; my(%exclude) = (); + my(@values) = (); - my(@values) = (); ## If this returns true, then we've found an assignment if ($self->parse_assignment($line, \@values)) { $status = $self->parse_scoped_assignment($tag, @values, $flags); @@ -2662,6 +2662,10 @@ sub generate_default_components { if ($#copy != -1) { $self->process_assignment_add($grtag, $defgroup); } + if (!defined $self->{$tag}->{$defcomp}->{$newgroup}) { + $self->{$tag}->{$defcomp}->{$newgroup} = []; + } + push(@{$self->{$tag}->{$defcomp}->{$newgroup}}, @front); $self->{$tag}->{$defcomp}->{$newgroup} = \@front; $self->process_assignment_add($grtag, $newgroup); } @@ -2843,9 +2847,13 @@ sub list_generated_file { my($ofile) = shift; my($count) = 0; - ## Save the length of the basename for later - $file =~ s/\\/\//g; - my($blen) = length(basename($file)); + ## Save the length of the basename for later. We can not convert the + ## slashes on $file as it needs to keep the back slashes since that's + ## what comes from generated_filenames() below. This is, of course, if + ## we are converting slashes in the first place. + my($fcopy) = $file; + $fcopy =~ s/.*[\/\\]//; + my($blen) = length($fcopy); ## Turn it into a regular expression $file = $self->escape_regex_special($file); |