summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2005-12-22 14:33:20 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2005-12-22 14:33:20 +0000
commit0272fb9af80abc0f447d46373dc311bb2d0cc307 (patch)
treeb3f2b0893dfa4db52d9c1f25ac1bbdab552727b5
parent7f905861d959cb334ae0c6846ca7f544484863d0 (diff)
downloadMPC-0272fb9af80abc0f447d46373dc311bb2d0cc307.tar.gz
ChangeLogTag: Thu Dec 22 08:30:56 2005 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog27
-rw-r--r--USAGE6
-rw-r--r--modules/Creator.pm39
-rw-r--r--templates/bds.mpd2
-rw-r--r--templates/bdsdll.mpt2
-rw-r--r--templates/bdsexe.mpt2
6 files changed, 54 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index c77c5c3d..6684fa7e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+Thu Dec 22 08:30:56 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * USAGE:
+
+ Update the usage to contain the 'bds' type.
+
+ * modules/Creator.pm:
+
+ Fixed a feature where $() variables were automatically expanded
+ during a subtraction. Now, we only expand the $() variable if we
+ could not find the subtraction value in the name value.
+
+ * templates/bds.mpd:
+
+ Modified the includes foreach to set the forcount base.
+
+ * templates/bdsdll.mpt:
+ * templates/bdsexe.mpt:
+
+ Include the user_bds* file instead of the user_cbx* file.
+
Wed Dec 21 19:17:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
* templates/vc8platforms.mpt:
@@ -13,7 +34,7 @@ Wed Dec 21 18:55:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Initial version of Borland Developer Studio template. Work is
being done for the C++ personality. All files, compiler flags
and libs are generated but some more work has to be done to
- use these for a full build. Now they are already usefull for
+ use these for a full build. Now they are already useful for
debugging apps that are build from the command line.
* modules/MPC.pm:
@@ -79,7 +100,7 @@ Wed Dec 21 06:28:04 2005 Chad Elliott <elliott_c@ociweb.com>
* modules/ProjectCreator.pm:
- 1) Check for case insensitivity (from a new method) when check
+ 1) Check for case insensitivity (from a new method) when checking
whether we should use upper or lower case in the
expand_variables() method.
2) Added an is_keyword() method to allow the TemplateParser to
@@ -136,7 +157,7 @@ Wed Dec 21 06:28:04 2005 Chad Elliott <elliott_c@ociweb.com>
* templates/makedll.mpt:
Set the default pch extension to .gch. Renamed the cxx
- configurationt to cxx_tru64. Added precompiled header support for
+ configuration to cxx_tru64. Added precompiled header support for
SunCC (which was there as of SunCC 5.5). For SunCC 5.4 and below,
use -value_template pchsupport= to turn off precompiled header
support.
diff --git a/USAGE b/USAGE
index 5f679bcd..e7c8cd3a 100644
--- a/USAGE
+++ b/USAGE
@@ -20,9 +20,9 @@ Usage: mwc.pl [-global <file>] [-include <directory>] [-recurse]
[-exclude <directories>] [-name_modifier <pattern>]
[-apply_project] [-version] [-into <directory>]
[-language <cplusplus | csharp | java | vb>]
- [-type <automake | bmake | cbx | em3 | ghs | html |
- make | nmake | sle | vc6 | vc7 | vc71 |
- vc8>]
+ [-type <automake | bds | bmake | cbx | em3 | ghs |
+ html | make | nmake | sle | vc6 | vc7 |
+ vc71 | vc8>]
[files]
-base Add <project> as a base project to each generated
diff --git a/modules/Creator.pm b/modules/Creator.pm
index 9ecd0078..92775a89 100644
--- a/modules/Creator.pm
+++ b/modules/Creator.pm
@@ -655,7 +655,7 @@ sub process_assignment_sub {
my($name) = shift;
my($value) = shift;
my($assign) = shift;
- my($nval) = $self->get_assignment_for_modification($name, $assign, 1);
+ my($nval) = $self->get_assignment_for_modification($name, $assign);
if (defined $nval) {
## Remove double quotes if there are any
@@ -664,21 +664,30 @@ sub process_assignment_sub {
## Escape any regular expression special characters
$value = $self->escape_regex_special($value);
- ## Due to the way process_assignment() works, we only need to
- ## attempt to remove a value that is either followed by a space
- ## or at the end of the line (single values are always at the end
- ## of the line).
- if ($nval =~ s/$value\s+// || $nval =~ s/$value$//) {
- $self->process_assignment($name, $nval, $assign);
- }
- else {
- ## Try the same thing only with double quotes around the value.
- ## Double quotes will be preserved in the value when the value
- ## contains spaces.
- $value = '"' . $value . '"';
- if ($nval =~ s/$value\s+// || $nval =~ s/$value$//) {
- $self->process_assignment($name, $nval, $assign);
+ my($last) = 1;
+ my($found) = undef;
+ for(my $i = 0; $i <= $last; $i++) {
+ if ($i == $last) {
+ ## If we did not find the string to subtract in the original
+ ## value, try again after expanding template variables for
+ ## subtraction.
+ $nval = $self->get_assignment_for_modification($name, $assign, 1);
+ }
+ for(my $j = 0; $j <= $last; $j++) {
+ ## If we didn't find it the first time, try again with quotes
+ my($re) = ($j == $last ? '"' . $value . '"' : $value);
+
+ ## Due to the way process_assignment() works, we only need to
+ ## attempt to remove a value that is either followed by a space
+ ## or at the end of the line (single values are always at the end
+ ## of the line).
+ if ($nval =~ s/$re\s+// || $nval =~ s/$re$//) {
+ $self->process_assignment($name, $nval, $assign);
+ $found = 1;
+ last;
+ }
}
+ last if ($found);
}
}
}
diff --git a/templates/bds.mpd b/templates/bds.mpd
index 1eb85026..b966439b 100644
--- a/templates/bds.mpd
+++ b/templates/bds.mpd
@@ -99,7 +99,7 @@
<property category="win32.*.win32b.bcc32" name="option.I.arg.1" value="$(BDS)\include"/>
<property category="win32.*.win32b.bcc32" name="option.I.arg.2" value="$(BDS)\include\dinkumware"/>
<property category="win32.*.win32b.bcc32" name="option.I.arg.3" value="$(BDS)\include\vcl"/>
-<%foreach(includes)%>
+<%foreach(4, includes)%>
<property category="win32.*.win32b.bcc32" name="option.I.arg.<%forcount%>" value="<%include%>"/>
<%endfor%>
<property category="win32.*.win32b.bcc32" name="option.I.arg.merge" value="1"/>
diff --git a/templates/bdsdll.mpt b/templates/bdsdll.mpt
index b624d80b..a8d4998d 100644
--- a/templates/bdsdll.mpt
+++ b/templates/bdsdll.mpt
@@ -6,4 +6,4 @@ conditional_include "windowscommon"
common_defines = WIN32
-conditional_include "user_cbxdll"
+conditional_include "user_bdsdll"
diff --git a/templates/bdsexe.mpt b/templates/bdsexe.mpt
index bf30c44a..8e7081e8 100644
--- a/templates/bdsexe.mpt
+++ b/templates/bdsexe.mpt
@@ -6,4 +6,4 @@ conditional_include "windowscommon"
common_defines = WIN32
-conditional_include "user_cbxexe"
+conditional_include "user_bdsexe"