Thu Feb 16 21:36:37 UTC 2006  Wallace Zhang  <zhangw@ociweb.com>

        * highlight_template.pl:

          Added a newline at the end of the file which is required
          by fuzz.pl.

Thu Feb 16 19:53:13 UTC 2006  Chad Elliott  <elliott_c@ociweb.com>

        * highlight_template.pl:

          Added a tool which can be helpful in debugging MPC template code.
          This utility will color highlight an MPC template and output html.

        * modules/Driver.pm:

          Perl 5.8.8 has a "feature" where basename('') returns './' instead
          of '' as all other versions do.  In the case where we may call
          basename() with an empty string, avoid calling basename() and just
          use '' instead.  Thanks to Johnny Willemsen for helping me debug
          this one.

        * modules/HTMLWorkspaceCreator.pm:

          Output the projects in build order instead of alphabetical order.

        * templates/make.mpd:

          Greatly simplified this template by removing many little foreach's
          and enclose most of the template in two big foreach's.

Wed Feb 15 19:41:59 2006  J.T. Conklin  <jtc@acorntoolworks.com>

        * templates/automake.mpd:

          Process header_files, inline_files, template_files, idl_files,
          and pidl_files even if we're not building a executable or lib.
          This ensures the files will be listed in the Makefile.am (for
          "make distcheck" and/or for "make install").

Wed Feb 15 17:56:02 2006  Steve Huston  <shuston@riverace.com>

        * templates/nmakedll.mpt:
        * templates/nmakeexe.mpt: Changed WinX86_64 platform name to x64 to be
          consistent with vc8platforms.mpt. Also set _M_AMD64 in cpu_defines,
          not _M_AXP64 to be consistent with what Microsoft headers are
          expecting; also added _AMD64_ to ensure it gets set - windows.h
          sets it, but if including winnt.h first, it doesn't get set.
          Thanks to Johnny Willemsen for motivating this change.

Wed Feb 15 18:42:30 UTC 2006  Chad Elliott  <elliott_c@ociweb.com>

        * README:
        * modules/ProjectCreator.pm:

          Added two new pseudo variables 'cmp' for a platform non-specific
          way to compare files and 'os' which provides the type of operating
          system the project is suited for (win32 or unix).

        * registry.pl:

          Register .mpb files just as .mpc files are registered.

Wed Feb 15 16:03:06 UTC 2006  Chad Elliott  <elliott_c@ociweb.com>

        * config/boost_base.mpb:

          Added an include path for $(BOOST_ROOT).

        * config/bzip2.mpb:
        * config/global.features:

          Added a bzip2 feature project and set the bzip2 feature to zero by
          default.

        * config/zlib.mpb:

          Switch from libs to lit_libs so that no decorator is added to the
          library name.

        * modules/ProjectCreator.pm:

          Accept .ipp as inline files.

        * templates/make.mpd:
        * templates/makedll.mpt:

          Provide library versioning on platforms that support it.  Added
          initial support for the intel compiler on Linux.

        * templates/vc7.mpd:

          Allow switching off exception handling.

Tue Feb 14 17:06:40 2006  Steve Huston  <shuston@riverace.com>

        * templates/vc8platforms.mpt: Changed the WinX86_64 platform to be
          x64 to match what VC8 generates itself and expects. Also added
          x64 to the platforms generated by default.

Mon Feb 13 11:15:04 2006  Chad Elliott  <elliott_c@ociweb.com>

        * config/global.features:

          Set the swig_perl, swig_java and python features to zero.

        * config/python.mpb:

          Added a base project for building against the python library.

        * config/swig_java.mpb:

          Added a requires += swig_java.

        * config/swig_perl.mpb:

          Added a requires += swig_perl.

        * modules/ProjectCreator.pm:

          Fixed a problem where if a file is automatically generated and
          gendir is set to '.', the file name may be added twice to a
          project.

          When automatically adding files specified by >>, take into account
          the gendir setting.

          Added a post project creation hook so that sub-classes of
          ProjectCreator can perform an action after a project file is
          created.

        * modules/TemplateParser.pm:

          Renamed the basename() function to tp_basename().

        * modules/VC8ProjectCreator.pm:

          Use the post file creation hook to remove the .user files created
          by VC8.  The .user file will only be removed if the project file
          is different than what was created by prior runs of MPC.

        * README:
        * modules/WorkspaceCreator.pm:

          Allow the user of -genins within a workspace.

        * templates/bmake.mpd:

          Put double quotes around gendir related files just in case gendir
          has a directory with spaces in the name.  Also, prefix all del and
          rmdir commands with - to continue on if there is an error.

        * templates/make.mpd:
        * templates/makedll.mpt:

          Changed the way that the 'configurations' template variable is used.
          The existing use has been renamed to 'compilers' and the
          'configurations' template variable is now used as it is in many of
          the other project types, as Debug or Release.

