Wed Jul 28 20:01:36 2004  J.T. Conklin  <jtc@acorntoolworks.com>

        * templates/automake.mpd: Emit a _LDFLAGS definition if linkflags
          is defined.

Wed Jul 28 09:15:02 2004  Chad Elliott  <elliott_c@ociweb.com>

        * clone_build_tree.pl:

          Remove backup files before trying to create them and added
          information to some error messages.

        * modules/AutomakeWorkspaceCreator.pm:

          Cleaned up the code a bit.

        * templates/automakedll.mpt:
        * templates/automakeexe.mpt:

          The automakedll.mpt defines linkflags for use within
          automake.mpd.  automakeexe.mpt just includes automakedll.mpt.

Fri Jul 23 14:32:54 2004  J.T. Conklin  <jtc@acorntoolworks.com>

        * modules/AutomakeWorkspaceCreator.pm:
          Parse generated Makefile.<project>.am files as their contents
          are being inserted into the workspace Makefile.am, converting
          the first instance where a macro is appended to (+=) into a
          simple assignment (=).  This results in a Makefile.am that is
          closer to what would be written by hand, and automake will often
          generate smaller Makefile.in files since it won't be tricked
          into pulling in boilerplate for macros that were defined and not
          used.

Thu Jul 22 17:39:41 2004  Steve Huston  <shuston@riverace.com>

        * modules/AutomakeWorkspaceCreator.pm: When writing
          configure.ac.Makefiles, insert entries for project-less directories
          between project-containing directories. Allows the bootstrap
          procedure to find and make the needed Makefiles to traverse the
          entire build tree.


        * templates/automake.mpd: Changed _LIBADD to _LDADD for programs.

Thu Jul 22 12:52:39 2004  Steve Huston  <shuston@riverace.com>

        * modules/AutomakeWorkspaceCreator.pm: If there's no local project
          info for the current Makefile.am, don't put the initial bin_PROGRAMS,
          lib_LTLIBRARIES, etc. If there are local projects, add "." to the
          SUBDIRS.

        * templates/automake.mpd: Add _LIBADD settings to pick up needed
          libraries.

Wed Jul 21 19:34:46 2004  J.T. Conklin  <jtc@acorntoolworks.com>

        * modules/AutomakeProjectCreator.pm:
          Override expand_variables_from_template_values.

        * modules/AutomakeWorkspaceCreator.pm: Don't emit SUBDIRS
          definition if there aren't any subdirectories.

        * templates/automake.mpd: Simplify so that _CPPFLAGS, etc.
          settings are not duplicated for programs and libraries,
          grouped and non-grouped source files, etc.

Wed Jul 21 18:02:31 2004  Steve Huston  <shuston@riverace.com>

        * templates/automake.mpd: Added the _CPPFLAGS setting to the
          non-grouped library section.

Wed Jul 21 17:04:39 2004  Steve Huston  <shuston@riverace.com>

        * modules/AutomakeWorkspaceCreator.pm: In write_comps(), combine all
          of the current directory level's Makefile.<project>.am files into
          the directory's Makefile.am file and delete the individual files.
          Write only the Makefile.am file paths into the configure.ac.Makefiles
          list. This is because the previous loop-through-current-Makefile
          scheme sent make into an infinite loop, consuming all process
          slots very quickly. The generated Makefiles always like to start
          again at the top Makefile to check its updatedness, even if
          a specific Makefile.<project> file was specified to make. Moved the
          general cleanup text from automake.mpd to here.

        * templates/automake.mpd: For non-project-specific info (bin, lib,
          etc.) use += rather than = to allow multiple per-project files to
          be combined into one file later. Removed the general cleanup
          directives and put them in the workspace generator, above. J.T.
          Conklin also supplied changes for the following:

          - Append list of custom_type outfiles to BUILT_SOURCES

          - Append list of custom_type outfiles to CLEANFILES

          - Emit explicit rules for building custom type outfiles.  Note that
            unlike some of the other makefile templates, I've used $< instead
            of <%custom_type->input_file%> so that the file will be found via
            vpath.

          - Removed global setting of INCLUDES.  Include paths are now handled
            by per library/program _CPPFLAGS.

