diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2005-12-22 14:33:20 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2005-12-22 14:33:20 +0000 |
commit | 0272fb9af80abc0f447d46373dc311bb2d0cc307 (patch) | |
tree | b3f2b0893dfa4db52d9c1f25ac1bbdab552727b5 | |
parent | 7f905861d959cb334ae0c6846ca7f544484863d0 (diff) | |
download | MPC-0272fb9af80abc0f447d46373dc311bb2d0cc307.tar.gz |
ChangeLogTag: Thu Dec 22 08:30:56 2005 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 27 | ||||
-rw-r--r-- | USAGE | 6 | ||||
-rw-r--r-- | modules/Creator.pm | 39 | ||||
-rw-r--r-- | templates/bds.mpd | 2 | ||||
-rw-r--r-- | templates/bdsdll.mpt | 2 | ||||
-rw-r--r-- | templates/bdsexe.mpt | 2 |
6 files changed, 54 insertions, 24 deletions
@@ -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. @@ -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" |