Fri Feb 10 06:36:59 2006  Chad Elliott  <elliott_c@ociweb.com>

        * modules/Options.pm:

          Fixed a bug where a -exclude argument with a comma in it would not
          be split.

        * modules/ProjectCreator.pm:

          Reverted a change that affected the way files were listed in
          templates when gendir = . was used.

        * templates/ghs.mpd:
        * templates/ghscommon.mpt:

          Changed libdecorator to lib_modifier to be consistent with all of
          the other templates.

Fri Feb 10 11:26:12 UTC 2006  Johnny Willemsen  <jwillemsen@remedy.nl>

        * templates/vc8platforms.mpt:
          For x86_64 specify an explicit link option

        * templates/nmake.mpd:
          Added platform_defines to the list of defines being generated,
          this is as with the normal vc templates

        * templates/nmakedll.mpt:
        * templates/nmakeexe.mpt:
          Added platform_defines and updated cpu_define to the same
          value used as with the normal vc templates for WinX86_64

Thu Feb  9 12:50:52 2006  Chad Elliott  <elliott_c@ociweb.com>

        * config/boost_iostreams.mpb:
        * config/boost_program_options.mpb:
        * config/boost_python.mpb:
        * config/boost_serialization.mpb:
        * config/boost_wave.mpb:

          Added support for other boost libraries.

        * modules/DirectoryManager.pm:
        * modules/Options.pm:

          Added support for wildcards when using the -exclude option.

        * modules/ProjectCreator.pm:

          When the Define_Custom has the automatic flag set to 1,
          automatically add the files generated that are specified by the >>
          operator.

          Fixed a bug where <% %> variables used within a 'specific' section
          were not translated.

        * modules/TemplateParser.pm:

          Fixed a bug where errors within a <%foreach%> would be silently
          ignored.

        * modules/WorkspaceCreator.pm:

          Added support for wildcards.

        * templates/bmake.mpd:
        * templates/bmakedll.mpt:
        * templates/bmakedllexe.mpt:
        * templates/bmakelib.mpt:
        * templates/bmakelibexe.mpt:

          Fixed a bug where debug_flags was being placed in all
          configurations, not just debug.  And modified these, so that debug
          flags are only emitted in a debug configuration (when optimze is
          overriden to be zero).

        * templates/em3.mpd:
        * templates/em3vcpdll.mpt:
        * templates/em3vcpdllexe.mpt:
        * templates/em3vcplibexe.mpt:

          EVC 4.0 doesn't support "utility" projects, so when custom_only is
          set to 1, just create a DLL project that has no target.  Also,
          fixed link issues for the emulator and x86 targets. And, sort the
          grouped files so that a project can be reproduced consistently.

        * templates/vc6.mpd:
        * templates/vc7.mpd:
        * templates/vc8.mpd:

          Sort the grouped files so that a project can be reproduced
          consistently.

Thu Feb  2 07:02:19 2006  Chad Elliott  <elliott_c@ociweb.com>

        * clone_build_tree.pl:

          Do not clone the .svn directory.  It's administrative just like
          the CVS directory.

        * modules/ProjectCreator.pm:

          There was a bug where file with a path specified using the '>>'
          operator would not be processed correctly on Windows based project
          types.  Thanks to Thomas Rothfuss for reporting this.

Mon Jan 30 12:07:35 2006  Chad Elliott  <elliott_c@ociweb.com>

        * PROBLEM-REPORT-FORM:

          Added a section to provide the Perl version.

        * README:

          Updated the valid command line options for workspaces with the
          -language option.

        * USAGE:

          Documented the -value_template option and provided an example
          where spaces needed to be retained.

        * modules/XMLProjectBase.pm:
        * modules/BDSProjectCreator.pm:
        * modules/CBXProjectCreator.pm:
        * modules/HTMLProjectCreator.pm:
        * modules/SLEProjectCreator.pm:
        * modules/VC7ProjectCreator.pm:

          Created a new project base for XML based project creators.  The
          trend in projects seem to be going toward XML so we can minimize
          the amount of repeated code by using the XMLProjectBase.

        * modules/BDSWorkspaceCreator.pm:
        * modules/CBXWorkspaceCreator.pm:
        * modules/GHSWorkspaceCreator.pm:
        * modules/SLEWorkspaceCreator.pm:

          Tell the sort_dependencies() method that we do not want sorting
          by directory groups.

        * modules/BMakeProjectCreator.pm:

          Removed an unnecessary check of convert_slashes().

        * modules/ProjectCreator.pm:

          Provided support for use of <% %> variables within all of MPC
          project keywords.  The list of valid variables only includes the
          pseudo variables listed under 'postbuild' in the README.

        * templates/bmake.mpd:

          Utilize the 'transdir' template function to fully support files
          with .. in the path name.

        * templates/vc7.mpd:
        * templates/vc7dll.mpt:
        * templates/vc7exe.mpt:
        * templates/vc7lib.mpt:
        * templates/vc7libexe.mpt:
        * templates/vc8.mpd:
        * templates/vc8dll.mpt:
        * templates/vc8exe.mpt:
        * templates/vc8lib.mpt:
        * templates/vc8libexe.mpt:

          Added two new configurations (not generated by default) called
          'Memcheck Debug' and 'Memcheck Release'.  These configurations
          provide settings that are amenable to external memory checking
          tools.