Fri Jul 16 12:24:36 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/WorkspaceCreator.pm:

          Added a method to get the current output file name.

Thu Jul 15 14:02:04 2004  Chad Elliott  <elliott_c@ociweb.com>

        * clone_build_tree.pl:

          Cleaned up the code a bit.

        * modules/AutomakeWorkspaceCreator.pm:

          Used a parameter passed into write_comps to determine if we are
          writing the top level workspace.

        * modules/ProjectCreator.pm:

          Ignore project names that are set in a base project.  It doesn't
          make sense and I can't think of a practical use of this.

        * modules/WorkspaceCreator.pm:

          Fixed a bug where an excluded name could be partially matched and
          possibly exclude something that wasn't meant to be.

Thu Jul  8 14:09:49 2004  Chad Elliott  <elliott_c@ociweb.com>

        * README:
        * modules/ProjectCreator.pm:

          Added a new wild card syntax ('^') similar to the '!' that works
          best for excluding generated files from component lists.  See the
          README for more details.

Thu Jul  8 09:16:21 2004  Chad Elliott  <elliott_c@ociweb.com>

        * README:

          Added documentation about the wild card support in MPC.

        * modules/ProjectCreator.pm:

          If grouping is used in source files, put automatically added files
          in corresponding groups.

        * templates/vc7.mpd:

          Use <%ucw()%> for the custom_type which looks better in the
          graphical interface.

Tue Jul  6 11:29:07 2004  Chad Elliott  <elliott_c@ociweb.com>

        * README:

          Added documentation for new pseudo template variables for use
          within the command, commandflags, postcommand and output_option
          settings.

        * modules/ProjectCreator.pm:

          Fixed a bug where mixing grouped and non-grouped files would cause
          the non-grouped files to be ignored.

          Added new pseudo template variables for the null device, >, <, &&
          and ||.

        * modules/VC7ProjectCreator.pm:

          Override defaults for the >, < and && values to correctly support
          these within the XML projects.

        * templates/em3vcp.mpd:
        * templates/vc6dsp.mpd:
        * templates/vc7.mpd:

          Added support for grouping header, inline, template, resource and
          documentation files.

Fri Jul  2 10:27:03 2004  Chad Elliott  <elliott_c@ociweb.com>

        * templates/vc7.mpd:

          Default the machine setting to X86.

Fri Jul  2 08:17:48 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/Creator.pm:

          Return the same kind of crlf on OS/2 as we do on Windows.  Just in
          case someone tries to use MPC on OS/2.

        * modules/ProjectCreator.pm:

          When returning the list of grouped source files, convert the
          slashes if it is necessary.

        * templates/vc7.mpd:

          The above change allows us to use file grouping for vc7.
          Previously, files would have a forward slash in the name (if they
          were in sub-directories) which confused vc7 and would cause link
          errors.

Thu Jul  1 09:35:27 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/MakeWorkspaceCreator.pm:

          Added a .PHONY: target for sub targets.  This only has an effect
          when using GNU make, but does not have an adverse effect when
          using other versions of make.

        * README:
        * modules/ProjectCreator.pm:
        * modules/TemplateParser.pm:
        * templates/bmake.mpd:
        * templates/em3vcp.mpd:
        * templates/make.mpd:
        * templates/nmake.mpd:
        * templates/vc6dsp.mpd:
        * templates/vc7.mpd:

          Added support for a new custom build keyword 'postcommand'.  The
          postcommand can be used to run arbitrary commands after the main
          custom command is run.  See the README for more details.

