Tue Feb  1 10:31:00 2005  Chad Elliott  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

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

          Added requires += boost to the boost_base project and defaulted
          boots 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <jtc@acorntoolworks.com>

        * 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  <jtc@acorntoolworks.com>

        * 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  <mbrudka@aster.pl>

        * 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  <mbrudka@aster.pl>

        * 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  <mbrudka@aster.pl>

        * config/global.features:
        Added comment about -features option.

        Fri Dec  3 23:56:20 2004  Marek Brudka  <mbrudka@aster.pl>

        * config/qt.mpb (Module):
        qt based projects requires now qt features to be set.

Sat Jan 22 23:20:57 2005  J.T. Conklin  <jtc@acorntoolworks.com>

        * 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  <jtc@acorntoolworks.com>

        * 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  <jtc@acorntoolworks.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <jtc@acorntoolworks.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <jtc@acorntoolworks.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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 <storri@cse.wustl.edu> for suggesting
          this.

Tue Jan  4 09:52:13 2005  Chad Elliott  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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
          <storri@cse.wustl.edu> for providing this functionality.

Mon Jan  3 11:11:35 2005  Chad Elliott  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * 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  <elliott_c@ociweb.com>

        * MPC version 3.2.0 released.

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