Wed Jan 25 11:40:37 2006  Chad Elliott  <elliott_c@ociweb.com>

        * modules/WorkspaceCreator.pm:

          Return an array reference from the get_validated_ordering() method
          instead of a string.  In every place get_validated_ordering() was
          called, the return value was immediately converted to an array.

        * modules/VC6WorkspaceCreator.pm:
        * modules/VC71WorkspaceCreator.pm:
        * modules/VC7WorkspaceCreator.pm:

          Use the returned array instead of converting the string into an
          array.

Wed Jan 25 09:02:34 2006  Chad Elliott  <elliott_c@ociweb.com>

        * modules/DirectoryManager.pm:
        * modules/TemplateParser.pm:
        * modules/WinProjectBase.pm:

          Added a new template function called transdir which will translate
          a directory portion of a filename into a "usable" object file
          directory.  It entails changing .. into the word 'dotdot' and for
          windows based projects it will also change drive letters and $()
          variables.

        * templates/nmake.mpd:

          Use the new transdir function to deal with relative directories
          and other problematic directory names.

Mon Jan 23 13:05:12 2006  Chad Elliott  <elliott_c@ociweb.com>

        * templates/nmake.mpd:

          Added a rule back in that was removed by my change on
          Mon Jan  9 08:30:14 2006.

Mon Jan 23 12:08:25 2006  Chad Elliott  <elliott_c@ociweb.com>

        * modules/BMakeWorkspaceCreator.pm:
        * modules/MakeWorkspaceCreator.pm:
        * modules/NMakeWorkspaceCreator.pm:

          Tell the number_target_deps() method that we do not want sorting
          by directory groups.

        * modules/VC6WorkspaceCreator.pm:
        * modules/VC71WorkspaceCreator.pm:
        * modules/VC7WorkspaceCreator.pm:

          No need to check for circular dependencies here, it is now done
          when validating the dependencies.

        * modules/WorkspaceCreator.pm:

          Re-wrote the circular directory dependency detection code in order
          to detect multi-directory (3 or more) dependencies.  This slowed
          things down a bit, so I had to find performance in other locations
          throughout the workspace creator.

Thu Jan 19 12:59:55 2006  Chad Elliott  <elliott_c@ociweb.com>

        * USAGE:
        * modules/Driver.pm:
        * modules/Options.pm:

          Added a new option, -gfeature_file, to specify the global feature
          file.

Thu Jan 19 12:30:18 2006  Chad Elliott  <elliott_c@ociweb.com>

        * modules/VC71ProjectCreator.pm:
        * modules/VC7ProjectCreator.pm:

          Moved a static hash table out of a method and into the local
          namespace (for performace reasons).

        * modules/VC7WorkspaceCreator.pm:
        * templates/vc7csharp.mpd:
        * templates/vc7vb.mpd:

          Removed the code that added references for csharp or vb.  This was
          not necessary and in fact broke the projects.

        * modules/VC8ProjectCreator.pm:
        * templates/vc8csharp.mpd:
        * templates/vc8csharp.mpt:

          Added support for the vc8 style projects for csharp.  Previously,
          the vc7 version for csharp was used and required conversion within
          vc8.

Wed Jan 18 15:12:40 2006  Chad Elliott  <elliott_c@ociweb.com>

        * templates/nmake.mpd:

          Modified the clean rule to just use del /s/f/q instead of listing
          out each object file.  Thanks to Johnny Willemsen for debugging
          this.

Wed Jan 18 13:04:27 2006  Chad Elliott  <elliott_c@ociweb.com>

        * modules/NMakeWorkspaceCreator.pm:
        * modules/TemplateParser.pm:
        * modules/VC7ProjectCreator.pm:
        * modules/VC7WorkspaceCreator.pm:

          We need to keep track of the language for each project processed.
          This allows the VC7, VC71 and VC8 WorkspaceCreator's to put the
          right GUID in for the individual projects.