Thu Jul  1 10:16:38 2004  Steve Huston  <shuston@riverace.com>

        * modules/AutomakeWorkspaceCreator.pm (write_comps): Write a
          configure.ac.Makefiles entry for the top-level workspace as
          well, else there's no starting point in the configured tree.

        * modules/TemplateParser.pm: Added new template <%normalize%>
          that takes a exename as a parameter. Converts '-' to '_' to
          make the name palatable prepended to a special automake name
          such as _SOURCES.

        * templates/automake.mpd: Applied a patch from Chad that makes
          grouped sources work better. Also, added <%normalize%> to
          exename_SOURCES generation so exe names with '-' in them get
          changed to '_' for their SOURCES. This is the same normalization
          Automake will do when trying to find the SOURCES for a bin_ target.
          Removed the support for being able to select library subsets to
          build at configure time. It didn't work right, and the subset
          selection capability is not in the MPC-generated GNUmakefiles
          either. It can be (re)attempted later if needed, but the longer-term
          goal in ACE land seems to be to find other ways to reduce footprint.
          Also changed the _PROGRAMS generation to switch between bin_ and
          noinst_ depending on presence of an 'install' directive.

Tue Jun 22 20:53:12 2004  Ossama Othman  <ossama@dre.vanderbilt.edu>

        * modules/AutomakeWorkspaceCreator.pm (AUTOMAKE_OPTIONS):

          Removed generation of this make variable.  All Automake options
          should generally be set via the AM_INIT_AUTOMAKE autoconf macro
          in the application's `configure.ac' file.

Tue Jun 22 20:35:36 2004  Ossama Othman  <ossama@dre.vanderbilt.edu>

        * templates/automake.mpd (AUTOMAKE_OPTIONS):

          Removed this make variable.  All Automake options should
          generally be set via the AM_INIT_AUTOMAKE autoconf macro in the
          application's `configure.ac' file.

          (pkginclude_HEADERS):

          Corrected make variable for template files.
          "$(INLINE_FILES)" -> "$(TEMPLATE_FILES)".

Tue Jun 15 07:02:12 2004  Chad Elliott  <elliott_c@ociweb.com>

        * USAGE:
        * modules/Options.pm:

          Updated the usage information to provide more details on using the
          -base option.

        * modules/ProjectCreator.pm:

          We need to ensure that macros only get expanded to environment
          variables when converting source file, header file, etc. related
          macros.  Thanks to Phil Mesnier <mesnier_p@ociweb.com> for
          reporting this.

Thu Jun 10 08:33:08 2004  Chad Elliott  <elliott_c@ociweb.com>

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

          Moved the usage out of the Driver and into the Options module.

        * modules/ProjectCreator.pm:
        * modules/VC6ProjectCreator.pm:

          Added support for replacing $(...) with an environment variable.
          This is not necessary for 'make' based project types and is not
          supported by Visual C++ 7 or higher.  So, it is used by the em3
          and vc6 types.

Tue Jun  8 17:14:29 2004  Steve Huston  <shuston@riverace.com>

        * modules/AutomakeWorkspaceCreator.pm: Fixed string writing to write
          a tab to the generated file where desired, not a '\t'.

Tue Jun  8 12:29:19 2004  Steve Huston  <shuston@riverace.com>

        * modules/AutomakeWorkspaceCreator.pm (write_comps): Get automake
          trees to generate. It now relies on this scheme:
          * Each project goes in its own Makefile.<project>.am file (this is
            not a change from previous versions).
          * Each Makefile.am has a list of local project Makefiles added to
            it and has all-local, clean-local, and distclean-local targets
            added that cycle through all the local projects and do sub-makes.
          * At autoconf/automake (bootstrap) time, all of the
            Makefile[.<proj>].am files get processed into Makefile[.<proj>].in
            files. This list is directed by the configure.ac.Makefiles list
            that should be included into configure.ac.
          * At configure time, all of the .in files get processed into
            Makefiles. All the local targets that MPC put in the Makefile.am
            files should go through to the Makefiles at each level, and
            direct the build.

        Made these changes:
          - Only generate a configure.ac.Makefiles at the starting directory
            level; not at each level. When adding entries, don't keep the
            ".am" suffix; this was a mistake.
          - The configure.ac.Makefile also needs an entry for the Makefile at
            each directory level with a project.
          - The top-level Makefile.am has the "ACLOCAL = @ACLOCAL@" and
            "AC_LOCAL_AMFLAGS = -I m4" lines added to the end to pass the
            flags along properly when running autoconf.

Tue Jun  8 11:30:15 2004  Chad Elliott  <elliott_c@ociweb.com>

        * templates/vc7.mpd:

          Added the ability to add additional compiler options through the
          use of the compile_flags template value.

Fri May 28 14:03:13 2004  Chad Elliott  <elliott_c@ociweb.com>

        * LICENSE:

          Added a license file with the content from the MPC section of
          http://theaceorb.com/product/license.html.

        * config/openssl.mpb:
        * templates/automake.mpd:
        * templates/bmake.mpd:
        * templates/makedll.mpt:

          Removed trailing white space.

Fri May 28 13:06:01 2004  Chad Elliott  <elliott_c@ociweb.com>

        * templates/em3vcplib.mpt:
        * templates/em3vcplibexe.mpt:
        * templates/vc7lib.mpt:
        * templates/vc7libexe.mpt:

          Consistently name static project configurations across all Windows
          based project types (excluding NMake since it has both dynamic and
          static in a single makefile).

Wed May 26 17:17:29 2004  Steve Huston  <shuston@riverace.com>

        * modules/AutomakeWorkspaceCreator.pm: In write_comps(), when writing
          the SUBDIRS list, only list next-level directories - SUBDIRS is
          only allowed to list them, and not anything below.

Mon May 24 13:44:13 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/WorkspaceCreator.pm:

          Print out the projects involved when warning about circular
          dependencies.

Mon May 24 07:35:39 2004  Chad Elliott  <elliott_c@ociweb.com>

        * config/zzip.mpb:

          Added a base project to support the zzip library.

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

          Removed unused variables.

        * modules/AutomakeWorkspaceCreator.pm:
        * modules/CBXWorkspaceCreator.pm:
        * modules/GHSWorkspaceCreator.pm:
        * modules/SLEWorkspaceCreator.pm:
        * modules/VA4WorkspaceCreator.pm:

          Removed an extra unused parameter to the sort_dependencies method.

        * modules/Version.pm:

          Modified the code to only read the ChangeLog if we are going to
          display the version number.

        * USAGE:
        * modules/Creator.pm:
        * modules/DirectoryManager.pm:
        * modules/Driver.pm:
        * modules/Options.pm:
        * modules/Parser.pm:
        * modules/ProjectCreator.pm:
        * modules/WorkspaceCreator.pm:

          Added support for generating the workspace and project files
          into an alternate directory tree.  This can not be used to build
          code outside of the source tree, only to generate the workspace
          and project files to make it easier to package up these files for
          distribution.

Sat May 22 17:28:31 2004  Steve Huston  <shuston@riverace.com>

        * modules/AutomakeWorkspaceCreator.pm: Changed AUTOMAKE_OPTIONS to
          "1.7 foreign" to match what's used at the project level.

Tue May 18 19:48:33 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/ProjectCreator.pm:

          Remove escape sequences from extensions while generating the list
          of possible file names from custom inputs instead of doing it after
          the fact and possibly removing back slashes from parts of the
          generated file path.

Tue May 18 09:37:29 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/Version.pm:

          Added code to automatically determine the beta version number at
          run-time.  This number is determined by the manipulating the total
          number of ChangeLog entries.

        * mpc.pl:
        * mwc.pl:

          Provide a getBasePath() function to allow MPC to determine the
          location of the ChangeLog.

Tue May 18 07:22:53 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/ProjectCreator.pm:

          When parsing the component list, convert any $(...) to relative
          paths if possible.

Fri May 14 06:45:14 2004  Chad Elliott  <elliott_c@ociweb.com>

        * MPC version 3.1 released.

Wed May 12 08:14:00 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/BMakeProjectCreator.pm:

          Sort the directories when forming the cppdir value.  We need to
          ensure that '.' comes first.  Borland make attempts to generate
          source files in each CPPDIR directory until it is successful
          which explains multiple invocations of custom build tools.

Tue May 11 11:36:00 2004  Chad Elliott  <elliott_c@ociweb.com>

        * templates/em3vcp.mpd:
        * templates/em3vcpdll.mpt:
        * templates/em3vcpdllexe.mpt:
        * templates/em3vcplib.mpt:
        * templates/em3vcplibexe.mpt:

          Added support for ARM v4.  Thanks to Jonathan Pollack
          <pollack_j@ociweb.com> for providing the patches.  Also, I fixed a
          bug where the precompiled header output was going to the wrong
          directory.

Tue May 11 10:53:11 2004  Chad Elliott  <elliott_c@ociweb.com>

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

          Added a -version option to print the MPC version and exit.

        * modules/ProjectCreator.pm:

          Added libraries and executables to the install script generation.

        * prj_install.pl:

          Added support for installation of libraries and executables.

Fri May  7 07:41:55 2004  Chad Elliott  <elliott_c@ociweb.com>

        * templates/bmakelib.mpt:
        * templates/bmakelibexe.mpt:
        * templates/em3vcplib.mpt:
        * templates/em3vcplibexe.mpt:
        * templates/vc6dsplib.mpt:
        * templates/vc6dsplibexe.mpt:

          Consistently name the intermediate and output directories across
          all Windows based templates.

Thu May  6 10:50:53 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/ProjectCreator.pm:

          Fixed a bug dealing with generated files that used the 'gendir'
          setting.  If the generated files were listed, but did not match up
          exactly with what was expected, they would be listed twice in the
          generated project.

Thu May  6 09:21:59 2004  Chad Elliott  <elliott_c@ociweb.com>

        * templates/em3vcp.mpd:
        * templates/nmake.mpd:
        * templates/vc6dsp.mpd:
        * templates/vc7.mpd:

          Added a template name, link_options, to allow users to inject MS
          linker options into the generated projects.

Wed May  5 12:34:51 2004  Chad Elliott  <elliott_c@ociweb.com>

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

          Changed the way that duplication additions for libpaths, includes
          and libs are handled.  We now silently ignore duplicate additions
          and maintain original assignment order.  This fixes problems with
          static linking on UNIX.

Tue May  4 07:40:02 2004  Chad Elliott  <elliott_c@ociweb.com>

        * README:

          Updated information about the use of 'gendir' without
          'output_option' set in a custom file definition.

Mon May  3 23:12:37 2004  Ossama Othman  <ossama@dre.vanderbilt.edu>

        * config/openssl.mpb:

          Some Linux OpenSSL installations compile in Kerberos support.
          Add the Kerberos include path to preprocessor include path.

Mon May  3 12:17:10 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/ProjectCreator.pm:

          By default, refer to the dll based template input files for static
          template input.  If the template supports generating static
          projects, then the project creator module will have overridden
          the methods to return the correct template input files.

        * templates/bmake.mpd:
        * templates/em3vcp.mpd:
        * templates/nmake.mpd:
        * templates/vc6dsp.mpd:
        * templates/vc7.mpd:

          These template files have been changed in a similar fashion to
          Justin Michel's changes from Sat May  1 15:20:00 2004.

Mon May  3 10:49:28 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/ProjectCreator.pm:

          Fixed yet another bug in the relative replacement code section.
          If a portion of the current path was found in the replacement
          value, it would assume that the whole thing was to be replaced.
          This is obviously wrong and has been corrected.

Sat May  1 15:20:00 2004  Justin Michel  <michel_j@ociweb.com>

        * templates/vc7.mpd:
        * templates/vc7dll.mpt:
        * templates/vc7lib.mpt:

          Resource Files are only for exe or dll binaries, not for static
          libs. Added a check for type_is_static, so that the resource files
          section is not created.  type_is_* should be defined outside of the
          individual configurations. This change allows checking
          type_is_static from outside of a particular configuration.

Thu Apr 30 14:50:00 2004  Justin Michel  <michel_j@ociweb.com>

        * templates/nmake.mpd:

          Added a new DEPENDCHECK target that either prints the "Using x.dep"
          or "Warning : cannot find x.dep". This way, the warning is not
          displayed when generating dependencies.

Fri Apr 30 11:47:48 2004  Chad Elliott  <elliott_c@ociweb.com>

        * README:

          Fixed spelling errors.

        * config/mfc.mpb:

          Added a non-ACE specific version of the mfc base project.

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

          Made modifications to avoid Perl warnings when working with
          version 5.005 or earlier.

        * prj_install.pl:

          Added additional information to the usage that describes the
          default set of install tags.

        * templates/cbx.mpd:

          Removed ACE specific lines.

Thu Apr 29 14:50:00 2004  Justin Michel  <michel_j@ociweb.com>

        * templates/nmake.mpd:

          The custom build output should be the first thing listed for
          the ALL target, to ensure that any generated files are available
          for the rest of the commands.

Mon Apr 26 09:55:25 2004  Chad Elliott  <elliott_c@ociweb.com>

        * templates/em3vcplibexe.mpt:
        * templates/vc6dsplib.mpt:
        * templates/vc6dsplibexe.mpt:

          Switched to using MFC as a shared dll even in static libraries and
          executables.  There is no need to statically link in the MFC
          libraries.

Fri Apr 23 11:06:10 2004  Chad Elliott  <elliott_c@ociweb.com>

        * README:
        * modules/ProjectCreator.pm:

          Added additional functionality to fix RT #3816 and RT #3847.  Both
          issues dealt with custom generated files not being cleaned up
          properly.  The real issue was that there was no way to represent,
          in MPC, what was being generated by the custom command.
          Additional custom definition keywords have been added that allow
          users to represent what the custom command actually generates.

        * modules/Version.pm:

          Increment the minor version number.

        * templates/vc7.mpd:

          This change fixes RT #3856.  The vc7 template (which is being used
          by the vc8 project type) did not work quite correctly in Visual
          C++ 8.  Multi-lined custom commands were changed to be compatible
          with vc7, vc71 and vc8.

Thu Apr 22 08:32:20 2004  Chad Elliott  <elliott_c@ociweb.com>

        * config/openssl.mpb:
        * config/qt.mpb:
        * config/zlib.mpb:

          Added the vc8 type to the 'specific' sections that have vc71 in
          them.

Wed Apr 21 08:50:01 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/VC8ProjectCreator.pm:

          Corrected some bugs in this module.

        * modules/VC8WorkspaceCreator.pm:

          Removed some redundant methods that are inherited from the
          VC71WorkspaceCreator.

Wed Apr 21 13:27:43 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * USAGE:
          Added vc8.

Wed Apr 21 13:06:44 UTC 2004  Johnny Willemsen  <jwillemsen@remedy.nl>

        * modules/VC8ProjectCreator.pm:
        * modules/VC8WorkspaceCreator.pm:
        * modules/MWC.pm:
        * modules/MPC.pm:
          Added Visual C++ 8 MPC template. This is for the Microsoft
          Visual Studio 8 Whidbey March 2004 Preview.

Mon Apr 19 13:44:16 2004  Chad Elliott  <elliott_c@ociweb.com>

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

          When subtracting values from mapped keywords, we must expand
          template values in order to ensure that the values that are being
          subtracted are actually removed.  This has a side effect of
          expanding template values during subtraction even if the project
          creator type does not normally expand template values.

Fri Apr 16 08:05:19 2004  Chad Elliott  <elliott_c@ociweb.com>

        * prj_install.pl:

          This script reads .ins files generated by MPC and installs
          portions of a project into a user specified location.

Thu Apr 15 13:16:03 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/WorkspaceCreator.pm:

          Fixed a bug where generating the hierarchical workspace would have
          the wrong build ordering.  It was a subtle bug that had to do with
          the way projects were sorted.

Wed Apr 14 07:41:58 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/ProjectCreator.pm:

          Modified the file exclusion behavior to work correctly with
          grouped files within components.

Tue Apr 13 13:46:14 2004  Chad Elliott  <elliott_c@ociweb.com>

        * README:
        * USAGE:

          Removed ACE specific references and documentation.

        * modules/ProjectCreator.pm:

          Added wildcard support (*?[]) for component lists and the ability
          to exclude files from the component lists by preceding the name
          with '!'.

          ex.
          project {
            Source_Files {
              // Get every source file, except foo.cpp
              !foo.cpp
            }
          }

          project {
            Source_Files {
              // Get every cpp file that starts with RT
              RT*.cpp
            }
          }

        * modules/Parser.pm:
        * modules/TemplateParser.pm:

          Added the ability for the TemplateParser to cache the contents of
          a template to avoid opening and reading the project template over
          and over again.

Mon Apr 12 11:38:29 2004  Chad Elliott  <elliott_c@ociweb.com>

        * clone_build_tree.pl:

          Added more file types to exclude during cloning.

        * modules/Creator.pm:

          We still need to maintain the real set of files added for
          generation of the workspace.

        * modules/WorkspaceCreator.pm:

          Added more information to the error message when duplicate
          projects are found within a workspace.

Mon Apr 12 10:00:56 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/Creator.pm:

          Switched the files_written structure to a hash array instead of an
          array to make searches within that structure faster.

        * modules/WorkspaceCreator.pm:

          When generating workspaces, only write out the workspace if it is
          the main workspace that corresponds to an mwc file or it hasn't
          been written out yet.

        * templates/vc7.mpd:
        * templates/vc7dll.mpt:
        * templates/vc7exe.mpt:
        * templates/vc7lib.mpt:
        * templates/vc7libexe.mpt:

          Removed the 'debug' template keyword.  It was unnecessary and
          conflicted with the Debug configuration now that these are
          case-insensitive.

Fri Apr  9 21:19:34 2004  Chad Elliott  <elliott_c@ociweb.com>

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

          Added a new keyword, 'recurse', that causes MPC to recurse into
          directories listed under componets such as Source_Files,
          Header_Files, etc.

Fri Apr  9 13:51:47 2004  Chad Elliott  <elliott_c@ociweb.com>

        * clone_build_tree.pl:

          Added a script that works similarly to create_ace_build.pl except
          that it does not restrict the location of the cloned build tree
          and works with any tree structure, not just ACE_wrappers.

Fri Apr  9 12:38:15 2004  Chad Elliott  <elliott_c@ociweb.com>

        * modules/ProjectCreator.pm:

          When replacing $() with template variables, we need to ensure that
          if what it is replaced with also contains a $() construct, then
          that too will be replaced with relative definitions.

Thu Apr  8 09:51:28 2004  Chad Elliott  <elliott_c@ociweb.com>

        * templates/make.mpd:

          Corrected a problem with the pch_postrule commands.  I forgot that
          $$ was interpreted by make, so what I really wanted was $$$$ to
          get $$ passed out to the shell.

Thu Apr  8 07:02:25 2004  Chad Elliott  <elliott_c@ociweb.com>

        * USAGE:
        * modules/Driver.pm:

          Removed the documentation stating that new name value template
          pairs could not be added using -value_template.  This is no longer
          the case.

        * modules/Options.pm:
        * modules/ProjectCreator.pm:
        * modules/TemplateInputReader.pm:
        * modules/TemplateParser.pm:

          Support replacing $() constructs with template values of the same
          name.  By default all project creators will do this.  Overriding
          the expand_variables_from_template_values method is the way to
          modify this behavior.

Wed Apr  7 06:49:16 2004  Chad Elliott  <elliott_c@ociweb.com>

        * templates/bmake.mpd:
        * templates/em3vcp.mpd:
        * templates/make.mpd:
        * templates/nmake.mpd:
        * templates/vc6dsp.mpd:
        * templates/vc7.mpd:

          Finished support for the 'pch_postrule' of the Define_Custom which
          post edits generated source files and places the #include for the
          precompiled header at the top of the file.

Mon Apr  5 10:43:03 2004  Chad Elliott  <elliott_c@ociweb.com>

        * README:
        * USAGE:
        * mpc.pl:
        * mwc.pl:
        * config/bison.mpb:
        * config/default.rel:
        * config/flex.mpb:
        * config/global.features:
        * config/global.mpb:
        * config/lex.mpb:
        * config/openssl.mpb:
        * config/qt.mpb:
        * config/qt_moc.mpb:
        * config/rpc.mpb:
        * config/zlib.mpb:
        * modules/AutomakeProjectCreator.pm:
        * modules/AutomakeWorkspaceCreator.pm:
        * modules/BMakeProjectCreator.pm:
        * modules/BMakeWorkspaceCreator.pm:
        * modules/CBXProjectCreator.pm:
        * modules/CBXWorkspaceCreator.pm:
        * modules/Creator.pm:
        * modules/Driver.pm:
        * modules/EM3ProjectCreator.pm:
        * modules/EM3WorkspaceCreator.pm:
        * modules/FeatureParser.pm:
        * modules/GHSProjectCreator.pm:
        * modules/GHSWorkspaceCreator.pm:
        * modules/GUID.pm:
        * modules/HTMLProjectCreator.pm:
        * modules/HTMLWorkspaceCreator.pm:
        * modules/MPC.pm:
        * modules/MWC.pm:
        * modules/MakeProjectCreator.pm:
        * modules/MakeWorkspaceCreator.pm:
        * modules/NMakeProjectCreator.pm:
        * modules/NMakeWorkspaceCreator.pm:
        * modules/Options.pm:
        * modules/OutputMessage.pm:
        * modules/Parser.pm:
        * modules/ProjectCreator.pm:
        * modules/SLEProjectCreator.pm:
        * modules/SLEWorkspaceCreator.pm:
        * modules/StringProcessor.pm:
        * modules/TemplateInputReader.pm:
        * modules/TemplateParser.pm:
        * modules/VA4ProjectCreator.pm:
        * modules/VA4WorkspaceCreator.pm:
        * modules/VC6ProjectCreator.pm:
        * modules/VC6WorkspaceCreator.pm:
        * modules/VC71ProjectCreator.pm:
        * modules/VC71WorkspaceCreator.pm:
        * modules/VC7ProjectCreator.pm:
        * modules/VC7WorkspaceCreator.pm:
        * modules/Version.pm:
        * modules/WorkspaceCreator.pm:
        * templates/automake.mpd:
        * templates/bmake.mpd:
        * templates/bmakecommon.mpt:
        * templates/bmakedll.mpt:
        * templates/bmakedllexe.mpt:
        * templates/bmakelib.mpt:
        * templates/bmakelibexe.mpt:
        * templates/cbx.mpd:
        * templates/cbxdll.mpt:
        * templates/cbxexe.mpt:
        * templates/common.mpt:
        * templates/em3vcp.mpd:
        * templates/em3vcpdll.mpt:
        * templates/em3vcpdllexe.mpt:
        * templates/em3vcplib.mpt:
        * templates/em3vcplibexe.mpt:
        * templates/ghs.mpd:
        * templates/html.mpd:
        * templates/make.mpd:
        * templates/makedll.mpt:
        * templates/makeexe.mpt:
        * templates/nmake.mpd:
        * templates/nmakedll.mpt:
        * templates/nmakeexe.mpt:
        * templates/sle.mpd:
        * templates/sledll.mpt:
        * templates/sleexe.mpt:
        * templates/va4icc.mpd:
        * templates/va4iccdll.mpt:
        * templates/va4iccdllexe.mpt:
        * templates/va4icclib.mpt:
        * templates/va4icclibexe.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:

          Created a new repository for MPC.


Local Variables:
add-log-time-format: current-time-string
End:
