summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2006-02-23 14:10:46 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2006-02-23 14:10:46 +0000
commitf01672dddcbaab059c2d59ce9a0a63a3c1afc15c (patch)
treeb8c4efa35118cb88693c71705a4da064727349f3
parent39471125ab748324ad45d88b93b140d72c363224 (diff)
downloadMPC-f01672dddcbaab059c2d59ce9a0a63a3c1afc15c.tar.gz
ChangeLogTag: Thu Feb 23 14:10:30 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog18
-rw-r--r--README4
-rw-r--r--modules/ProjectCreator.pm16
3 files changed, 34 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index d16ab578..3da0551c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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:
diff --git a/README b/README
index 4833d623..9de93900 100644
--- a/README
+++ b/README
@@ -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);