From c786de614e442636842304b9e65b6593df615cea Mon Sep 17 00:00:00 2001 From: elliott_c Date: Mon, 22 Aug 2005 12:17:18 +0000 Subject: ChangeLogTag: Mon Aug 22 07:17:17 2005 Chad Elliott --- history/ChangeLog-3_2 | 2053 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2053 insertions(+) create mode 100644 history/ChangeLog-3_2 (limited to 'history') diff --git a/history/ChangeLog-3_2 b/history/ChangeLog-3_2 new file mode 100644 index 00000000..4541dd9b --- /dev/null +++ b/history/ChangeLog-3_2 @@ -0,0 +1,2053 @@ +Mon Aug 22 07:11:37 2005 Chad Elliott + + * prj_install.pl: + + Added options to override the installation location for a + particular tag. + + * templates/make.mpd: + * templates/makedll.mpt: + + Added support for the GHS Integrity OS. + +Fri Aug 12 12:30:19 2005 Chad Elliott + + * README: + * modules/FeatureParser.pm: + * modules/ProjectCreator.pm: + + Added a new type of feature file that is specific to the project + type. If a file of the form .features is located in the + config directory, it is read after global.features but before the + file specified by -feature_file (if any). See the README for more + details. + +Fri Aug 12 11:44:23 2005 Chad Elliott + + * templates/make.mpd: + * templates/makedll.mpt: + + Reworked the way that 64 and 32 bit builds are specified. 64 bit + is still the default, however to build 32 bit requires that the + user set the template variable build64bit to empty. + +Thu Aug 11 13:30:07 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Fixed a bug where a directory used as input for a custom file type + would not result in any input files when automatic is set to zero. + +Thu Aug 11 06:42:33 2005 Chad Elliott + + * README: + + Updated the Defaulting Behavior section. + + * USAGE: + * modules/Options.pm: + + Fixed poorly worded portions of the usage. + + * clone_build_tree.pl: + + Added an option to link build related files (Makefile, .dsw, + .etc). + + * combine_dsw.pl: + + Fixed a spelling error. + + * modules/AutomakeWorkspaceCreator.pm: + + Added calls for modifying the library path with the + WorkspaceHelper. + + * modules/Creator.pm: + + Fixed a bug where using * in the 'after' setting wouldn't always + be expanded. + + * modules/Driver.pm: + + The minimum version of perl needs to be 5.6 since + File::Spec::canonpath is used in Options.pm. + + * modules/ProjectCreator.pm: + * modules/WorkspaceCreator.pm: + + Only call fill_type_name if the name has a * in it. + + * modules/WorkspaceHelper.pm: + + Added the hooks for modifying the library path. + + * templates/automake.mpd: + + Cosmetic change for spacing. + +Mon Jul 18 10:26:15 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Ignore whitespace when excluding files. Also, fixed an issue with + setting sharedname to empty and not setting staticname. It should + have defaulted the staticname and leave sharedname emtpy. + + * modules/WorkspaceCreator.pm: + + Ignore whitespace when negating project types. + + * templates/nmake.mpd: + + Fixed a bug in this template where the OUTDIR was not correctly + set to 'libout' in static projects. + +Mon Jul 11 13:26:52 2005 Chad Elliott + + * templates/nmakedll.mpt: + * templates/nmakeexe.mpt: + + Switch from /GX to /EHs (which is supported by vc6) to avoid build + warnings using the Visual Studio 8 compiler with nmake. + + * templates/vc8.mpd: + + Changed the default character set to 0 instead of 1. This is now + the same as the vc7 template. + +Fri Jul 8 11:47:37 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Modified code using a hash reference within a hash reference to + work correctly with Perl 5.6.1. + +Thu Jul 7 14:05:44 2005 Chad Elliott + + * modules/MakeProjectBase.pm: + * modules/ProjectCreator.pm: + + Factor code out of MakeProjectBase into ProjectCreator which will + allow for less code in future Make based modules. + + * templates/make.mpd: + + Modified to generate Makefiles that do not have lines that end in + spaces. + +Wed Jul 6 13:00:22 2005 Chad Elliott + + * modules/Options.pm: + + Support - or -- as option specifiers. + + * templates/automake.mpd: + + Removed grouped file support as it can not work correctly with + this project type. Since all of the project files for a single + directory are combined into one, the same group names could be + used (in different projects) and cause conflicts once they are + combined. + +Wed Jul 6 10:33:21 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Corrected negated wildcard matching where the pattern contained a + directory name. The negated wildcard was always being applied to + the files in the current directory. + +Wed Jul 6 08:25:25 2005 Chad Elliott + + * README: + + Corrected some minor documentation mistakes. + + * modules/ProjectCreator.pm: + + Added support for automatic grouping of generated files based on + the group name of the custom input file. + + * templates/bmake.mpd: + + Added Codeguard support. + +Tue Jul 5 10:25:18 2005 Chad Elliott + + * templates/automake.mpd: + + Added macros and compile_flags to outter if check to allow these + to be part of the CPPFLAGS (if none of the other variables in the + if are not defined). + +Tue Jul 5 07:23:07 2005 Chad Elliott + + * templates/vc7.mpd: + * templates/vc8.mpd: + + Correctly support the 'custom_only' keyword by utilizing the + "Utility" project type. This project type does not perform + anything but custom build rules which is exactly what we needed. + +Sat Jul 2 10:57:13 2005 Chad Elliott + + * modules/GHSProjectCreator.pm: + + Corrected a problem with determining the reltop value. + + * modules/ProjectCreator.pm: + + Fixed specific and conditional where multiple negated project types + are used. It would only look at the first type and decide that + the current project type wasn't negated. + + When '!' was combined with a wildcard, MPC wasn't adding the files + that didn't match if the user had specified at least one file (in + addition to the negated wildcard). + + * templates/bmake.mpd: + * templates/make.mpd: + + Moved the local marker to a location after the all target. + + * templates/ghs.mpd: + + Fixed custom build support. + + * templates/nmake.mpd: + + Correctly support the use of dllout. + +Fri Jul 1 10:03:12 UTC 2005 Johnny Willemsen + + * templates/bmake.mpd: + Added support for StackReserveSize and StackCommitSize + template variables. + +Wed Jun 29 12:15:46 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Fixed a bug where mapped keywords within the scope of a 'specific' + section would not be processed. + + * templates/ghs.mpd: + + Fixed the dependency and pch_postrule sections. + +Wed Jun 29 06:55:10 2005 Chad Elliott + + * README: + + Modified the documentation for 'specific' and 'conditional'. + + * modules/WorkspaceCreator.pm: + + Remove ./ from the beginning of located files and directories to + ensure that workspaces that change directory back to the original + go back to the correct directory. + + * templates/make.mpd: + + Only create the $(LTARGETDIR) rule if the project is not an exe. + +Tue Jun 28 11:33:07 2005 J.T. Conklin + + * templates/automake.mpd: + + Sort custom type's output files so output is easier to inspect + when hand-tweaking MPC output. + + Add Pkgconfig_Files output to CLEANFILES. + +Tue Jun 28 07:39:34 2005 Ming Xiong + + * config/ziparchive.mpb + + Added a .mpb file to support ziparchive feature which is needed by + DAnCE/ComponentPackager. + +Tue Jun 28 07:20:08 2005 Chad Elliott + + * README: + * modules/ProjectCreator.pm: + + Added the functionality to negate the project type in 'specific' + and 'conditional' clauses. + +Tue Jun 28 06:31:26 2005 Chad Elliott + + * config/zlib.mpb: + * config/zzip.mpb: + + Changed to use 'libs' instead of lit_libs for some project types. + +Mon Jun 27 07:25:08 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + My previous checkin uncovered a serious bug in MPC dealing with + features that weren't enabled and used the specific/else + construct. + +Mon Jun 27 06:28:54 2005 Chad Elliott + + * config/zzip.mpb: + + Developers insist on naming libraries differently for Windows. + So, for UNIX related projects we use zzip and for all others we + use zziplib. + +Fri Jun 24 12:47:06 2005 Chad Elliott + + * PROBLEM-REPORT-FORM: + + Adding a problem report form with requirements for submitting a + support request. + + * modules/EM3ProjectCreator.pm: + * modules/VC6ProjectCreator.pm: + + Removing the implementation of the get_template method since I + have renamed the templates for these project types. + + * modules/MakeWorkspaceCreator.pm: + + Removed the setting of PWD since it isn't used in the project + makefiles anymore. + + * templates/make.mpd: + + Fixed a problem where the output directory wouldn't be created for + exe or library targets if it didn't exist. + + * templates/em3.mpd: + * templates/vc6.mpd: + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + + Renamed vc6dsp.mpd to vc6.mpd and em3vcp.mpd to em3.mpd. + +Fri Jun 24 08:39:56 2005 Chad Elliott + + * templates/em3vcp.mpd: + * templates/em3vcpdll.mpt: + * templates/em3vcpdllexe.mpt: + * templates/em3vcplib.mpt: + * templates/em3vcplibexe.mpt: + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + + Added support for setting the stack size. Use StackReserveSize + and StackCommitSize template variables to set this. + + * templates/make.mpd: + + Continue processing the 'depend' target even if one depend fails. + +Thu Jun 23 16:24:16 2005 Justin Michel + + * templates/vc7.mpd: + + Added support for setting the stack size. This was already in + vc8.mpd. + +Thu Jun 23 13:44:58 2005 Chad Elliott + + * templates/make.mpd: + * templates/makedll.mpt: + + Simplified the generic make template and corrected support for + IRIX, MinGW, and Mac OS X. + +Wed Jun 22 12:43:34 2005 Chad Elliott + + * modules/AutomakeProjectCreator.pm: + * modules/BMakeProjectCreator.pm: + * modules/CBXProjectCreator.pm: + * modules/GHSProjectCreator.pm: + * modules/HTMLProjectCreator.pm: + * modules/MakeProjectCreator.pm: + * modules/NMakeProjectCreator.pm: + * modules/ProjectCreator.pm: + * modules/SLEProjectCreator.pm: + + Implement the get_template method in ProjectCreator to return the + type name. This allows me to remove the get_template method from + many of the sub classes of ProjectCreator (but not all). + + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + * templates/vc8.mpd: + + Fixed a bug where a custom command that generates multiple output + files and defines the output_option would not have the right + build rules. + +Wed Jun 22 10:04:44 2005 Chad Elliott + + * modules/Options.pm: + + Convert back slashes to slashes after calling canonpath(). On + Windows, it converts slashes to backslashes which fouls up + generation of non-Windows based project types. + + * modules/ProjectCreator.pm: + + Remove extra spaces when processing '<<' and '>>'. + +Wed Jun 22 07:43:33 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + When adding generated files (and no generated file is listed), + only add those that match the default extension. + + * modules/TemplateParser.pm: + + When generating static projects, override the template settings + for the type_is_static, need_staticflags, type_is_dynamic, + type_is_binary variables. + + * templates/nmake.mpd: + + Fixed a bug where a custom command that generates multiple output + files and defines the output_option would not have the right + build rules. + + * templates/ghs.mpd: + * templates/vc8.mpd: + + Support the compile_flags template variable. + +Tue Jun 21 11:55:38 2005 Chad Elliott + + * modules/BMakeProjectCreator.pm: + + Double ampersand, &&, means something special to Borland Make. + So, we override the get_and_symbol method to return a string that + Borland Make can handle. + + * modules/BMakeWorkspaceCreator.pm: + + Added -$(MAKEFLAGS) to each sub-make call so that options passed + to the original make are propagated down. Thanks to Johnny for + informing me about this. + + * modules/MakeProjectBase.pm: + + Added an environment variable *for testing purposes only* that + forces Make based projects to be sorted. + + * modules/ProjectCreator.pm: + + If we are to sort files, the output files (used with custom_types + in templates) need to be sorted. + + * modules/TemplateParser.pm: + + Attempt to preserve the original order of template variables when + the values of the template variables refer to scoped template + variables. This isn't always possible, but in most cases it is. + + * prj_install.pl: + + Added pidl_files to the list of default installed files. + + * templates/bmake.mpd: + * templates/bmakecommon.mpt: + + Support multiple compilers (cbx and bcc) from within a single + makefile. + + * templates/em3vcpdll.mpt: + * templates/em3vcpdllexe.mpt: + * templates/em3vcplib.mpt: + * templates/em3vcplibexe.mpt: + * templates/nmakedll.mpt: + * templates/nmakeexe.mpt: + * templates/vc6dspdll.mpt: + * templates/vc6dspdllexe.mpt: + * templates/vc6dsplib.mpt: + * templates/vc6dsplibexe.mpt: + * templates/vc7csharp.mpt: + * templates/vc7dll.mpt: + * templates/vc7exe.mpt: + * templates/vc7lib.mpt: + * templates/vc7libexe.mpt: + * templates/vc7vb.mpt: + * templates/vc8dll.mpt: + * templates/vc8exe.mpt: + * templates/vc8lib.mpt: + * templates/vc8libexe.mpt: + + Alphabetically sort 'configurations' and 'platforms'. + +Mon Jun 20 20:53:50 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Provide better error messages for certain situations. + Fixed a bug where setting sharedname to empty did not convert the + project to a static library (when staticname was set). + Always do a case insensitive search for resource files. + Fixed a bug where generated files wouldn't be added correctly if + some source files existed in the directory. + Fixed a bug where the 'postcommand' wouldn't be applied if there + was more than one output file per input file. + + * templates/automake.mpd: + + Fixed a bug where gendir wasn't applied correctly to output files. + + * modules/TemplateParser.pm: + * templates/bmake.mpd: + * templates/em3vcp.mpd: + * templates/ghs.mpd: + * templates/make.mpd: + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + * templates/vc7csharp.mpd: + * templates/vc7vb.mpd: + * templates/vc8.mpd: + + Fixed a bug where the 'postcommand' wouldn't be applied if there + was more than one output file per input file. + Also, correctly support static projects that come from setting + sharedname to empty. + +Thu Jun 16 10:21:09 2005 Chad Elliott + + * templates/bmake.mpd: + * templates/em3vcp.mpd: + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + * templates/vc8.mpd: + + Upon Johnny Willemsen's suggestion, I have reversed the order of + libraries for Windows based project types. This helps ACE and TAO + with static initialization issues. + +Wed Jun 15 07:33:24 2005 Chad Elliott + + * modules/ProjectCreator.pm (remove_duplicate_addition): + + In order to ensure that duplicates are correctly removed, we need + to make sure that addition values have the "right" slashes. + Thanks to Johnny Willemsen for bringing this to my attention. + +Tue Jun 14 14:21:16 2005 Justin Michel + + * modules/TemplateParser.pm: + + Chad added a new function to make it easier to compare strings for + equality. + + * templates/vc7.mpd: + * templates/vc8.mpd: + + Updated to put default_group files into the top level group. For + example, any source_files that aren't part of a specified group + will now be placed directly under source_files in the ide. + +Tue Jun 14 12:30:16 2005 Chad Elliott + + * modules/WorkspaceCreator.pm: + + Fixed a bug where excluding based on type caused those that + weren't excluded to be added to the workspace (which is not the + function of exclude). + +Tue Jun 14 07:15:09 2005 Chad Elliott + + * config/global.mpb: + + Set libpaths to '.' since libout is set to '.' as well. + + * modules/Creator.pm: + * modules/WorkspaceCreator.pm: + + Corrected support for scoping and exclusion from within an + aggregated workspace. + +Fri Jun 10 06:36:02 2005 Chad Elliott + + * USAGE: + * modules/OutputMessage.pm: + * modules/Parser.pm: + + Added a 'details' logging message and switched the "Skipping" + message to it. + + * modules/ProjectCreator.pm: + + Fixed a bug with the '<<' and '>>' operators and Windows based + projects that have custom input files within subdirectories. + Also, fixed a bug where exe's and lib's that have spaces in the + names were not escaped even if a project type implemented the + escape_spaces() method. + + * templates/make.mpd: + + Fixed support for spaces in file names. + + * templates/makedll.mpt: + + Changed the ln setting for mingw32 to 'move /y' instead of 'mv'. + +Tue May 31 15:45:44 2005 Chad Elliott + + * modules/TemplateParser.pm: + + Support using flag_overrides() within the context of a foreach. + + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + * templates/vc8.mpd: + + Interpret flag_overrides of the custom_types->dependent setting + as an array instead of a string. This makes things consistent + with non-overridden values of dependent. + +Tue May 31 09:46:49 2005 Chad Elliott + + * templates/vc7.mpd: + * templates/vc8.mpd: + + Exclude all documentation files from the build. Certain + extensions are automatically excluded, but that isn't good enough + to cover all possible documentation extensions. + +Fri May 27 10:24:25 2005 Chad Elliott + + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + * templates/vc8.mpd: + + Interpret custom_types->dependent as an array instead of a string. + This is completely backward compatible since a string is just a + one element array in the template language. + +Fri May 27 07:56:11 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Fixed a bug where explicitly specified output files would get + mixed with implicit output files if an input file were shared by + two different custom types. + + * modules/TemplateParser.pm: + + Fixed a bug where flag_overrides() functions that were parameters + to functions within an if would not be processed correctly. + + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + * templates/vc8.mpd: + + When setting up additional dependencies through the dependent + setting of custom types, don't append .exe if the command is a + perl script. This is not a generic solution, but most of the time + commands are either an exe or a perl script. + +Tue May 24 13:57:42 2005 Chad Elliott + + * modules/AutomakeProjectCreator.pm: + + Removed unnecessary sort method. It implemented the default. + + * modules/GHSProjectCreator.pm: + + Call escape_regex_special() before using the starting directory as + a regular expression. + + * templates/bmake.mpd: + * templates/bmakedll.mpt: + * templates/bmakedllexe.mpt: + * templates/bmakelibexe.mpt: + + Support Unicode builds by checking the UNICODE make/environment + variable. + +Tue May 17 13:54:12 2005 Justin Michel + + * templates/vc7.mpd: + + Default to enabling wchar_t as a native type. This should now work + correctly given my recent changes to ACE. + + * templates/vc8.mpd: + + Remove an extra "/>" that was inadvertently left in the template. + Strangely this did not cause an error when opening the solution in + the IDE, but only showed up in the nightly builds. + +Tue May 17 12:40:35 2005 Chad Elliott + + * modules/WinProjectBase.pm: + + Check for paths with drive letters during dirname validation. + + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + + Brought over the duplicate_index changes from vc7.mpd. + +Tue May 17 11:47:45 2005 Chad Elliott + + * modules/ProjectCreator.pm: + * modules/TemplateParser.pm: + + Fixed a bug where a template variable default would not be used if + the user set the template variable to empty. + +Tue May 17 08:46:33 2005 Chad Elliott + + * clone_build_tree.pl: + + Avoid linking patch reject files. + + * templates/vc8.mpd: + + 1) Added vcprojecttype default similar to vc7.mpd. + 2) Changed all occurrances of Optimization to optimize. + 3) Added the 'dependencies' settings as was done for vc7.mpd. + + * templates/vc8dll.mpt: + + Changed all occurrances of Optimization to optimize. + +Tue May 17 06:48:59 2005 Chad Elliott + + * modules/VC7ProjectCreator.pm: + * templates/vc7.mpd: + + After suggesting a simplification to Johnny for the previous + change, I relized that it could be simplified even more by setting + the default in the mpd and not modifying any code. + + * templates/make.mpd: + + Added support for source files with spaces in the name. + + * templates/nmake.mpd: + + Added support for 'install' settings with spaces in the name. + +Mon May 16 18:47:12 UTC 2005 Johnny Willemsen + + * templates/vc7.mpd: + * modules/VC7ProjectCreator.pm: + For Visual C++ the project type is Visual C++, but the Intel compiler + can also be integrated into Visual Studio and then uses the same + template but just a different project type. Made it possible to + generate a different project type with an Intel C++ geneator we + are working on. + +Mon May 16 11:36:29 2005 Chad Elliott + + * modules/Driver.pm: + + Modified the time printout to just print the amount of time taken + at the end of each file or project type and then the total time at + the end. + + * modules/ProjectCreator.pm: + + Do not attempt to use the language setting if it hasn't been set. + This only happens when the -recurse option is used with mpc.pl. + + * modules/TemplateParser.pm: + * modules/VC71WorkspaceCreator.pm: + * modules/VC7ProjectCreator.pm: + * modules/VC7WorkspaceCreator.pm: + * modules/VC8ProjectCreator.pm: + * modules/VC8WorkspaceCreator.pm: + * templates/vc7.mpd: + * templates/vc8.mpd: + * templates/vc8dll.mpt: + * templates/vc8exe.mpt: + * templates/vc8lib.mpt: + * templates/vc8libexe.mpt: + + Committing Justin Michel's changes for + better support for Visual Studio 8 and streamlining changes for + the Visual Studio 7 project files. + +Mon May 16 06:47:57 2005 Chad Elliott + + * USAGE: + * modules/Parser.pm: + + Removed the MPC_INFORMATION environment variable and added + MPC_LOGGING which can be used to control all aspects of logging + (informational, warning and diagnostic). + + * README: + * modules/ProjectCreator.pm: + * templates/automake.mpd: + * templates/bmake.mpd: + * templates/em3vcp.mpd: + * templates/ghs.mpd: + * templates/make.mpd: + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + + Added a new operator, '<<', to allow user to specify additional + dependencies for only custom input files. See the README for more + details. + +Tue Apr 26 11:29:57 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Fixed a bug where when excluded files were listed in Source_Files + those that didn't match were no longer being added. + +Mon Apr 25 10:31:48 2005 Chad Elliott + + * config/xerces.mpb: + + Set Debug::xerceslib in addition to xerceslib to ensure that the + debug version of xerces is linked into Debug configurations for + Visual C++. Linking the optimized version into debug applications + has been reported to cause run-time issues. + + * modules/ProjectCreator.pm: + * modules/TemplateParser.pm: + + Fixed a bug where the scope name of a template variable being + expanded from $(...) was not taken into account. + +Mon Apr 18 13:16:52 2005 Chad Elliott + + * templates/em3vcp.mpd: + + Fixed a bug in the implib location. It should have contained the + <%machine%> setting in the path. + +Mon Apr 18 06:56:20 2005 Chad Elliott + + * templates/nmake.mpd: + + Updated to work with multiple resource files. + +Mon Apr 18 10:19:12 UTC 2005 Johnny Willemsen + + * templates/bmakecommon.mpt: + Removed -D_MT, it is ACE specific and not needed anymore in ACE + +Thu Apr 14 09:07:41 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Changed the option evaluation code to match the option exactly + instead of a portion of it. + +Thu Apr 14 07:27:11 2005 Chad Elliott + + * modules/AutomakeProjectCreator.pm: + + Changed the default back to using relative definitions. You must + now use -noreldefs if you do not want automatic relative + definitions. + + * modules/ProjectCreator.pm: + + Support && and || within the 'optional' clause of a Define_Custom. + + * modules/Creator.pm: + * modules/TemplateParser.pm: + + Support scoped variables which will allow users to modify project + and template variables based on foreach values. For example, if + you wanted to set 'lit_libs' for only Debug builds with vc6 you + could do this: + + project { + specific(vc6) { + Debug::lit_libs += foolib + } + } + + * templates/nmake.mpd: + + Use forward slashes in the DEPGEN setting to work with both Active + State Perl and Cygwin Perl. + +Wed Apr 13 07:18:59 2005 Chad Elliott + + * modules/TemplateParser.pm: + + Rewrote the tp_dirname() method to use the builtin rindex function + instead of character iteration. + + * templates/nmake.mpd: + + Simplified this template to use dirname() instead of multiple + contains(). + +Mon Apr 11 08:46:56 2005 Chad Elliott + + * templates/nmake.mpd: + + Corrected a bug dealing with source files containing ..\ where the + explicit rules did not have the correct path. + +Fri Apr 8 12:14:02 2005 Chad Elliott + + * modules/WinProjectBase.pm: + + Since a directory with ..\ in it will cause the object files + to be created outside of the intermediate directory, + no Windows based project can have ..\ in the intermediate + directory name. + + * templates/automake.mpd: + * templates/automakedll.mpt: + + Added support for the 'postbuild' setting. + +Wed Apr 6 06:43:51 2005 Chad Elliott + + * modules/TemplateParser.pm: + + Added new template functions, 'ends_with' and 'contains', which + work similarly to 'starts_with'. The function names are self + explanatory. + +Mon Apr 4 13:02:59 2005 Chad Elliott + + * config/xerces.mpb: + + Change libs to lit_libs to ensure that there are no library + decorator issues (especially with static builds). + +Mon Apr 4 12:27:14 2005 Chad Elliott + + * modules/TemplateParser.pm: + + Added a new template function, 'starts_with', that takes two + parameters. The first parameter is a template variable and the + second is a literal string. If the value of the template variable + starts with the literal string, then starts_with evaluates to + true. + +Fri Apr 1 12:39:12 2005 Chad Elliott + + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + + Specify the /implib option to be consistent with the nmake and vc7 + templates. This allows the user to control where it goes with the + 'libout;' setting. + +Fri Apr 1 07:30:50 2005 Chad Elliott + + * README: + * modules/ProjectCreator.pm: + * modules/TemplateParser.pm: + + For some project keywords, the project value will be appended to + the template input variable of the same name (if there is one). + See the "Project Variable and Template Input Variable Interaction" + section of the README for more details. + + * templates/vc7.mpd: + + Only use 'link_options' if it's set. + +Thu Mar 31 10:23:39 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + If -global is used and the file does not contain a path, we will + search the include path for it. + +Thu Mar 31 06:53:14 2005 Chad Elliott + + * combine_dsw.pl: + + Added a new script to combine multiple dsw's into one. + + * modules/CBXProjectCreator.pm: + + Inherit from WinProjectBase to pick up the validated_directory + method. + + * modules/VC6ProjectCreator.pm: + * modules/WinProjectBase.pm: + + Moved the validated_directory method out of VC6ProjectCreator and + into WinProjectBase. Since $(...) could contain a drive letter, + no Windows based project can have $(...) in the intermediate + directory name. + +Tue Mar 29 07:56:08 2005 Chad Elliott + + * modules/Creator.pm: + + Fixed a bug in the subtraction code that would remove a portion of + an entry if only part of the existing value matched the string + being subtracted. + + * README: + * modules/ProjectCreator.pm: + * modules/TemplateParser.pm: + * templates/bmake.mpd: + * templates/em3vcp.mpd: + * templates/html.mpd: + * templates/make.mpd: + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + + Added support for the new postbuild keyword. + + * templates/cbxdll.mpt: + * templates/cbxexe.mpt: + * templates/em3vcpdll.mpt: + * templates/em3vcpdllexe.mpt: + * templates/em3vcplib.mpt: + * templates/em3vcplibexe.mpt: + * templates/ghs.mpd: + * templates/ghscommon.mpt: + * templates/ghsdll.mpt: + * templates/ghslib.mpt: + * templates/makedll.mpt: + * templates/nmakedll.mpt: + * templates/nmakeexe.mpt: + * templates/sle.mpd: + * templates/sledll.mpt: + * templates/sleexe.mpt: + * templates/unixcommon.mpt: + * templates/vc6dspdll.mpt: + * templates/vc6dspdllexe.mpt: + * templates/vc6dsplib.mpt: + * templates/vc6dsplibexe.mpt: + * templates/vc7csharp.mpd: + * templates/vc7csharp.mpt: + * templates/vc7dll.mpt: + * templates/vc7exe.mpt: + * templates/vc7lib.mpt: + * templates/vc7libexe.mpt: + * templates/vc7vb.mpt: + * templates/windowscommon.mpt: + + Consistently use the template variables found in unixcommon.mpt + and windowscommon.mpt for library prefix and extensions and + executable extensions. + +Tue Mar 29 06:23:03 2005 Chad Elliott + + * config/xerces.mpb: + + Account for the many different names that the xerces library can + have by using a template variable that can be overridden by the + user if necessary. + +Fri Mar 25 18:37:52 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + *_HEADERS processing was broken when I added regular expression + to match all automake primaries. + +Fri Mar 25 10:59:10 2005 Chad Elliott + + * config/xerces.mpb: + + Changed libs to lit_libs to avoid putting the library decorator on + the xerces-c library under windows. + +Thu Mar 24 08:38:59 2005 Chad Elliott + + * modules/AutomakeProjectCreator.pm: + * modules/MakeProjectCreator.pm: + * modules/ProjectCreator.pm: + * modules/StringProcessor.pm: + * modules/TemplateParser.pm: + * templates/automake.mpd: + * templates/make.mpd: + * templates/nmake.mpd: + + Added better support for building projects with files that have + spaces in the names. + +Thu Mar 17 08:03:31 2005 Chad Elliott + + * config/openssl.mpb: + + Added support for Shining Light Productions prepackaged OpenSSL. + + * modules/AutomakeProjectCreator.pm: + * modules/ProjectCreator.pm: + + Made it so the automake project type does not perform relative + replacement. So, -noreldefs is not necessary for that type + anymore. + + * modules/Creator.pm: + * modules/Parser.pm: + * modules/TemplateParser.pm: + + Speed improvements which improve generation times by ~15%. + Also, in the template parser, I fixed a bug that allowed an if + statement to have multiple else's and removed two deprecated + sections of code. + +Wed Mar 16 22:04:35 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + Only emit empty primary definition if the first instance seen in + the project Makefile.am's is not unconditional. + +Wed Mar 16 14:44:51 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + Fix stray assignment that was marking all primaries as + "seen". + +Wed Mar 16 13:59:13 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + Only emit empty primary definition if it is found in more + than one conditional or if it is found in both conditional + and unconditional contexts. + + Fixes unexpected consequences of earlier change to use += + instead of = for _MANS, _SCRIPTS, and _HEADERS. + +Wed Mar 16 12:53:13 2005 J.T. Conklin + + * templates/automake.mpd: + + Don't add libraries to _LIBADD for convenience libraries. + +Wed Mar 16 12:31:52 2005 J.T. Conklin + + * templates/automake.mpd: + + Don't add -version-number to LDFLAGS for convenience libraries. + +Wed Mar 16 10:42:45 2005 J.T. Conklin + + * templates/automake.mpd: + + Use += instead of = for _MANS, _SCRIPTS, and _HEADERS. + +Fri Mar 11 07:56:49 2005 Chad Elliott + + * templates/nmakeexe.mpt: + + Debug and Release xecutable were getting the 'staticflags' due to + a side effect of the way scoping works in the TemplateParser. The + solution is to set 'need_staticflags' to empty in the Release and + Debug sections. + +Fri Mar 11 07:03:04 2005 Chad Elliott + + * templates/nmake.mpd: + + Fixed a bug in the intermediate directory for the precompiled + header object file. Also, move some targets around such that + 'all' is the first target in the generated makefile. + +Thu Mar 10 21:08:24 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + Emit the RCS/CVS Id in the boilerplate at the beginning of the + workspace Makefile.am in three separate substrings so that it's + not expanded each time this file is changed. + +Thu Mar 10 20:13:58 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + Scan project Makefile.am's for pkgconfig_DATA, if it is present + emit "pkgconfigdir = @libdir@/pkgconfig" at the begining of the + workspace Makefile.am. This will help avoid typos like the ACE + pkgconfigdir definition in 5.4.4. + +Wed Mar 9 08:53:39 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Remove duplicate 'macros' when adding or subtracting. + + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + + Set the defaults for 'optimize_flags' and 'debug_flags' to + /O2 and /Ob0 respectively. They can be overridden with 'specific' + or the -value_template option. + +Tue Mar 8 12:57:52 2005 Chad Elliott + + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + + Fixed a bug introduced Fri Mar 4 12:03:48 2005. A different /Fo + option is needed for each different configuration. + +Tue Mar 8 07:21:11 2005 Chad Elliott + + * modules/ProjectCreator.pm: + * modules/TemplateParser.pm: + * modules/VC6ProjectCreator.pm: + + vc6 and em3 do not deal with $(...) correctly when compiling + source into an alternate intermediate directory (it doesn't expand + $(...) inside the /Fo option). + +Mon Mar 7 10:01:34 2005 Chad Elliott + + * README: + + Documented both changes below. + + * modules/ProjectCreator.pm: + + Added a new operator, '>>', to allow user to specify multiple + unrelated (file name wise) output files based on a custom input + file. + + * templates/em3vcp.mpd: + * templates/ghs.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + + If a custom defintion does not have an output extension specified, + you can list custom input files, but they will not be compiled + or processed. In the above graphical tools they will be + listed/displayed and excluded from the build. + +Fri Mar 4 12:03:48 2005 Chad Elliott + + * config/boost_regex.mpb: + + Turn off Windows automatic linking. + + * config/global.features: + * modules/FeatureParser.pm: + + Fixed the comment about the -features option. + + * modules/TemplateParser.pm: + + Added the ability to use 'dirname' in an if statement + and 'noextension' and 'normalize' in a foreach statement. + + * templates/bmake.mpd: + * templates/em3vcp.mpd: + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + + Added the ability to have multiple cpp files with the same name + (in different directories) in a project. Now, if an input source + file has a directory, the object file is placed in a similar + directory structure underneath the intermediate file directory. + + * templates/makedll.mpt: + + Changed the default for SunCC, aCC, xlC_r and SGICC to 64-bit. + Provided a 32-bit version of each of these. + +Thu Mar 3 12:14:12 UTC 2005 Johnny Willemsen + + * templates/bmake.mpd: + Only use mkdir to create a directory when it not exist yet. + +Fri Feb 25 08:13:09 2005 Chad Elliott + + * templates/bmake.mpd: + + Reworked the realclean target to avoid the long command lines and + situations where "del" was invoked with no file name arguments. + +Thu Feb 24 06:44:30 2005 Chad Elliott + + * templates/automakedll.mpt: + + Removed the setting of 'am_version' for two reasons. One, it's + not necessary to set the template variable in order to use it in + a template anymore. And two, it causes the 'version' conversion in + AutomakeProjectCreator.pm never to be used if a user sets + 'version' but does not set the 'am_version' template variable. + +Wed Feb 23 20:36:31 2005 J.T. Conklin + + * templates/automake.mpd: + + Remove trailing whitespace after version number if no + linkflags were specified. + + Rename pkgconfigdata_DATA to pkgconfig_DATA. + +Wed Feb 23 20:34:58 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + Remove trailing whitespace after project Makefile.am name. + +Wed Feb 23 19:43:10 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + Emit extra crlf after null variable definitions. + +Wed Feb 23 14:05:23 2005 J.T. Conklin + + * templates/automake.mpd: + + Revert last change. Multi-line output is more ugly than I + thought it would be. + +Wed Feb 23 13:56:42 2005 J.T. Conklin + + * templates/automake.mpd: + + Rework linkflags handling so output is more like what a human + might write. + + * templates/automakedll.mpt: + + Added am_version definition. + +Wed Feb 23 15:34:12 2005 Chad Elliott + + * templates/bmake.mpd: + + Changed the realclean target to delete files with /q instead of + checking for generated files and then deleting them if they exist. + In situations where a large number of files are generated, it + could have failed because the command was too long. + + * modules/AutomakeWorkspaceCreator.pm: + + Generate a configure.ac if one doesn't already exist. + + * modules/WorkspaceCreator.pm: + + Remove whitespace only if the dependency is defined and not an + empty string. + + * modules/TemplateParser.pm: + * templates/automake.mpd: + * templates/bmakelib.mpt: + * templates/bmakelibexe.mpt: + * templates/cbxdll.mpt: + * templates/cbxexe.mpt: + * templates/em3vcpdll.mpt: + * templates/em3vcpdllexe.mpt: + * templates/em3vcplib.mpt: + * templates/em3vcplibexe.mpt: + * templates/ghs.mpd: + * templates/ghsdll.mpt: + * templates/ghslib.mpt: + * templates/ghslibexe.mpt: + * templates/make.mpd: + * templates/nmake.mpd: + * templates/nmakedll.mpt: + * templates/nmakeexe.mpt: + * templates/sledll.mpt: + * templates/sleexe.mpt: + * templates/vc6dspdll.mpt: + * templates/vc6dspdllexe.mpt: + * templates/vc6dsplib.mpt: + * templates/vc6dsplibexe.mpt: + * templates/vc7dll.mpt: + * templates/vc7exe.mpt: + * templates/vc7lib.mpt: + * templates/vc7libexe.mpt: + + Standardized the type_is_static, type_is_dynamic, type_is_binary + and need_staticflags template variables and set them from within + the TemplateParser so that each mpt does not have to set them. + +Fri Feb 18 09:43:08 2005 Chad Elliott + + * README: + * modules/ProjectCreator.pm: + + Added pseudo variables: mkdir, input_basename and output_basename. + +Thu Feb 17 11:36:22 2005 Chad Elliott + + * modules/TemplateInputReader.pm: + * modules/TemplateParser.pm: + + In order to avoid conflicts between template hash names and + template variable values, template hash names now need to match + case-sensitively. Thanks to Thomas Rothfuss for reporting this. + +Thu Feb 17 10:09:21 2005 Chad Elliott + + * LICENSE: + + Corrected a spelling error. + + * templates/automake.mpd: + * templates/make.mpd: + * templates/makedll.mpt: + * templates/sle.mpd: + + Added the 'compile_flags' template variable. This variable + already exists in other templates. + +Tue Feb 15 08:29:47 2005 Chad Elliott + + * templates/bmake.mpd: + * templates/bmakedll.mpt: + * templates/bmakedllexe.mpt: + * templates/bmakelib.mpt: + * templates/bmakelibexe.mpt: + * templates/em3vcp.mpd: + * templates/em3vcpdll.mpt: + * templates/em3vcpdllexe.mpt: + * templates/em3vcplib.mpt: + * templates/em3vcplibexe.mpt: + * templates/nmake.mpd: + * templates/nmakedll.mpt: + * templates/nmakeexe.mpt: + * templates/sle.mpd: + * templates/sledll.mpt: + * templates/sleexe.mpt: + * templates/vc6dsp.mpd: + * templates/vc6dspdll.mpt: + * templates/vc6dspdllexe.mpt: + * templates/vc6dsplib.mpt: + * templates/vc6dsplibexe.mpt: + * templates/vc7.mpd: + * templates/vc7dll.mpt: + * templates/vc7exe.mpt: + * templates/vc7lib.mpt: + * templates/vc7libexe.mpt: + + Renamed the 'use_modifier' template variable to 'use_exe_modifier' + which determines if the 'lib_modifier' is added to the end of the + executable name. + + Added the 'use_lib_modifier' template variable which determines is + the 'lib_modifier' is added to the end of the library output name. + Note that 'lib_modifier' is always added to the input libraries + specified in the MPC project keyword 'libs'. + +Mon Feb 14 16:10:32 2005 Chad Elliott + + * modules/AutomakeProjectCreator.pm: + + Removed the implementation of + expand_variables_from_template_values to get the default + implementation which returns 1. + + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + + Support spaces in custom input files. Not all project types can + support spaces in file names, so use them at your own risk. + +Sat Feb 12 10:48:29 2005 Chad Elliott + + * README: + * modules/ProjectCreator.pm: + + Changed attributes of 'dependent' to allow users to use <%...%> + pseudo variables. Also fixed a bug where 'gendir' would not be + recognized when $(...) variables were converted into windows style + paths. + +Fri Feb 11 13:25:02 2005 Chad Elliott + + * README: + * modules/ProjectCreator.pm: + * modules/VC7ProjectCreator.pm: + + Added a new pseudo variable, 'quote', that will provide a + project specific representation of a double quote character. + RT #5125 + + * clone_build_tree.pl: + + Aesthetic change to print only Updating if updating a build and + Creating if creating a build. + +Fri Feb 11 06:58:04 2005 Chad Elliott + + * config/mfc.mpb: + * templates/em3vcp.mpd: + * templates/em3vcpdll.mpt: + * templates/em3vcpdllexe.mpt: + * templates/em3vcplib.mpt: + * templates/em3vcplibexe.mpt: + * templates/nmake.mpd: + * templates/nmakeexe.mpt: + * templates/vc6dsp.mpd: + * templates/vc6dspdllexe.mpt: + * templates/vc6dsplibexe.mpt: + * templates/vc7.mpd: + * templates/vc7exe.mpt: + * templates/vc7libexe.mpt: + + Provided a new template variable, unicode, which when set will + change the entry point for any MFC related executable to + wWinMainCRTStartup and set the UNICODE and _UNICODE preprocessor + macros. RT #5106 + +Mon Feb 7 09:51:10 2005 Chad Elliott + + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + + If pdbl is not set, then specify /pdb:none. This option is no + longer supported in later versions of MS LINK, so it is not used + in then nmake or vc7 templates. + +Thu Feb 3 12:53:37 2005 Chad Elliott + + * templates/em3vcp.mpd: + * templates/em3vcpdll.mpt: + * templates/em3vcpdllexe.mpt: + * templates/em3vcplib.mpt: + * templates/em3vcplibexe.mpt: + * templates/nmake.mpd: + * templates/nmakedll.mpt: + * templates/nmakeexe.mpt: + * templates/vc6dsp.mpd: + * templates/vc6dspdll.mpt: + * templates/vc6dspdllexe.mpt: + * templates/vc6dsplib.mpt: + * templates/vc6dsplibexe.mpt: + * templates/vc7.mpd: + * templates/vc7dll.mpt: + * templates/vc7exe.mpt: + * templates/vc7lib.mpt: + * templates/vc7libexe.mpt: + + Make the use of pdb related options consistent across all vc + related project types. Thanks to Thomas Rothfuss for suggesting + this. + +Tue Feb 1 10:31:00 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + Fixed the following bugs: + + 1) Not supplying a location to verbatim would not result in an + error. + 2) Adding non-grouped files after adding grouped files would + result in an error. + 3) Characters trailing closing curly braces would not be + recognized as an error. + 4) Some generated files could be added more than once depending on + the similarity of other generated files. For example, + Source.idl and SourceControl.idl would cause SourceControlC.cpp + to be added more than once. + + Thanks to Thomas Rothfuss for reporting #4. + + * modules/TemplateInputReader.pm: + + Simplified an if/else clause. + + * modules/TemplateParser.pm: + + Fixed a bug where mixed (HASH and SCALAR) foreach SCALAR values + would not be removed. It was originally dependent upon the order. + + Again, thanks to Thomas Rothfuss for reporting this. + + * modules/WorkspaceCreator.pm: + + Fixed a bug where characters trailing closing curly braces would + not be recognized as an error. + + * templates/em3vcp.mpd: + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + + Do not default the version value. Only provide version + information if the user specifically provided it. + +Thu Jan 27 12:40:12 2005 Chad Elliott + + * config/boost_base.mpb: + * config/global.features: + + Added requires += boost to the boost_base project and defaulted + boost to zero in the global features file. + + * modules/MakeWorkspaceCreator.pm: + + Fixed a bug where a project that was dependent upon a project that + had a translated name, would have the untranslated name as the + dependency. + + * templates/make.mpd: + + Removed an unnecessary foreach loop under the clean target. + +Wed Jan 26 13:52:36 2005 Chad Elliott + + * README: + * modules/WorkspaceCreator.pm: + + Allow the user to negate project types in 'exclude' clauses + within mwc files. + + * templates/make.mpd: + * templates/makedll.mpt: + + Provide precompiled header support for gcc. + +Tue Jan 25 12:38:57 2005 Chad Elliott + + * templates/em3vcpdll.mpt: + * templates/em3vcpdllexe.mpt: + * templates/em3vcplib.mpt: + * templates/em3vcplibexe.mpt: + + Replaced some compiler options that had been removed ~2 years ago + (including /GR to enable RTTI). + +Tue Jan 25 10:44:07 2005 Chad Elliott + + * clone_build_tree.pl: + + Added .cvsignore to the list of files to exclude. + + * templates/em3vcpdll.mpt: + * templates/vc6dspdll.mpt: + + Explicitly set the type_description and type_code instead of + getting a default in the template file. + + * templates/nmake.mpd: + + Don't run the $(DEPGEN) command if there are no source files. + + * README: + * modules/ProjectCreator.pm: + * templates/bmake.mpd: + * templates/em3vcp.mpd: + * templates/make.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + * templates/vc7csharp.mpd: + * templates/vc7vb.mpd: + + Added support for a new keyword called 'custom_only'. If it is + set in an mpc file, the generated project will only contain custom + generation targets. It will not contain source files, header + files, etc. + +Mon Jan 24 16:45:31 2005 J.T. Conklin + + * templates/automake.mpd: + + Fixed pkgconfigdata definition: config.status is found in + ${top_builddir}, not ${top_srcdir}. Also fixed a tab that had + been converted to spaces by mistake. + +Sun Jan 23 00:15:31 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + Restore CLEANFILES and EXTRA_DIST to conditionals since these + two macros don't match the general form of automake primaries. + +Sat Jan 22 23:59:00 2005 Marek Brudka + + * config/qt_uic.mpb (Module): + * config/qt_moc.mpb (Module): + * config/qt.mpb (Module): + * config/global.features: + + Merged REACTOR_SEPARATION branch with the main trunk. Below is + the list of more detailed changes. + + Thu Dec 9 20:00:39 2004 Marek Brudka + + * config/qt_uic.mpb (Module): + * config/qt_moc.mpb (Module): + These files are empty now. + + * config/qt.mpb (Module): + Qt became project which provides MOC and UIC rules. + + Sat Dec 4 14:29:51 2004 Marek Brudka + + * config/global.features: + Added comment about -features option. + + Fri Dec 3 23:56:20 2004 Marek Brudka + + * config/qt.mpb (Module): + qt based projects requires now qt features to be set. + +Sat Jan 22 23:20:57 2005 J.T. Conklin + + * templates/automake.mpd: + + Use new "sort" feature to sort list of header, inline, + template, etc. files for _HEADERS primary. + +Sat Jan 22 23:12:53 2005 J.T. Conklin + + * templates/automake.mpd: + + Changed to touch "stamp" file only if custom file type + generates multiple files. + +Fri Jan 21 17:16:04 2005 J.T. Conklin + + * modules/AutomakeWorkspaceCreator.pm: + + Changed conditionals which matched a set of specific automake + primaries to use a single regular expression that matches the + general form of all automake primaries. We shouldn't have to + change this any more when adding support for additional auto- + make features. + +Fri Jan 21 11:07:56 2005 Chad Elliott + + * modules/BMakeWorkspaceCreator.pm: + + Cosmetic changes. + + * modules/TemplateParser.pm: + + Provide new functionality for modifying lists within the context + of 'foreach' and 'if' statments. Four functions are provided: + 'multiple', 'reverse', 'sort', 'uniq'. + + 'multiple' returns true if the parameter give has more than one + element when evaluated in a list context. + + 'reverse' returns the list in reverse order. + + 'sort' returns the list in sorted order. + + 'uniq' return the list in sorted order with duplicates removed. + + * modules/AutomakeProjectCreator.pm: + + Removed 'rev_requires' and 'rev_avoids' and used the new 'reverse' + modifier. + + * templates/automake.mpd: + + Use the new modifiers provide by the TemplateParser. + +Thu Jan 20 07:13:43 2005 J.T. Conklin + + * templates/automake.mpd: + + Changed to append <%pkgconfig_files%> to EXTRA_FILES. + Changed to append to pkgconfigdata_DATA. + +Wed Jan 19 11:20:42 2005 Chad Elliott + + * USAGE: + * modules/Creator.pm: + * modules/Driver.pm: + * modules/Options.pm: + * modules/ProjectCreator.pm: + * modules/WorkspaceCreator.pm: + + Split the functionality of -expand_env into two options, -use_env + and -expand_vars. + + If the -use_env option is supplied to mwc.pl or mpc.pl, then MPC + will use environment variable to replace $() instances instead of + the values provided by -relative. + + If the -expand_vars option is used, then MPC will expand $() + variables to the exact value as found in the environment or the + -relative settings (depending on the use of the -use_env option). + + Also, the -relative option can now accept relative paths. + +Tue Jan 18 09:29:09 2005 Chad Elliott + + * README: + * modules/ProjectCreator.pm: + * templates/automake.mpd: + * templates/bmake.mpd: + * templates/em3vcp.mpd: + * templates/ghs.mpd: + * templates/make.mpd: + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + * templates/vc7csharp.mpd: + * templates/vc7vb.mpd: + + Added the ability to modify 'command' and 'dependent' within the + scope of a custom section (such as IDL_Files, RPC_Files, etc.) + +Tue Jan 18 07:34:32 2005 Chad Elliott + + * modules/Creator.pm: + * modules/ProjectCreator.pm: + * modules/WorkspaceCreator.pm: + + Factored code common to the Project and Workspace creator dealing + with the -into option into a method on the Creator for use in other + modules. + + * modules/AutomakeWorkspaceCreator.pm: + * modules/GHSWorkspaceCreator.pm: + * modules/VC7WorkspaceCreator.pm: + + Honor the -into option by prefixing each open and unlink with the + correct output directory determined by the new method on the + Creator. + +Mon Jan 17 07:54:36 2005 Chad Elliott + + * modules/Options.pm: + * modules/ProjectCreator.pm: + + Allow multiple modifications of the same template variable. Also, + fixed a bug where not having an inputext would cause generated + files not to be added. + + * modules/TemplateInputReader.pm: + + Allow redefintion of template input variables. + + * templates/automakedll.mpt: + * templates/automakeexe.mpt: + * templates/bmakedll.mpt: + * templates/bmakedllexe.mpt: + * templates/bmakelib.mpt: + * templates/bmakelibexe.mpt: + * templates/cbxdll.mpt: + * templates/cbxexe.mpt: + * templates/em3vcpdll.mpt: + * templates/em3vcpdllexe.mpt: + * templates/em3vcplib.mpt: + * templates/em3vcplibexe.mpt: + * templates/ghsdll.mpt: + * templates/ghsdllexe.mpt: + * templates/ghslib.mpt: + * templates/ghslibexe.mpt: + * templates/makedll.mpt: + * templates/makeexe.mpt: + * templates/nmakedll.mpt: + * templates/nmakeexe.mpt: + * templates/sledll.mpt: + * templates/sleexe.mpt: + * templates/vc6dspdll.mpt: + * templates/vc6dspdllexe.mpt: + * templates/vc6dsplib.mpt: + * templates/vc6dsplibexe.mpt: + * templates/vc7csharp.mpt: + * templates/vc7dll.mpt: + * templates/vc7exe.mpt: + * templates/vc7lib.mpt: + * templates/vc7libexe.mpt: + * templates/vc7vb.mpt: + + Added a conditional include to each mpt file in of the following + form: + + conditional_include "user_XXXXXX" + + where XXXXXX is the name of the current mpt file (without the + extension). This will allow a user to place custom configurations + in an mpt file that will automatically be included during project + generation, assuming that the file is located through the -include + specification. + +Mon Jan 10 13:58:37 2005 Chad Elliott + + * modules/ProjectCreator.pm: + + If 'inputext' is not used in a Define_Custom, still create the + custom type but provide no extensions. This will not cause a + warning when used when "automatic = 1", but nothing will be + automatically added since no input extension was provide. + + Also, fixed a bug where if gendir is set for a particular file + type in one scope, it would be applied to all files even in + different scopes. + + * templates/make.mpd: + + Fixed a bug where the template repository directory wouldn't get + created when necessary. + +Mon Jan 10 10:55:51 2005 J.T. Conklin + + * templates/automake.mpd: + + Added support for pkgconfig_files. + + * modules/AutomakeWorkspaceCreator.pm: + + Added pkgconfigdata_DATA to list of automake primaries we detect + for converting = to +=. + +Mon Jan 10 06:27:33 2005 Chad Elliott + + * modules/AutomakeWorkspaceCreator.pm: + + Before using the project name as a regular expression, we must + escape all of the regular expression specific characters. + +Fri Jan 7 13:59:31 2005 Chad Elliott + + * modules/Creator.pm: + * modules/StringProcessor.pm: + + Moved the crlf and windows_crlf method into StringProcessor and + finally fixed the problem with cygwin. Now cygwin perl can be + used with MPC. + + * modules/ProjectCreator.pm: + + Cache the contents of the template input files to avoid reading + them multiple times. Also, search for resource files that differ + only in case from the project name. + + * modules/FeatureParser.pm: + + Cache the contents of the feature file to avoid reading it + multiple times. + + * modules/Parser.pm: + * modules/TemplateParser.pm: + + Took the file caching code out of TemplateParser and moved it into + Parser so that more classes can use cached file reads than just + the TemplateParser. + + +Wed Jan 5 11:24:36 2005 Chad Elliott + + * templates/nmake.mpd: + + Fixed precompiled header problems where the pch source isn't in + the current directory. Also, changed the location of the + intermediate files to use the project name instead of the project + file without the extension. + +Wed Jan 5 07:08:57 2005 Chad Elliott + + * modules/AutomakeProjectCreator.pm: + * modules/BMakeProjectCreator.pm: + * modules/CBXProjectCreator.pm: + * modules/EM3ProjectCreator.pm: + * modules/GHSProjectCreator.pm: + * modules/HTMLProjectCreator.pm: + * modules/MakeProjectBase.pm: + * modules/MakeProjectCreator.pm: + * modules/NMakeProjectCreator.pm: + * modules/ProjectCreator.pm: + * modules/SLEProjectCreator.pm: + * modules/TemplateParser.pm: + * modules/VC6ProjectCreator.pm: + * modules/VC7ProjectCreator.pm: + * modules/VCProjectBase.pm: + * modules/WinProjectBase.pm: + * templates/em3vcp.mpd: + * templates/vc6dsp.mpd: + + Refactored much repeated code into 3 distinct base modules. There + is now a MakeProjectBase, WinProjectBase and VCProjectBase. Each + contain methods that are common to Make base projects, Windows + based projects and Visual C++ project types, respectively. + + Also, the 'win_version' template variable was factored out of the + ProjectCreator subclasses and into the TemplateParser. + + * templates/automake.mpd: + + Only emit the library or exe setting if source files are provided. + Thanks to Stephen Torri for suggesting + this. + +Tue Jan 4 09:52:13 2005 Chad Elliott + + * modules/WinVersionTranslator.pm: + + Truncate minor version numbers to 65535 or under as Visual C++ 6.0 + can't handle anything larger. + +Tue Jan 4 07:48:20 2005 Chad Elliott + + * modules/AutomakeWorkspaceCreator.pm: + + Added code to support the use of nobase_include_HEADERS and + nobase_pkginclude_HEADERS in the case where 'includedir' isn't + set. + +Mon Jan 3 13:12:23 2005 Chad Elliott + + * modules/AutomakeWorkspaceCreator.pm: + * templates/automake.mpd: + * templates/automakedll.mpt: + + Added support for an 'includedir' template variable that can be + used to override the default includedir setting determined by + AutomakeWorkspaceCreator. In order for header files for a + particular project to be "installed", the 'install_headers' + template variable needs to be set to 1. Thanks to Stephen Torri + for providing this functionality. + +Mon Jan 3 11:11:35 2005 Chad Elliott + + * USAGE: + * modules/MPC.pm: + * modules/MWC.pm: + + Removed support for Visual Age 4. It was incomplete, out-of-date + and most likely didn't work at all. + + * modules/VA4ProjectCreator.pm: + * modules/VA4WorkspaceCreator.pm: + * templates/va4icc.mpd: + * templates/va4iccdll.mpt: + * templates/va4iccdllexe.mpt: + * templates/va4icclib.mpt: + * templates/va4icclibexe.mpt: + + Removed these files. + +Mon Jan 3 09:18:13 2005 Chad Elliott + + * modules/ProjectCreator.pm: + * templates/em3vcp.mpd: + * templates/make.mpd: + * templates/nmake.mpd: + * templates/vc6dsp.mpd: + * templates/vc7.mpd: + + Added the ability to generate projects that only contain resource + files. + +Wed Dec 22 12:47:02 2004 Chad Elliott + + * MPC version 3.2.0 released. + +Local Variables: +add-log-time-format: current-time-string +End: -- cgit v1.2.1