Tue Jan 17 07:25:29 2006  Chad Elliott  <elliott_c@ociweb.com>

        * modules/FeatureParser.pm:

          The previous change included a change to make features
          case-insensitive.  This change was not complete and has been
          corrected.

Mon Jan 16 11:17:45 2006  Chad Elliott  <elliott_c@ociweb.com>

        * MPC.ico:

          Modified the MPC project icon to have the (P) on the left side
          instead of the right so that it looks better with Tortoise.

        * modules/Creator.pm:
        * modules/WorkspaceCreator.pm:

          Added support for using -language within a workspace.  Previously,
          this was disallowed but there was no real reason for that.

        * modules/FeatureParser.pm:
        * modules/ProjectCreator.pm:
        * modules/TemplateParser.pm:

          Added support for accessing MPC features and their values.

        * templates/html.mpd:

          Added all of the MPC project keywords.

        * templates/nmake.mpd:

          Added the -i parameter to the depgen.pl script.

        * templates/vc6dspdll.mpt:

          Added the _WINDLL and _AFXDLL macros for the MFC configurations.

        * templates/vc7.mpd:

          Added the ability to set the GenerateMapFile setting.  Thanks to
          David Hauck for providing the modification.

        * templates/vc7csharp.mpd:
        * templates/vc7vb.mpd:

          Added the ReferencePath setting so that libraries can be located
          (if referenced) and ensured that the 'install' setting worked as
          it does in all other templates.  Thanks to Dan Troesser for
          providing the ReferencePath setting and pointing out the 'install'
          discrepancy.

Tue Jan 10 16:30:32 2006  Ossama Othman  <ossama@dre.vanderbilt.edu>

        From Russell Mora <russell_mora at symantec dot com>
        * templates/nmake.mpd:

          Add to manifest files, if `.manifest' file exists.

Mon Jan  9 08:30:14 2006  Chad Elliott  <elliott_c@ociweb.com>

        * templates/nmake.mpd:

          Corrected a bug reported by Johnny Willemsen where object files
          were not getting cleaned up if they contained a relative path with
          ".." in the name.  In the process, I cleaned up the template a bit
          which should allow this type to be generated slightly faster.

Thu Jan  5 09:45:54 2006  Chad Elliott  <elliott_c@ociweb.com>

        * modules/Creator.pm:
        * modules/DirectoryManager.pm:
        * modules/ProjectCreator.pm:

          Made MPC more tolerant of file systems that are case insensitive.
          This will help with the relative path replacement on Windows and
          others that have this problematic type of file system.

Wed Jan  4 08:09:20 2006  Chad Elliott  <elliott_c@ociweb.com>

        * modules/ProjectCreator.pm:

          Fixed a bug where adding a grouped set of source files that are
          generated using a wildcard would cause a duplicate of the default
          group if files were added to a different after the generated
          group.

Tue Jan  3 08:26:34 2006  Chad Elliott  <elliott_c@ociweb.com>

        * USAGE:
        * modules/Options.pm:

          Added the possible language settings to the help message.

        * templates/make.mpd:
        * templates/makedll.mpt:

          Allow control of the 'genflags' setting with the 'optimize'
          template variable.  This changes the default 'genflags' setting
          from -g to -O.

        * templates/vc7.mpd:
        * templates/vc7dll.mpt:
        * templates/vc7exe.mpt:
        * templates/vc7lib.mpt:
        * templates/vc7libexe.mpt:
        * templates/vc8.mpd:
        * templates/vc8dll.mpt:
        * templates/vc8exe.mpt:
        * templates/vc8lib.mpt:
        * templates/vc8libexe.mpt:

          Introduced a new template variable, 'debug_prj', which helps
          control which run-time library is used during linking.
          Previously, this was controled by the 'optimize' template
          variable, but building a "Release" configuration with 'optimize'
          turned off did not work where inline functions were used in other
          libraries (being linked in) where 'optimize' was left on.

Mon Dec 26 21:02:36 2005  Chad Elliott  <elliott_c@ociweb.com>

        * templates/vc7.mpd:
        * templates/vc8.mpd:

          Set the run-time library to a static version if either template
          variables type_is_static or need_staticflags are set.

Thu Dec 22 13:56:14 2005  J.T. Conklin  <jtc@acorntoolworks.com>

        * modules/AutomakeProjectCreator.pm:

          Disable code that prefixed include paths with "$(srcdir)/".  In
          some cases an include path should be relative to the source dir,
          in others it should be relative to the build dir, and sometimes
          it should be relative to both.  Since it is impossible to guess
          which is the correct choice, require the *.mpc file to specify
          it correctly.

Thu Dec 22 15:17:30 2005  Chad Elliott  <elliott_c@ociweb.com>

        * templates/vc7csharp.mpd:

          Added a missing <%endif%>.

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:
          Set the TargetMachine when building for EM64T

Wed Dec 21 18:55:12 UTC 2005  Johnny Willemsen  <jwillemsen@remedy.nl>

        * templates/bds.mpd:
        * templates/bdsdll.mpt:
        * templates/bdsexe.mpt:
        * modules/BDSProjectCreator.pm:
        * modules/BDSWorkspaceCreator.pm:
          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 useful for
          debugging apps that are build from the command line.

        * modules/MPC.pm:
        * modules/MWC.pm:
          Added BDS files

Wed Dec 21 06:28:04 2005  Chad Elliott  <elliott_c@ociweb.com>

        * MPC.ico:
        * registry.pl:

          Added the ability to register the .mpc and .mwc file types as well
          as create context menus within the Windows explorer.

        * PROBLEM-REPORT-FORM:

          Fixed the URL for the MPC FAQ.

        * README:
        * modules/TemplateParser.pm:

          Added the ability to set the base for the <%forcount%> variable.
          See the README for details as to how to use this.  Also, added
          code to only check for mixed values (scalars and hash maps) if the
          foreach value is not the name of an MPC project keyword.

        * config/swig_java.mpb:

          Added support for using SWIG with Java.

        * modules/AutomakeProjectCreator.pm:
        * modules/Driver.pm:
        * modules/GHSProjectCreator.pm:
        * modules/HTMLProjectCreator.pm:
        * modules/MakeProjectCreator.pm:

          Removed the convert_slashes() method.  And use the default from
          DirectoryManager.pm.

        * modules/Creator.pm:

          Use File::Spec to determine file system capabilities to give the
          right warning message.  Also added the ability to determine if any
          files were excluded when generating the default file list.

        * modules/DirectoryManager.pm:

          Corrected problems with using Cwd::getcwd() on VMS as it always
          leaves a trailing slash on the end which no other implementation
          does.  Also, switched the convert_slashes() method to return zero
          as the default (which will require slightly less code overall in
          MPC).

        * modules/HTMLWorkspaceCreator.pm:
        * templates/html.mpd:

          Make the HTML acceptable by WC3 standards.

        * modules/MakeWorkspaceCreator.pm:

          Added a .PHONY: target for each named target.  This will only work
          with GNU Make and won't hurt with other versions of make.

        * modules/ProjectCreator.pm:

          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
             determine if a variable is an MPC project keyword or not.
          3) When adding the built-in OS compatibility methods, check the
             base class to see if it's a WinProjectBase to determine if the
             project type will be used on Windows or not.

        * modules/WinProjectBase.pm:

          For Windows based project types, define the convert_slashes() and
          case_insensitive() methods.

        * modules/WorkspaceCreator.pm:

          Fixed a bug where file exclusions given on the command line
          wouldn't work because somewhere down the line MPC would change
          directory and nothing would match up.  Also, fixed a related bug
          where if all of the .mpc files normally contained within a
          workspace were excluded a default workspace would then be used
          possibly adding unwanted .mpc files.

        * mpc.pl:
        * mwc.pl:

          Finally corrected support for VMS.  FindBin doesn't work on VMS if
          you use a relative directory, so we just use rel2abs() on the
          dirname of $0 in this situation.

        * templates/bmake.mpd:
        * templates/bmakedll.mpt:
        * templates/bmakedllexe.mpt:
        * templates/bmakelibexe.mpt:

          Modified these to move the binary compile flags into the template
          such that correct makefiles would be created if the user set the
          staticname to a valid name and set sharedname to empty.

        * templates/ghs.mpd:
        * templates/ghsdll.mpt:
        * templates/ghsdllexe.mpt:
        * templates/ghslib.mpt:

          Modified these to move the library extensions into the template
          such that correct build files would be created if the user set the
          staticname to a valid name and set sharedname to empty.

        * templates/make.mpd:

          Moved the output file to the last part of the link command line.
          Made "all" the default target for libraries.  Parameterized the
          pch extension.  Added better support for precompiled headers.

        * templates/makedll.mpt:

          Set the default pch extension to .gch.  Renamed the cxx
          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.

        * templates/vc7.mpd:
        * templates/vc7dll.mpt:
        * templates/vc7exe.mpt:
        * templates/vc7lib.mpt:
        * templates/vc7libexe.mpt:
        * templates/vc8.mpd:
        * templates/vc8dll.mpt:
        * templates/vc8exe.mpt:
        * templates/vc8lib.mpt:
        * templates/vc8libexe.mpt:

          Modified the RuntimeLibrary setting to choose the right value for
          static/dynamic configurations.

Tue Dec  6 06:36:27 2005  Chad Elliott  <elliott_c@ociweb.com>

        * modules/WorkspaceCreator.pm:

          Fixed a bug where MPC would go into an infinite loop (while
          generating an intermediate workspace) if there were duplicate
          project names within a single workspace.  The sort_by_groups()
          method is being called prior to the method that checks for
          duplicate projects.

Mon Dec  5 14:17:35 2005  William Otte  <wotte@dre.vanderbilt.edu>

        * config/boost_unit_test_framework.mpb

        Automatic linking is not supported for the unit test
        framework, see http://boost.org/more/getting_started.html#auto-link.

Tue Nov 29 10:11:14 2005  William Otte  <wotte@dre.vanderbilt.edu>

        * config/boost_date_time.mpb:
        * config/boost_filesystem.mpb:
        * config/boost_prg_exec_monitor.mpb:
        * config/boost_regex.mpb:
        * config/boost_signals.mpb:
        * config/boost_test_exec_monitor.mpb:
        * config/boost_thread.mpb:
        * config/boost_unit_test_framework.mpb:

        Corrected a problem with my previous commit that broke boost
        on platforms other than gnuace and windows.  Thanks to Chad
        Elliott and Kitty B. for pointing out the problem and suggesting
        a fix.

Mon Nov 21 15:23:40 2005  William Otte  <wotte@dre.vanderbilt.edu>

        * config/boost_filesystem.mpb:
        * config/boost_regex.mpb:

        Scoped the lit_libs directive inside of a gnuace specific
        block to take advantage of automatic library resolution provided
        by the Windows version of boost.

Mon Nov 21 09:26:35 2005  Chad Elliott  <elliott_c@ociweb.com>

        * README:
        * modules/Creator.pm:
        * modules/ProjectCreator.pm:

          Added a new clause (expand) that can be used to set the expansion
          values of a particular variable.  This lets users define to what
          $(VAR_NAME) gets expanded within an mpc file.  See the README for
          more information.

        * mpc.pl:
        * mwc.pl:
        * modules/DirectoryManager.pm:
        * modules/WorkspaceCreator.pm:
        * templates/make.mpd:
        * templates/makedll.mpt:

          Added better support for OpenVMS.  This mainly entailed dealing
          with the .dir extension on directories and [] within wildcard
          specifications (as the OpenVMS glob() function does not handle
          these).

Wed Nov 16 08:30:51 2005  Chad Elliott  <elliott_c@ociweb.com>

        * modules/Creator.pm:
        * modules/ProjectCreator.pm:

          Fixed a bug where adding or subtracting a value with spaces would
          not work as expected.  When adding, the value would be split at
          each whitespace.  When subtracting, the value would never be
          removed.

          Setting a variable with spaces worked correctly.

Mon Nov 14 12:06:15 2005  Chad Elliott  <elliott_c@ociweb.com>

        * templates/nmake.mpd:

          Corrected a problem in the realclean target where .dll, .lib and
          .exp files would not be deleted unless pdbc or pdbl template
          variables were defined.

Mon Nov 14 09:50:38 2005  Chad Elliott  <elliott_c@ociweb.com>

        * modules/WorkspaceCreator.pm:

          Fixed a bug where a project name that conflicts with a directory
          name would not get mapped in cases where the directory had
          multiple levels.

Mon Nov 14 07:40:19 2005  Chad Elliott  <elliott_c@ociweb.com>

        * modules/WorkspaceCreator.pm:

          Fixed a bug where sorting the projects (with a circular
          dependency) would run infinitely.  This was identical to the
          problem fixed on Thu Apr 15 13:16:03 2004 just in a different
          scenario.

Thu Nov 10 12:23:43 2005  Chad Elliott  <elliott_c@ociweb.com>

        * modules/TemplateParser.pm:

          When checking for duplicate source files in duplicate_index(),
          always use lowercase (since this is currently only used on
          Windows).

Thu Nov 10 09:01:25 2005  Chad Elliott  <elliott_c@ociweb.com>

        * templates/automake.mpd:
        * templates/bmake.mpd:
        * templates/em3.mpd:
        * templates/ghs.mpd:
        * templates/html.mpd:
        * templates/make.mpd:
        * templates/nmake.mpd:
        * templates/sle.mpd:
        * templates/vc6.mpd:
        * templates/vc7.mpd:
        * templates/vc7csharp.mpd:
        * templates/vc7vb.mpd:
        * templates/vc8.mpd:

          Added a template variable, libname_prefix, that can be set to
          prefix all library names (sharedname, staticname and libs).  Note
          that lit_libs and pure_libs are not affected.

Mon Nov  7 10:15:31 2005  Chad Elliott  <elliott_c@ociweb.com>

        * modules/ProjectCreator.pm:

          Fixed a bug where a given custom input file does not match the
          custom defined input extensions and no source files are
          given, the generated source file name would still have the input
          file extension in the name (with an escaped period).

Mon Nov  7 13:59:12 UTC 2005  Johnny Willemsen  <jwillemsen@remedy.nl>

        * config/boost_prg_exec_monitor.mpb:
        * config/boost_test_exec_monitor.mpb:
        * config/boost_unit_test_framework.mpb:
          Added borland

Fri Oct 28 14:58:59 2005  William Otte  <wotte@dre.vanderbilt.edu>

        * config/global.features:
        * config/xerces.mpb:

        Added a xerces feature to the xerces base project, similar to
        boost/zlib/zzip to allow disabling xerces specific projects.

Fri Oct 28 11:43:52 2005  Chad Elliott  <elliott_c@ociweb.com>

        * config/swig_perl.mpb:

          Added $(PERL5_INCLUDE) to the 'libpaths' as well as the 'includes'.

        * templates/vc8.mpd:

          Corrected two instances of subdir_output which only show up if you
          set the template variable 'pdbc'.

Sun Oct 23 08:14:12 UTC 2005  Johnny Willemsen  <jwillemsen@remedy.nl>

        * templates/bmake.mpd:
          Generate also includes for the resource compiler

Wed Oct 19 10:06:50 2005  Chad Elliott  <elliott_c@ociweb.com>

        * config/boost_date_time.mpb:
        * config/boost_filesystem.mpb:
        * config/boost_prg_exec_monitor.mpb:
        * config/boost_regex.mpb:
        * config/boost_signals.mpb:
        * config/boost_test_exec_monitor.mpb:
        * config/boost_thread.mpb:
        * config/boost_unit_test_framework.mpb:

          Added a $(BOOST_STATIC_LIB_PREFIX) to the library name for all
          boost libraries.  For some reason, they insist on prepend 'lib' to
          the name of all static libraries on Windows.  For
          unit_test_framework, prg_exec_monitor and test_exec_monitor, 'lib'
          is always prepended on Windows since these are currently always
          static.  Thanks to Kevin Heifner for pointing this out.

Thu Oct 13 17:24:21 2005  Steve Huston  <shuston@riverace.com>

        * modules/VC8WorkspaceCreator.pm: Add the 3 magic bytes to the start
          of the .sln file that allow double-clicking on the .sln file's icon
          to auto-start Visual Studio.

Mon Oct 10 07:02:30 2005  Chad Elliott  <elliott_c@ociweb.com>

        * modules/TemplateParser.pm:

          Fixed a bug where mixed case template variables within a foreach
          context were not being evaluated case insensitively.  This made it
          appear that these variables were not being set.

        * templates/vc8.mpd:

          Moved an endif to the correct location pertaining to precompiled
          headers.  Too much was being included within an if which depended
          upon the pch_header setting.

          Thanks to Thomas Rothfuss for reporting both of these bugs.

Fri Oct  7 13:50:49 2005  J.T. Conklin  <jtc@acorntoolworks.com>

        * modules/AutomakeWorkspaceCreator.pm:

          Change the way RCS/CVS Id is emitted so it's the same as how it
          is expanded in souces checked out with -kk option.  This allows
          us to regenerate ACE and TAO's Makefile.am files and only see
          the "real" differences.

Fri Oct  7 09:33:41 2005  J.T. Conklin  <jtc@acorntoolworks.com>

        * templates/automake.mpd:

          Add support for custom file dependents.

Thu Oct  6 17:52:41 2005  Steve Huston  <shuston@riverace.com>

        * templates/vc8.mpd:
        * templates/vc8dll.mpt:
        * templates/vc8exe.mpt:
        * templates/vc8lib.mpt:
        * templates/vc8libexe.mpt:
        * templates/vc8platforms.mpt (new file):
          Added support for building Windows CE/Mobile from Visual Studio 2005.
          By default, only the regular desktop Win32 configurations will be
          generated, as before. The CE/mobile platform names can be specified
          using -value_templates platforms="....". The possible platform
          names are listed in vc8platforms.mpt.

          To avoid overwriting outputs when building multiple platforms in
          the same ACE_wrappers directory, a platform can supply an
          output_subdir setting (see vc8platforms.mpt). If specified, vc8.mpd
          will use this in the Intermediate/OutputDirectory entries.

Tue Oct  4 06:35:13 2005  Chad Elliott  <elliott_c@ociweb.com>

        * templates/vc7.mpd:
        * templates/vc8.mpd:

          Improved MIDL support by adding generated files to the generated
          project to ensure that these generated files get cleaned up.

Fri Sep 30 07:46:54 2005  Chad Elliott  <elliott_c@ociweb.com>

        * modules/BMakeWorkspaceCreator.pm:
        * modules/NMakeWorkspaceCreator.pm:

          Corrected the directory changing code to take 2 or more deep
          relative paths into account.  Thanks to Johnny Willemsen
          <jwillemsen@remedy.nl> for reporting this.

        * templates/automake.mpd:

          Optimized this template with respect to checking a variable before
          using foreach.  The foreach already does this, so checking the
          variable before hand is a waste of time.

Mon Sep 26 07:10:17 2005  Chad Elliott  <elliott_c@ociweb.com>

        * README:
        * modules/ProjectCreator.pm:

          Added generic_pre_extension and generic_pre_filename custom build
          settings.

        * templates/vc7.mpd:
        * templates/vc8.mpd:

          Added support for the builtin Visual Studio MIDL.

        * templates/vccommon.mpt:

          Added a comment that this file is not common to Visual C++, just
          vc6.

Thu Sep 22 12:43:43 2005  J.T. Conklin  <jtc@acorntoolworks.com>

        * templates/automake.mpd:

          Changed to output libs, lit_libs, and pure_libs on separate
          lines.

Tue Sep 20 08:47:21 2005  Chad Elliott  <elliott_c@ociweb.com>

        * config/swig_perl.mpb:

          Added an include for $(PERL5_INCLUDE).

        * modules/TemplateInputReader.pm:

          Allow "()." in scope names within .mpt files.

        * modules/WorkspaceCreator.pm:

          Provide the user with more information as to why workspace
          creation failed.

        * templates/makedll.mpt:

          Shared libraries are created on Solaris using the -G option (not
          -shared).

Mon Sep 12 10:47:28 2005  Justin Michel  <michel_j@ociweb.com>

        * clone_build_tree.pl:

          Prevent cloning of .pch files, which are precompiled headers when
          using VC++.

Thu Sep  8 08:06:18 2005  J.T. Conklin  <jtc@acorntoolworks.com>

        * templates/automake.mpd:

          Changed to output compile_flags on separate lines.

          Changed to sort lists of source, header, and inline files
          to make output more deterministic.

Tue Sep  6 10:34:24 2005  Chad Elliott  <elliott_c@ociweb.com>

        * config/swig_perl.mpb:

          Added a base project for using SWIG with perl.

        * templates/automake.mpd:
        * templates/bmake.mpd:
        * templates/em3.mpd:
        * templates/ghs.mpd:
        * templates/make.mpd:
        * templates/nmake.mpd:
        * templates/vc6.mpd:
        * templates/vc7.mpd:
        * templates/vc7csharp.mpd:
        * templates/vc7vb.mpd:
        * templates/vc8.mpd:

          Change the position of the use of custom 'output_option' setting.
          Ensure that the input file is the last thing on the command line.

Mon Aug 29 08:52:15 2005  Chad Elliott  <elliott_c@ociweb.com>

        * templates/vc7.mpd:

          Enabled incremental linking as the default.

        * templates/vc7dll.mpt:
        * templates/vc7exe.mpt:

          Disable incremental linking in release mode as was done in
          Justin's change on Fri Aug 26 13:46:47 2005.

Mon Aug 29 12:41:12 UTC 2005  Johnny Willemsen  <jwillemsen@remedy.nl>

        * templates/nmakedll.mpt:
        * templates/nmakeexe.mpt:
          Added WinX86_64 as platform. This is Windows 64bit on EMT64.

Mon Aug 29 11:48:12 UTC 2005  Johnny Willemsen  <jwillemsen@remedy.nl>

        * templates/nmake.mpd:
          Made it possible to overrule cc, link and rc when generating the
          nmake project files

Fri Aug 26 14:32:48 2005  Justin Michel  <michel_j@ociweb.com>

        * clone_build_tree.pl:

          Updated to prevent cloning of .suo files, which are used to store
          solution settings for VC++ 7+.

Fri Aug 26 13:46:47 2005  Justin Michel  <michel_j@ociweb.com>

        * templates/vc7libexe.mpt:
        * templates/vc8libexe.mpt:

          It is invalid to enable incremental linking on release builds,
          because we also enabled comdat folding and reference optimization.

Mon Aug 22 11:57:03 2005  Chad Elliott  <elliott_c@ociweb.com>

        * templates/vc8.mpd:

          Fixed a bug in the template that caused static projects to have
          incorrect project settings.

Mon Aug 22 07:17:17 2005  Chad Elliott  <elliott_c@ociweb.com>

        * MPC version 3.3.0 released.

Local Variables:
add-log-time-format: current-time-string
indent-tabs-mode: nil
End:
