date
file
comment
2005-05-02 source/cmt_version.h Prepare v1r18p20050501
  source/cmt_cvs.cxx Adding CMTPATH internal managementImprove broadcast operation after recursive checkouts
2005-05-01 mgr/Makefile (pacman) Create the pacman file for that version.
  mgr/CMT.pacman Migrate to Pacman3
  source/cmt_cvs.cxx Supporting project checkoutrecursive project checkoutswithout_version_directory modecontainer statements in project files.alias version directoryVarious cleanup and restructuring operations
  mgr/requirements Adapt for shared libs on CYGWIN (thanks to Guy Barrand)
  src/setup.zsh Add cmt subprojects command
  src/setup.tcsh Add cmt subprojects command
2005-04-26 source/cmt_cvs.cxx Add recursive passes for cvs co -R on projects (not completed)Add support/checking of protocol level against CVS plugginDetection of non-installation of the CVS pluggin
  mgr/requirements Add a macro cmt_cvs_protocol_level to specifythe expected protocol level with the CVS pluggin
2005-04-25 source/cmt_cvs.cxx (class CvsImplementation) Accept emptyargument for queries on subprojects
  source/cmt_cvs.cxx (class CvsImplementation) Accept emptyargument for queries on subpackages
  source/cmt_cvs.cxx (class CvsImplementation) Selection forgetting the mudule contents is done using the structureinformation.
  source/cmt_cvs.cxx (class CvsImplementation) Isolate specificbehaviour into dedicated functions for getting the specificcontents for packages or for projects.
  source/cmt_cvs.cxx (class CvsImplementation) Retrieve fieldsfor structure and subprojects from the CVS pluggin.
  source/cmt_cvs.cxx (class CvsImplementation) Manage theprotocol level related with the version of the CVS pluggin.
  source/cmt_cvs.cxx (class CvsImplementation) Suppress all dotsfrom the tmpdir due to problems on Windows
  source/cmt_cvs.cxx (class CvsImplementation) Add support forstruture_info and subprojects coming from the new CVS pluggin
  source/cmt_parser.cxx (do_cvssubprojects) Handle thecvssubprojects command
  source/cmt_parser.cxx (parser) Commands related with CVS should at least read therequirements file of CMT
  source/cmt_parser.h (enum) Add cvssubprojects action
  source/cmt_commands.cxx (CommandHelp) Add help forcvssubprojects command
  source/cmt_commands.cxx (do_cvssubprojects) Accept emptyargument to query for subprojects at top of the repository
  source/cmt_commands.cxx (do_cvssubpackages) Accept emptyargument to query for subpackages at top of the repository
  source/cmt_commands.cxx (ArgParser) Manage cvssubprojects command.
  source/cmt_commands.h (class ArgParser) Add cvssubprojects command
  source/cmt_use.cxx (fill_standard_macros) Production of a newstandard macro for obtaining the project releases
  source/cmt_cvs.h (class Cvs) Add the subprojects function toquery CVS about the existing subprojects of a given module.
2005-04-23 source/cmt_project.h (class Project) container andcontainer_version access methods
  source/cmt_project.cxx (container_action) Implementation of thecontainer statement
  source/cmt_project.h (class Project) Add handling of the container statement
  source/cmt_syntax.cxx (class KwdContainer) Add support of theproject container package
  source/cmt_syntax.cxx (SyntaxParser) idem
2005-04-21 source/cmt_project.cxx (create_project) Check pwd for findingprojects.
  source/cmt_symbol.cxx (find_path_entry) Look for existing PATHentries by comparing the real path rather than the logicalpath. Use pwd everywhere (or CmtSystem::compress_path when thepath is not exactly found)
2005-04-14 source/cmt_system.cxx (class CMTPathManager) CMTUSERCONTEXT andCMTHOME environments give a specific name to the associatedproject.
  source/cmt_project.cxx (create_project) Fixing the projectnaming scheme. Project name specified in the project files takeprecedence over the names found in the path.
2005-04-13 source/cmt_commands.cxx (do_cvstags, do_cvssubpackages) Fix arg counting.
2005-04-12 source/cmt_project.cxx (create_project) Restructure thealgorithm for detection of project structuring cases. Construct afinite list of cases.
  source/cmt_project.cxx (has_parent) Implement recursive query function
  source/cmt_project.cxx (has_child) Implement recursive query function
  source/cmt_project.cxx (add_parent, add_child) Use the recursive detection to avoid cycles.
  source/cmt_project.h (class Project) Add has_parent andhas_child functions to protect against recursive cycles
2005-04-02 source/cmt_version.h (CMTVERSION) Prepare for v1r18p20050401
  mgr/requirements use ln -fs for cmt_installarea_command
2005-03-31 doc/ReleaseNotes prepare release notes
  source/cmt_project.cxx (create_project) Fix settings of the project name.
2005-03-30 mgr/NMake (demo) Adapt to the new syntax of cmt create_project
  source/cmt_project.cxx (create_project) Suppress several warnings
  doc/table.html Install link to the Trac bug reporting system.
  source/cmt_project.cxx (create) The create function now createsthe complete directory hierarchy for the project including therelease level(s). Can accept a path.
  source/cmt_project.cxx (create_project) Don't assume a release level.
  source/cmt_project.h (class Project) The create function nowaccepts a release and a path argument
  source/cmt_commands.cxx (show) Suppress debug printouts
  source/cmt_parser.cxx (do_help) Suppress debug printouts
  source/cmt_system.cxx (is_version_directory) Accept HEAD/head as a valid version directory.
  doc/CMTDoc.xml work on the doc (unfinished)
  source/cmt_project.cxx (use_action) The name specification of aproject use statement is used to create the project.
  source/cmt_project.cxx (create_project) Implement the algo toconstruct or discover the real project name and release from thecontext. The new algo supports release specifications as amulti-level directory definition.
  source/cmt_project.cxx (get_release_from_path) Function toretreive the release sub-string from a path, given the projectname.
  source/cmt_project.h (class ProjectFactory) Add the projectname as first argument to the create_project function.
  source/cmt_system.cxx (class CMTPathManager) when specifiedfrom a CMTPATH item, the project creation has to guess the projectname.
  mgr/Makefile (gendoc) Suppress the | output modifier
2005-03-16 mgr/fragments/dependencies We need to reconsider all sources torecompute all dependencies that may have changed due toconfiguration changes. Thus the -all_sources is added
2005-03-15 source/cmt_parser.cxx (clear) Add m_autoconfigure_cmtpathvariable to discard autoconfiguration of CMTPATH during initialphases of the configuration.
  source/cmt_parser.cxx (guess_current_project) Once the current project is known, theCMTPATH is re-generated from the effective knowledge of theproject graph.
  source/cmt_parser.cxx (do_setup) Add a check of the configuration when doing cmt setup
  source/cmt_parser.cxx (do_check_configuration) analyze the tags coming from argumentsor from CMTSITE to detect mistypings. This is done by checking theeffective usage of those tags.
  source/cmt_parser.cxx (configure_cmt_path) Analyze CMTPATH from either the symbol valueor from the EV, before asking the project factory to create theprojects from it.
  source/cmt_parser.cxx (get_strategy) Add a generic local function to query the strategy elements.
  source/cmt_project.cxx (add) Manage conflicts between projectrelease requests on a strict basis (no wild card - exact matchonly)
  source/cmt_project.h (class ProjectFactory) No longer need m_first and m_previous
  source/cmt_project.cxx (create_project) Implement a graph of projects.
  source/cmt_project.cxx (create_project) Interpret the first top level directory as the project release
  source/cmt_project.cxx (create_project) Interpret the second top level directory as theproject name when it's not defined in the project file. So wedon't create a dummy project name anymore Project.
  source/cmt_commands.cxx (ArgParser) Suppress obsolete +path option
  source/cmt_commands.cxx (parse) Initialize the m_action value to none to fix a bad management of unknown commands
  source/cmt_commands.cxx (do_filter) Implement the cmt filter command
  source/cmt_error.cxx (class Error) Add unknown_command andproject_release_conflict errors
  source/cmt_syntax.cxx (class KwdBuildStrategy) Apply therestructuration of strategy management to strategy decoding
  source/cmt_syntax.cxx (class KwdSetupStrategy) idem
  source/cmt_syntax.cxx (class KwdUse) Support the use statement for project files
  source/cmt_syntax.cxx (SyntaxParser) Support the use statement for project files
  source/cmt_project.h (class StrategyDef) Create a class to holdthe definition of all strategy elements
  source/cmt_project.h (class Strategy) Create a class to hold the application of a strategy into a project
  source/cmt_project.h (class StrategyMgr) Create a singleton to manage the strategy definitions
  source/cmt_project.h (class ProjectFactory) Add parent argument to create_project to handle the project graph
  source/cmt_project.h (class IProjectVisitor) Create a class to visit the project graph
  source/cmt_project.h (class Project) Transport all definitions related with strategies into Strategy objects
  source/cmt_system.cxx (class CMTPathManager) Add a class tointeract with the ProjectFactory to convert CMTPATH specificationsinto projects
  source/cmt_system.cxx (get_cmt_paths) Suppress the setting from $CMTPATH. This isreplaced by a selective understanding of the source of CMTPATHeither from the symbol (when defined in a requirements file) orfrom the EV. This selection is performed inCmt::configure_cmt_path.
  source/cmt_system.cxx (get_cmt_paths) Suppress the definition of a CMTPATH entry for CMT itself
2005-03-10 mgr/NMake (demo) Add project file to the demo context.
2005-03-04 source/cmt_project.cxx Ongoing work for redefining Project graphs.
2005-03-03 source/cmt_project.cxx (add) Manage project release conflicts.
  source/cmt_error.h (class CmtError) Add project_release_conflict error
  source/cmt_error.cxx (class Error) Add project_release_conflict error
  source/cmt_project.h (class Project) Introduce the managementof release information in projects
  source/cmt_parser.cxx (do_check_configuration) Finally suppress the checking of CMTCONFIG
  source/cmt_parser.cxx (do_setup) Add do_check_configuration to check some tag settings.
2005-03-02 source/cmt_symbol.h (class Symbol) Add an optional argument to build_macro_value to switch display mode
  source/cmt_symbol.cxx (show_macro) Improve the display mode so as to display only once the macro construction steps
  source/cmt_parser.cxx (guess_current_project) Regenerate CMTPATH from the effective set of subprojects.
  source/cmt_commands.cxx (parse) Handle unexpected arguments
  source/cmt_error.cxx (class Error) Added unknown_command error
  source/cmt_error.h (class CmtError) Added unknown_command error
  source/cmt_commands.cxx (do_filter) Missing implementation for the filter command
2005-03-01 source/cmt_tag.cxx (use_operand) Add way of checking internal structure of a tag
  source/cmt_tag.cxx (use_ref) Add way of checking internal structure of a tag
  source/cmt_tag.h (class Tag) Add way of checking internal structure of a tag
  source/cmt_symbol.h (class Symbol) Add way of checking if a tag is used by symbols.
  source/cmt_symbol.cxx (print) Suppress the "export" action after defining an alias in Sh mode
  source/cmt_project.cxx Introduce use_action
  source/cmt_syntax.cxx (SyntaxParser) Add support to use statements in project files
  source/cmt_project.cxx (create_project) Add comments
2005-02-14 src/Makefile.header (common_target) mktemp refuses to createsubdirectory when TMPDIR specifies something different than /tmpthat does not exist yet.
2005-02-07 source/cmt_system.cxx (scan_dir) Fix a bug that killed the cmtshow packages command in some cases
2005-02-03 source/cmt_commands.cxx (do_cvstags) fix arg counting
  source/cmt_commands.cxx (do_cvssubpackages) fix arg counting
2004-12-14 source/cmt_parser.cxx (class StandardMacroBuilder) Fix a bugthat caused a premature exit from the scan of constituents.
2004-12-13 source/cmt_constituent.cxx (parse) Add a specific behaviour fordocuments generated for actions so as to keep the action_valuedefinition unparsed.
2004-12-03 mgr/fragments/nmake/library apply patches from Pere about installing pdb files for Debug mode
2004-12-01 source/cmt_version.h (CMTVERSION) Prepare for tagging v1r18p20041201
  source/cmt.h (class Cmt) Fix typo
  mgr/cmt_uninstall_action.sh Better management of directory removal
  mgr/fragments/application (install)  
  mgr/fragments/library (install)  
  mgr/fragments/library_no_share (install)  
  mgr/fragments/install_includes_header (install)  
  mgr/fragments/jar (install)  
  mgr/fragments/java_header (install) Remove the connectionbetween uninstall and clean targets. So now when gmake clean isrun no uinstallation occurs in the installation area.
2004-11-11 source/cmt_parser.h  
  source/cmt_project.cxx  
  source/cmt_project.h  
  source/cmt_syntax.cxx  
  source/cmt_parser.cxx  
  doc/CMTDoc.xml Suppress obsolete (and useless) makefile strategy
  source/cmt_parser.cxx (print_context) the setup strategy isreally used to generate the ROOT and CONFIG env. vars.
  source/cmt_parser.cxx (get_setup_strategy) Get the setupstrategy for each use so as to really build ROOT or CONFIGaccording to the real project of the use
2004-11-09 source/cmt_version.h Preparing version tag for v1r18
  mgr/requirements  
  source/cmt_parser.h  
  source/cmt_projects.cxx Change default build strategy to without_installarea
2004-11-08 mgr/Makefile (docs) Do some cleanup
  source/cmt_parser.cxx (do_build_library_links) make use of thenew library_install_command macro
  mgr/requirements Create a new macro library_install_command fordefining how to actually install libraries through the_libraries macro.
2004-11-02 source/cmt_commands.cxx (option_tag) When resetting tags oneneed to also call again guess_current_project
  source/cmt_commands.cxx (option_tag) In fact on can simply reset all active tags, andregenerate activations rather than clearing all tags.
  source/cmt_parser.cxx (guess_current_project) Fix a typo
  source/cmt_tag.cxx (get_default) Make the tag Default a staticobject to avoid killing it.
2004-11-01 source/cmt_parser.cxx (guess_current_project) Implement thedetection of the current project
  source/cmt_parser.cxx (configure) Add the detection of thecurrent project through a project file above the current directory
2004-10-30 source/cmt_parser.cxx (class StandardMacroBuilder) Apply thecmtpath_patterns before setting up the installarea parameters soas to let the patterns really define the_installarea_prefix for instance.
  source/cmt_parser.cxx (set_standard_macros) Remove this first setting of installareabecause it's better done only once.
  mgr/fragments/constituent Remove a debug message
  mgr/requirements Prepare for new tag v1r18
  mgr/cmt_uninstall_action.sh  
  mgr/cmt_install_action.sh Late fixes
2004-10-29 source/cmt_parser.cxx (set_standard_macros) Restructure theStandardMacroBuilder to provide all steps. Move upward thefill_for_install_area to make all cmtpath_patterns applied beforemanging other macros. This caused the include_dirs installed in acmtpath_pattern useless.
  source/cmt_list.h (class cmt_list) few fixes for CYGWIN
  mgr/requirements CYGWIN tag implies Linux
  mgr/fragments/install_includes_header (uninstall)  
  mgr/fragments/java_header (install)  
  mgr/fragments/jar (install)  
  mgr/fragments/library_no_share (install)  
  mgr/fragments/library (install)  
  mgr/fragments/application (install)  
  mgr/cmt_install_action.sh  
  mgr/cmt_uninstall_action.sh Improve the argument passing schemeto make it more flexible. Add an argument to get cmtpath, to checkit against pwd. However this should never occur since cmt itselfis supposed to never generate CMTNSTALLAREA when this is notappropriate.
  source/cmt_install_area.cxx (setup_current_installarea) Consider _installarea_prefix
  source/cmt_system.cxx (compress_path) Fix a bug: when detectingthe aaa/bbb/../ccc pattern, "bbb" cannot be ".." nor "." norcontain a macro reference.
2004-10-25 source/cmt_parser.cxx (do_run) Force the settings of EVsbefore launching the run action
  source/cmt_parser.cxx (do_broadcast) Force the settings of EVsbefore launching the bro action
  source/cmt_commands.cxx (do_run) The run command now transmits all arguments
  source/cmt_list.h Prepare a list class for future use. This beused to handle the constituent order mechanisms.
  mgr/Makefile  
  mgr/NMake (post_build) Add a post_build step to re-generate thecmt_dependencies.[n]make file (one version in mgr without thestamps and one version in $(bin) with them)
  source/cmt_generators.h (class DependencyGenerator)  
  source/cmt_generators.cxx (build) Add an option -no_stamps tobuid dependencies so as to generate a version of the dependencyfiles without the extra stamps specifications and with no stampfile generation. This is need to generate the bootstrap dependencyfile for cmt itself.
  source/cmt_generators.cxx  
  source/cmt_generators.h (class DependencyGenerator)  
  source/cmt_generator.h (class CmtGenerator) Revisit the construction of dependencies files:The dependencies file is split as one file fragment per dependency line (ie per file)This dep fragment is installed into $(bin)//*.stampa dep to this stamp file is installed in the dependency linethe stamps file is only touched when it changesAll this to ensure that recompilations are done when anythin in th configuration is changed
  source/cmt_map.h (cmt_vmap) Introduce cmt_vmap to constructmaps of objects by value
  source/cmt.h (class Cmt) Restart of set settings can bemanually triggered. Typically to ensure that they are really setjust before launching an action
  mgr/cmt_make_shlib_common.sh (temp_shlib) Suppress theautomatic construction of bundles on Darwin
  source/cmt_system.cxx (add_cmt_path) Adding protections ofvalidity of CMTPATH entries
  source/cmt.h  
  source/cmt_parser.h  
  source/cmt_parser.cxx  
  source/cmt_command.h  
  source/cmt_command.cxx Introducing classes for command line parsingAll decoding of the cmt command line arguments are transfered there.The decoding is also rationalized.actions can be seen as cmt command extensionsbetter preparing of EVs before running actionsprepare the Makefile default file before running actionsimprove the generic management of options
  cmt.h Introduction of the CmtContext class to hold global state variablesfor Cmt. The Cmt class now only contains static functions.
  src/source Major restructuring of the directories:All real sources of cmt now go to ../source../src only contains stuff that need to be exported../fragments is transfered to mgr/fragments.
  doc/gendoc.py (Book.book_start) Produce the revision date of the documentationInstall the real version tag in the doc.
  doc/CMTDoc.xml Improving the doc
2004-10-17 mgr/cmt_make_shlib_common.sh Suppress the systematic creationof a bundle in Darwin context
2004-09-28 src/cmt_system.cxx (compress_path) The algorithm must ignorethe following pattern: xxxx/$(mmm)/../yyyy which cannot be reducedto xxxx/yyyy. In fact it nows expands the path when macros are in it
2004-09-27 src/NMakefile.header (check_config) Ensure that configurationchecking is performed first.
  src/Makefile.header (check_config) Ensure that configurationchecking is performed first.
  src/cmt_use.cxx (need_new) Only display the incompatible case.
  src/cmt_use.cxx (reach_package) IncompatibleMajorIds is nolonger considered. Id comparison is no longer rejected in anycase.
  src/cmt_use.cxx (compare_versions) Really compare major ids. Nolonger produce IncompatibleMajorIds
  src/cmt_use.cxx (enum) Add cases to completely analyze the major ids
  src/cmt_use.cxx (operate)  
  src/cmt_system.cxx (get_cmt_paths) Suppress the systematicaddition of $CMTROOT in CMTPATH items!
  src/cmt_awk.cxx (scan_path) really stop the too deep recursion
2004-09-01 src/cmt_version.h (CMTVERSION) v1r16p20040901
  doc/ReleaseNotes.html Prepare next tagging
  mgr/Makefile Adapt for the new CMTBIN convention
  src/cmt_model.cxx (filter) Substitute only justbefore printing for empty vector elements
2004-08-31 doc/CMTDoc.xml Improve the doc.
  src/cmt_model.cxx (strict_expand) Support parameter values enclosed in simple quotesOnly display endl at the very end or recursion.
  src/cmt_project.cxx (configure) Fix typo in tag excludes
2004-08-30 mgr/requirements Keep 3 digits for the compiler version
  mgr/Makefile augment support for SLC3 machines
  mgr/cmt_linux_version.sh idem
  doc/CMTDoc.xml  
  doc/table.html Install the reference to CeCILL licences
  doc/download.html  
  doc/intro.html  
  doc/copyright.html  
  fragments/dependencies Trigger the reconstruction of dependencyfile when the setup changes.
  fragments/constituents_header (first) Do not ovverride_setup.make when identical. This permits its use as areal stamp file to trigger reconstruction of dependency files.
  mgr/Makefile (cpp) Take into account the new convention forCMTBIN (suffixed with `uname -m`)
  mgr/cmt_system.sh improve the default value of CMTCONFIG on Cygwin
  mgr/requirements Improve the cleaning and setting of PATHvaiables WRT installation area strategy
  src/cmt_parser.cxx (dos_script_prefix) Standalone packagesdon't need ..\.. in the -path option of DOS setup scripts
  src/setup.sh (CMTBIN) Suffix CMTBIN with `uname -m` on Unix machines
  src/setup.csh idem
2004-08-26 src/setup.bat Suppress the rem--- lines
  src/demo/demoA/init.bat Suppress the rem--- lines
  src/demo/demoB/init.bat Suppress the rem--- lines
2004-08-25 src/setup.tcsh Fix typo
  src/cmt_license.sh Add template file to include in a various sources (commented by hash signs)
  src/cmt_license.h Add template file to include in a C++ source
  src/cmt_parser.cxx (do_expand_model) Add a -test internaloption to the expand model command to test regular expressions.
  src/cmt_regexp.cxx (match) a or_node matches the longestmatching alternate patterns, instead of the first one.
  src/cmt_system.cxx (split) Detect \" and \' patterns and ignorethem as word separators. So a text containing "a b c" d e \"x\" will result in 4 fieldsa b cde\"x\"
  src/cmt_model.cxx (strict_expand) Implement the strict modelexpansion. The new syntax for definning model is: for a single expansion for a multiple expansionThe element may be used in a vector value to specify an empty value.name is the name of a declared make_fragment as usual.
2004-08-23 src/cmt_regexp.h (class cmt_regexp) Adding comparison operatorand extraction operator to regexp::iterator
  src/cmt_parser.cxx (do_expand_model) Parse the -strict option
  src/cmt_model.h (class CmtModel) Start designing the supportfor stricter model expansion (to support model files in XML)
  src/cmt_license.txt First introduction of the license text (obtained from CeCILL)
  src/Makefile.header (all) Evaluate the result of the cmt checkconfiguration and stop Make if it terminates in error.
  src/cmt_generators.cxx (analyze_file) Evaluate if the fileexists. Only generate its SourceFile if it exists or can be built
  src/cmt_generators.cxx (build) Accumulate the file names only if they can be built.
  src/cmt_generators.h (class DocumentGenerator) Makeanalyze_file return if the file is not found.
  src/cmt_generators.h (class LibraryGenerator) idem
  src/cmt_parser.cxx (parser) Make the configure_error a fatal error.
  src/Makefile.header (common_target) Improve the tmpdir mechanisms. Support ${TMPDIR}
  src/cmt_parser.cxx (dos_script_prefix) Suppress the -quietoption in the setup scripts now that errors are sent to stderrinstead of stdout.
  src/cmt_constituent.cxx (class constituents_action_iterator) Use cerr instead of cout
  src/cmt_fragment.cxx (copy) Use cerr instead of cout
  src/cmt_generators.cxx (java_file_action, build, build) Use cerr instead of cout
  src/cmt_parser.cxx (do_awk) typo
  src/cmt_parser.cxx (do_filter, parse_arguments, parser) Use cerr instead of cout
  src/cmt_use.cxx (install_library, get_all_clients, operate) Use cerr instead of cout
  src/cmt_system.cxx (remove_file, remove_directory) Use cerr instead of cout
  src/cmt_tag.cxx (action_apply) Use cerr instead of cout
  src/cmt_symbol.cxx (create, build) Use cerr instead of cout
  src/cmt_pattern.cxx (action) Use cerr instead of cout
  src/cmt_syntax.cxx general substitution of cout to cerr
  src/cmt_error.cxx (get_error_name) format text only
  src/cmt_error.cxx (print) Use cerr instead of cout
  src/cmt_lock.cxx (check) format text only
2004-08-20 mgr/requirements Protect the cmt_installare_linkopts againstambiguous tag settings
  src/cmt_awk.cxx (scan_path) First compress the path beforecalling the actual recursive scanner
  src/cmt_awk.cxx (scan_path) Completely revisit the scan algorithm to betteraccount for directory structures and version.cmt files and packagestatements.
  src/cmt_project.cxx (create_project) The project file parsingmust occur after setting the project chain. This caused wrong tagpropagation across the Project chain.
2004-08-04 src/cmt_parser.cxx (do_create) use only compressed paths
  src/cmt_parser.cxx (do_remove) idem
  src/cmt_use.cxx (get_cmtpath_and_offset) Need to compress the cmtpath to suppress .. patterns
  src/cmt_system.cxx (compress_path) Compress the pattern /xxx/.. or xxx/.. instead of xxx/../
2004-07-01 src/cmt_version.h Prepare tagging v1r16p20040701
  src/cmt_parser.h idem
  src/cmt.h (class Cmt) Suppress version strategy
  src/cmt_parser.cxx (do_show_strategies) Suppress version strategy
2004-06-30 src/cmt_version.h (CMTVERSION) Prepare tagging v1r16p20040630
  src/cmt_generator.cxx (class WinDefAwk) Better generation of .def files for DATA
2004-06-24 src/cmt_use.cxx (need_new) fix a bug that impacted on the order ofcompatible use requests with different specifications.
  src/cmt_symbol.cxx (build) Add a debug print
  src/cmt_symbol.cxx (SymbolValueListshow) only display actions with a non empty value
  src/cmt_use.cxx (add) improve the debug statements (no change to algo)
  mgr/requirements Improve the removal operations for Windows in the cmtpath_patterns
2004-06-12 src/cmt_parser.cxx (need_prototypes) Fix access to prototype mask of build strategy
2004-05-28 Tagging v1r16p20040527  
  src/demo/demo1.cmt Add a test for -target_tag option
  src/cmt_parser.cxx (do_build_library_links) Transfered the codeto install a lib symlink into cmt_use.cxx
  src/cmt_use.cxx (same_dirs) Add a local helper function tocheck if two directory specifications point to the same location
  src/cmt_use.cxx (install_library) Common local function to really create asymlink to a file either into ../$(tag) or into $(CMTINSTALLAREA)/$(tag)/lib
  src/cmt_use.cxx (build_library_links) Build all the library links for a Use.
  src/cmt_use.h (class Use) Add a function to build the library links (the code isextracted from Cmt::do_build_library_links () )
2004-05-27 src/cmt_version.h (CMTVERSION) Prepare for real tagging v1r16p20040527
  doc/download.html idem
  doc/CMTDoc.xml Update the doc for the new -target_tag option
  src/cmt_constituent.cxx (add_for_action) Actions always have a target tag.
  src/demo/demoA/requirements Add a -target_tag option to demoA target to test this feature.
  fragments/constituent Construct or not a local tag makefile according to has_target_tag
  fragments/nmake/constituent id
  fragments/make_header id
  fragments/nmake/make_header id
  src/cmt_generators.cxx (LibraryGeneratorbuild)  
  src/cmt_generators.cxx (DocumentGeneratorbuild) Transmit m_HASTARGETTAG
  src/cmt_generator.cxx (reset) Initialize the new m_HASTARGETTAG variable.
  src/cmt_generator.h (class CmtGenerator) Add a m_HASTARGETTAGVariable to propagate the target_tag ability of the constituents
  src/cmt_constituent.cxx (show) Display the -target_tag option
  src/cmt_constituent.cxx (class constituents_action_iterator) Parse the -target_tag option
  src/cmt_constituent.h (class Constituent) Add support for thenew -target_tag option, to control the per-constituent generationof the target tag. So add a field has_target_tag
2004-05-25 mgr/requirements Use $(tag) instead of ${CMTCONFIG} in all cmtpath_pattern s
  src/NMakefile.header (tags) idem
  src/Makefile.header (tags) idem
  fragments/nmake/make_header idem
  fragments/nmake/constituents_header (tags) idem
  fragments/make_header (tags) idem
  fragments/constituents_header (tags) prefix the tags macro with $(tag)
  src/cmt_version.h (CMTVERSION) Prepare for tagging v1r16p20040525
  mgr/NMake (gendoc) Add a new target to generate html from xml
  mgr/NMake (cmttag) Convert VisualC.nmake into VisualC_cmt.nmake
  fragments/nmake/constituent Generate tag file for the target
2004-05-18 mgr/requirements Add cmt_log.cxx in the source list
  src/cmt_tag.cxx (add) First replacements of debug messages using log
  src/cmt_parser.cxx (configure_tags) idem
  src/cmt_log.h (class CmtLog) Introducing a centralized log message facility
  src/cmt_log.cxx first implementation
  fragments/nmake/make_header (tags) idem
  fragments/nmake/constituent Update to generate the target_XXX tag
  src/cmt_parser.cxx (parse_arguments) Activate the tag target_ when "cmt do " is run
  fragments/constituent Generate the target_${CONSTITUENT} tag
2004-05-17 fragments/constituent Propagate cmt_lock_pid for temporary filesGenerate a tag makefile specific to the constituent
  fragments/constituents_header (first) Improve the printout for CMTCONFIG
  fragments/make_header (tags) Generate the target_${CONSTITUENT} tag
  mgr/requirements Don't generate the tags macro from CMT. Only do it from the Makefile fragments.
  src/cmt_generators.cxx (build) Add PACKAGE variable to individual constituent fragment
2004-05-13 fragments/constituent idem
  fragments/constituents_header (cmt_final_setup) Implement a READONLY mode that generates all intermediate files in /tmp/CMT_*
  src/Makefile.header (tags) Implement a READONLY mode that generates all intermediate files in /tmp/CMT_*
  src/Makefile.header (common_target) Make use of the new -out=file option of the cmt build constituents_makefile command
  src/cmt_generator.cxx (build_constituents_makefile) idem
  src/cmt_generator.h (class Generator) Add the argument list to the build_constituents_makefile function
  src/cmt_generators.cxx (build) idem
  src/cmt_generators.h (class ConstituentsMakefileGenerator) Add the argument list to the build function
  src/cmt_parser.cxx (configure) Chain configure_home, configure_user_context and configure_cmtpat
  src/cmt_parser.cxx (do_build_constituents_makefile) Propagate arguments to the Generator::build_constituents_makefile method
  src/cmt_parser.cxx (parse_arguments) Accumulate extra-arguments for build constituents_makefile command
  src/cmt_parser.cxx (parse_arguments) Restore the home,user_context and cmtpath configurations for the -tag=xxx option
  src/cmt_project.cxx (set_build_strategy) Get tags from their names rather than from their pointer to fix a pointer bug
  src/cmt_project.cxx (set_setup_strategy) idem
  src/cmt_tag.cxx (action_apply) Adding several debug printouts
2004-05-10 doc/CMTDoc.xml Add a section on package semantics
2004-05-07 mgr/requirements Improve support for CELUpgrade system_version_query_command for Darwin
2004-05-06 src/cmt_tag.cxx (action_apply) apply_tag now supports the tagname given through a symbol expression
  mgr/cmt_linux_version.sh Support for Entreprise Linux
  mgr/requirements Create automatic tags from cmt_hardwarecmt_system_version and cmt_compiler_version.Set the macro shlibsuffix for Win32
  mgr/cmt_filter3_version.sh Add a filtering procedure to keep 3 digits in the compiler version
2004-05-05 src/cmt_syntax.cxx (parse_requirements) Close all scope sections once the requirements file is parsed.
  src/cmt_use.cxx (close_scope_sections) Implement by clearing the vector of scope sections.
  src/cmt_use.h (class Use) Add close_scope_sections to be calledat the end of parsing a requirements file.
2004-05-03 doc/ReleaseNotes.html Fix typo
  src/cmt_system.cxx (is_version_directory) Misunderstandsversion specifications of the form v1r2p (without a trailingnumber)
  src/cmt_parser.cxx (configure) Configure home and user_contextbefore configuring cmtpaths to associate projects with CMTHOME andCMTUSERCONTEXT
  src/cmt_parser.cxx (configure_cmt_path) Reset the project factory before creating all projects
  src/cmt_parser.cxx (configure_user_context) Add a debugging printout
  src/cmt_system.cxx (get_cmt_paths) Remove the initialization ofthe project factory from there to transfer it to the caller (egcmt_parser::configure_cmt_path)
  src/cmt_parser.cxx (use_special_requirements) Expects astatically defined version "v0" for all special uses.
  src/cmt_parser.cxx (configure_cmt_path) Associate a project with CMTHOME and CMTUSERCONTEXT to manage strategies.
  src/cmt_use.cxx (show_all) Adapt to new naming convention:display the static version explicitly.
  src/cmt_system.cxx (get_home_package) Convert CMTHOME packagename from "CMTHOME context" to CMTHOME and manage a versionthrough standard mechanisms (version is statically defined as v0)
  src/cmt_system.cxx (is_home_package) Adpat to new naming convention
  src/cmt_system.cxx (get_user_context_package) Idem for CMTUSERCONTEXT
  src/cmt_system.cxx (is_user_context_package) Adapt to new naming convention
2004-04-30 mgr/cmt_install_action.sh Use /bin/pwd instead of raw pwd [Thanks to Traudl]
  mgr/cmt_uninstall_action.sh idem
  mgr/cmt_make_shlib.sh idem
  mgr/cmt_make_shlib_common.sh idem
  fragments/install_includes_header idem
  mgr/requirements Perform path_remove all before path_prepend inthe cmtpath_pattern. Thus state two separate cmtpath_patterns.
2004-04-02 src/cmt_project.cxx (scan_paths) Late patch for LynxOS limitation
  src/cmt_version.h Prepare for v1r16
2004-03-29 mgr/Makefile Set compiler options for CYGWIN
2004-03-27 src/cmt_syntax.cxx (class KwdSetupStrategy) Implement setup strategy decoding for projects
  src/cmt_system.h (class IProjectFactory) Suppress the configure entry point
  src/cmt_system.cxx (get_cmt_paths) see below
  src/cmt_project.h (class ProjectFactory) No longer need to configure from ProjectFactory
  src/cmt_project.cxx (configure) Fix typo mixing prototypes and no_prototypes tags
  src/cmt_project.cxx (add) Systematically create tags just after naming the project.
  src/cmt_project.h (class Project) Only create tags once
  src/cmt_syntax.h (class SyntaxParser) Introduce the differentsyntax parsing schemes for requirements files and projects files.
  src/cmt_syntax.h (class SyntaxParser) Rename do_parse_requirements_text anddo_parse_requirements_text into do_parse_text and do_parse_line.
  src/cmt_syntax.cxx (action) Define a default implementation for project actions
  src/cmt_syntax.cxx (class KwdBuildStrategy) Define a project action
  src/cmt_syntax.cxx (class KwdProject) idem
  src/cmt_syntax.cxx (class KwdSetupStrategy) idem
  src/cmt_syntax.h (class Kwd) Introduce an action for project files (simply virtual)
  src/cmt_syntax.h (class SyntaxParser) Restructure, cleanup and sort the entry points
  src/cmt_syntax.h (class SyntaxParser) Introduce a map of project keywords
  src/cmt_project.cxx (class ProjectReader) Start support for more statements in the project file
  src/cmt_pattern.cxx (action) Augment the decoding logic to be more fault tolerant
  src/cmt_pattern.cxx (add) Temporarily force the word quotingAdd various debuggin printouts
  src/cmt_parser.cxx (parser) Force the Use* argument type
  src/cmt_cvs.cxx (class CvsImplementation) Install a constructor for setting default values
  src/cmt_cvs.cxx (class CvsImplementation) Set default verse mode to false
2004-03-24 src/cmt_cvs.cxx (class CvsImplementation) Reset default verbose mode to off.
2004-03-23 src/cmt_pattern.cxx (class PatternCache) Introduce a cache forthe get_paths operation. To save recursive executions.
  src/cmt_pattern.h (class PatternList) Navigate in pattern list through PatternList
  src/cmt_vector.h (cmt_vector) Trying to optimize vector by changing the frame size
  doc/cmt-mode.el (cmt-mode-map) Revert completion key to -
2004-03-22 src/cmt_symbol.cxx (resolve_value) Optimize by checking if $%` exist in the text to expand.
  src/cmt_symbol.cxx (create) Missing "alias" case
  src/cmt_parser.cxx (do_show_action) Missing "alias" case
  src/cmt_parser.cxx (do_show_macro) idem
  src/cmt_project.cxx (clear) Improve the clear function toensure a proper initialization
  src/cmt_system.cxx (get_home_directory) Use ::getenv rather than CmtSystem::getenv.
2004-03-19 doc/emacs.html doc on the new emacs mode for CMT
  doc/table.html include emacs.html
  src/cmt_symbol.cxx (all_set) Only set non empty environment variables
2004-03-22 src/cmt_parser.cxx (get_build_strategy) Create a local helperfunction to retrieve the build strategy from the current project.
  src/cmt_parser.cxx (get_setup_strategy) Idem for the setup strategy
  src/cmt_parser.cxx (parse_arguments) Add a protection against the killing -tag= with empty argument.
  src/cmt_parser.cxx (reach_current_package) Specify the use object (current use)
  src/cmt_parser.cxx (class StandardMacroBuilder) Isolate the construction of the CMTVERSION macro into a function
  src/cmt_parser.cxx (class StandardMacroBuilder) Setting of basic standard macrosspecific to packages is transfered to Use::fill_standard_macros
  src/cmt_parser.cxx (set_standard_macros) Apply all cmtpath_patterns independently of the build strategy.
  src/cmt_symbol.cxx (action) Expand the tag name to permit tagexpressions containing macros.
  src/cmt_syntax.cxx (parse_requirements) Define the standardmacros before reading the requirements file.
  src/cmt_use.cxx (fill_standard_macros) Implement it (move code from cmt_parser.cxx)
  src/cmt_use.h (class Use) Add fill_standard_macros function tofill in all standard macros for a given use before reading itsrequirements file.
  mgr/requirements Add exclusions between basic tagsAdapt cmtpath_pattern to new strategy management
  fragments/nmake/constituents_header (tags) id.
  fragments/nmake/constituent id.
  fragments/constituent Add -quiet to CMT command.
2004-03-19 src/cmt_parser.cxx (get_build_strategy) Install a localaccessor function to get the build strategy either from thecurrent project or from m_current_build_strategy.
2004-03-16 src/cmt_parser.cxx (fill_for_branches) Add a protection against empty current project
  src/cmt_system.cxx (get_cmt_paths) Make use of the newCmtSystem::get_home_directory function
  src/cmt_parser.cxx (class CmtMountFilterParser) Create a FAwkparser to decode mout_filter files.
  src/cmt_parser.cxx (configure_current_dir) Make use of the CmtMountFilterParserclass to parse cmt_mount_filter and .cmtrc files.
  src/cmt_system.cxx (get_home_directory) Implementation.
  src/cmt_system.h (class CmtSystem) Introduced to get ${HOME} ina portable way
2004-03-03 src/cmt_parser.cxx (print_context) Use the new projet based setup strategy
  src/cmt_cvs.cxx suppress some verbose printouts
2004-02-25 src/cmt_pattern.cxx (action) add use to warning messages
  doc/CMTDoc.xml improvements
  doc/gendoc.py (Book.book_start) Set a padding on top of every rule
  src/cmt_cmtpath_pattern.h (class CmtPathPattern) No need to duplicate the vector of words.
  src/cmt_cmtpath_pattern.cxx (add) Construct the cmt statement as a one line statement
  src/cmt_cmtpath_pattern.h (class CmtPathPattern) Add an expansion line in the class
  src/cmt_pattern.cxx (add) Construct the cmt statement as a one line statement
  src/cmt_pattern.cxx (expand) Create a temporary replacement for full line
  src/cmt_pattern.cxx (action) relax the syntax by permitting spaces around the "=" sign.Add checks for the template name to be expected by the pattern.
  src/cmt_pattern.h (class Pattern) Add an expansion line in the class
2004-02-19 src/cmt_project.cxx (configure) Preset the tags of the default strategies
  src/cmt_tag.cxx (show_definition) Suppress the display of the internal Default tag
2004-02-13 src/cmt_parser.cxx (class StandardMacroBuilder) Fill _project macro
  src/cmt_parser.cxx (class StandardMacroBuilder) Fill _project macro
  src/cmt_project.cxx (get_current) No need to cd
  src/cmt_symbol.cxx implement the XxxRemoveRegexp
  src/cmt_parser.cxx idem
  src/cmt_constituent.cxx idem
  src/cmt_symbol.cxx idem
  src/cmt_symbol.h (class Symbol) Change the action stored in Symbol into a new enum SymbolType.
  src/cmt_symbol.cxx idem
  src/cmt_syntax.cxx (SyntaxParser) idem
  src/cmt_parser.h (enum) Introduce regexp-based remove operations for symbols
2004-02-10 src/cmt_parser.cxx (actor) Rename PackageCollector into ClientCollector
2004-02-09 fragments/installer add a / everywhere for consistency
  src/cmt_symbol.cxx (build) Restrict warning on symbol overriding to show macro and show set
2004-02-13 doc/CMTDoc.xml Work on the doc towards v1r16
  doc/gendoc.py (Book.plain_char_data) Keep space characters from raw text
  doc/gendoc.py (Book.book_start) Introduce style sheet.
2004-02-06 src/cmt_cvs.cxx (class CvsImplementation) use -quiet for all internal cmt commands
  src/cmt_string.cxx (erase) Replace strcpy by an explicit loop
  src/cmt_cvs.cxx Added -n and -v options to support simulation and verbose modes
  src/cmt_system.cxx (execute) Change the status value. Back to the Unix standard 0 = ok
  fragments/nmake/library idem
  fragments/library Install the dependency to the ${CONSTITUENT}stamps macro like for application
  src/cmt_system.cxx (reduce_file_separators) Improve the reduction algorithm
2004-02-05 src/cmt_parser.cxx Remove cmtpath database from Cmt classRename FileScanner into PathScanner and transfer it to CmtSystem
  src/cmt_parser.cxx (configure_cmt_path) Use the ProjectFactory to create Projects from CMTPATH
  src/cmt_parser.cxx (do_broadcast) Projects now fill the selections.
  src/cmt_parser.cxx (do_show_clients) Projects used to search clients
  src/cmt_parser.cxx (do_show_packages) idem
  src/cmt_parser.cxx (do_show_path) idem
  src/cmt_parser.cxx (do_show_strategies) Projects reached to get strategies
  src/cmt_parser.cxx (do_show_versions) Projects used to search versions
  src/cmt_parser.cxx (parse_arguments) +path managed by adding a project
  src/cmt_parser.cxx (reach_current_package) Definitively suppress "current package" source of CMTPATH
  src/cmt_use.cxx (class UseProjectAction) Intoduce an actionpattern to iterate into Project database
  src/cmt_use.cxx (move_to) Use the Project::broadcast mechanism to locate the package.
  src/cmt_use.h (class Use) Make UseProjectAction friend of class Use
  src/cmt_system.cxx (add_cmt_path)  
  src/cmt_system.cxx (add_cmt_paths_from_text)  
  src/cmt_system.cxx (add_cmt_paths)  
  src/cmt_system.cxx (get_cmt_paths) Use IProjectFactory
  src/cmt_system.h (class IProjectFactory) Add abstract interfacefor creating projects form cmtpath entries
  src/cmt_system.h (class CmtSystem) Change the API to using IProjectFactory
  src/cmt_project.cxx Implement project management
  src/cmt_syntax.cxx (class KwdBuildStrategy)  
  src/cmt_syntax.cxx (class KwdSetupStrategy) Change strategies from new masks and into Projects
  src/cmt_parser.h (enum) Change the masks for strategies toimprove the reliability of exclusive options, and inheritancebetween projects.
  src/cmt_cmtpath_pattern.cxx (class CmtPathPatternProjectAction)  Introduce new actor pattern for broadcasting to projectdatabase. Used to apply all cmtpath_patterns
  src/cmt_cmtpath_pattern.cxx (apply) Expand the parameter
  src/cmt_cmtpath_pattern.cxx (expand) idem
  src/cmt_cmtpath_pattern.h (class CmtPathPattern) Add project argument to expand
  src/cmt_awk.h (class PathScanner) Add the PathScanner class (imported from cmt_parser.cxx)
  src/cmt_awk.cxx (PathScanner)  
  src/cmt.h (class Cmt) Transfer cmtpath management to Project
  doc/CMTDoc.xml  
  src/cmt_syntax.cxx (class KwdBuildStrategy)  
  src/cmt_project.h (class Project)  
  src/cmt_project.cxx (set_build_strategy)  
  src/cmt_parser.cxx (set_standard_macros) Rename X_install_area symbols into X_installarea
  src/cmt_install_area.cxx Rename X_install_area symbols into X_installarea
  src/cmt_install_area.h Rename X_install_area symbols into X_installarea
  mgr/requirements Setting Project-oriented settings for installation area patterns.
2004-01-27 fragments/nmake/installer Fixes from Pere.
2004-01-20 Try on CVStrac ticket #1  
  src/cmt_symbol.cxx (action) Ensure that the constituents macro is always private.
  src/cmt_parser.cxx (reach_current_package) Fix missing configuration bit.Cures the bug of missing VERSION when using cmt -use=...
2004-01-17 src/cmt_syntax.cxx (CommandParser) Add helps for create_project command
  src/cmt_parser.h (enum) Add action_create_project
  src/cmt.h (class Cmt) Add do_create_project function
2004-01-13 src/cmt_parser.cxx (dos_script_prefix) Suppress spaces beforecontinuation character in DOS format
  src/cmt_symbol.cxx (add_value_to_list) Fix for not discarding too much value_lists
2004-01-10 src/cmt_syntax.cxx (class KwdBuildStrategy) Start getting thestrategy from project(experimental??)
  src/cmt_project.cxx (find_by_cmtpath) We also accept paths specified using a substring
  src/cmt_project.cxx (configure) Configure in reverse order
  src/cmt_project.cxx (action) Add experimental -index and -select options
  src/cmt_install_area.cxx (setup_current_install_area) Make CMTINSTALLAREA a macro instead of a set
2004-01-08 src/cmt_use.cxx (reach_package) Fix bug in version comparison when working in non-version-directory mode
  mgr/requirements use $(CMTCONFIG) instead of $(tag) for setting PATH etc.. in cmtpath_pattern
2003-12-19 src/cmt_use.h (class Use) Remove the project relationship between Use and Project
2003-12-18 src/cmt_constituent.h (class Constituent)  
  src/cmt_constituent.cxx (add_for_action) Implement the constituent equivalent to actions
  src/cmt_constituent.cxx (parse_all) Generate the constituent equivalents for all macros
  fragments/cmt_action_runner  
  fragments/cmt_action_runner_header  
  fragments/nmake/cmt_action_runner_header The new generic make fragment for running actions
  fragments/nmake/dependencies  
  fragments/dependencies Suppress dependency computation when theQUICK macro is defined
  fragments/nmake/library  
  fragments/library  
  fragments/application  
  fragments/nmake/application Add dependency to requirements to rebuild application
  src/cmt_parser.cxx (do_config) Suppress install area cleanup action from cmt config
  src/cmt_parser.cxx (do_setup) idem
2003-12-16 src/cmt_constituent.cxx (class constituents_action_iterator)  Added syntax check on -xxx options for constituents
  src/cmt_parser.cxx Implement Action support.Added: (to support Actions)do_dodo_show_actiondo_show_action_namesdo_show_action_valuedo_show_actionsremoved: (after introducing Scope Sections)get_scopeset_scopem_scope
  src/cmt_parser.h (enum) AddedCommandActionCommandEndPrivateCommandEndPublicaction_show_action_xxx
  src/cmt_constituent.cxx (class constituents_action_iterator)  Added a syntax checking action.
  src/cmt_use.cxx  
  src/cmt_use.h (class Use) Support Scope Section concept.A Use object holds a vector of ScopeSectionsAdded functionspush_scope_sectionpop_scope_sectionget_current_scopeChanged attributes:scope -> initial_scope
  src/cmt_syntax.cxx (class KwdAction) New keyword
  src/cmt_syntax.cxx (class KwdEndPrivate) new keyword
  src/cmt_syntax.cxx (class KwdEndPublic) new keyword
  src/cmt_syntax.cxx (class KwdPrivate) Ignore this pattern on current use
  src/cmt_syntax.cxx (class KwdPublic) Ignore this pattern on current use
  src/cmt_syntax.cxx (CommandParser) Update help texts for new action concepts
  src/cmt_symbol.cxx (class ActionBuilder) new Action objects areimplemented as a new category of symbols. Therefore all mechanismshave been extended to support the new concept.old scope attribute is replaced by accesses to Scope Sections fromthe Use objects.
  src/cmt_symbol.h (class Symbol) Suppress useless scope attribute and valid () function
  src/cmt_scope_section.cxx New Support for Scope Sections
  src/cmt_scope_section.h New Support for Scope Sections
  src/cmt_fragment.cxx (action) Switch to using Scope Sections
  src/cmt.h (class Cmt) Added: (to support Actions)do_dodo_show_actiondo_show_action_namesdo_show_action_valuedo_show_actionsremoved: (after introducing Scope Sections)get_scopeset_scopem_scope
  mgr/requirements Adding support for Scope sections to handleprivate or public sections. Now private and public sections can beended with the new keywords end_private and end_public. Endingkeywords switch back to the previous scope active before the mostrecent opening keyword.Adding cmt_scope_section.cxx to the sources of the cmt application.
2003-12-12 mgr/cmt_install_action.sh (a) Improve checking of pwd WRT CMTINSTALLAREA
  mgr/cmt_uninstall_action.sh (a) idem
  mgr/cmt_mount_filter Restore definitions
  src/cmt_syntax.cxx (do_parse) Evolution of the requirementsfile syntax: apply_pattern can be omitted (ie. pattern names areunderstood as extensions to the basic CMT language)
  src/cmt_pattern.cxx (action) Add error detection when applying the wrong pattern namePrepare for the next change of the syntax which accepts pattern names as plain CMT keywords
  src/cmt_parser.cxx (find_in_cmt_paths) Fix construction of the_cmtpath when symlinks exist along pwd
2003-12-08 src/cmt_parser.cxx (do_build_library_links) Fix : should makeuse of the library_prefix and suffix.
2003-12-06 src/cmt_syntax.cxx (do_parse) When a keyword is not found,expect an implicit pattern application.
  src/cmt_pattern.cxx (action) Add a protection against pattern not foundSupport lines starting with pattern-name or with apply_pattern.
2003-11-21 mgr/cmt_install_action.bat Typo
  mgr/requirements Typo in macro cmt_uninstalldir_action
2003-11-20 src/cmt_version.h (CMTVERSION) Preparing new tag v1r14p20031120
  src/cmt_syntax.cxx (CommandParser) Help on cmt build CMT_pacman
  src/cmt_parser.cxx (parse_arguments) Implement cmt buildCMT_pacman command to generate the effective pacman manifest filefor CMT.
  src/cmt.h (class Cmt) Add Cmt::do_build_CMT_pacman function
  src/cmt_parser.h (enum) Add cmt build CMT_pacman command
  src/setup.zsh Upgrade zsh completion settings
  src/setup.tcsh Upgrade tcsh completion settings
  fragments/group (all_groups) Add a new standard macro$(_dependencies) to specify global dependencies for agroup.
  fragments/constituents_trailer (binclean) Dont remove *.make* when cleaning.Add a message for binclean.
  src/cmt_use.cxx (add) Improve the warning message for package not found
  src/cmt_use.cxx (reduce_path) Display the package path using a reusable format (used by show fragments)
2003-11-19 src/cmt_constituent.cxx (class constituents_action_iterator) Empty group means no group.
  src/cmt_parser.cxx (install_library) Factor out the basicoperation for installing a library
  src/cmt_parser.cxx (do_build_library_links) Make use of the new install_libraryoperation. Add special operation for Darwin to install bundles
  src/cmt_syntax.cxx (class KwdBuildStrategy) Fix cumulative settings of the strategies
  src/cmt_syntax.cxx (class KwdSetupStrategy) idem
  mgr/cmt_make_shlib_common.sh Add support to generate bundles for Darwin
2003-11-14 src/cmt_install_area.cxx (setup) Continue setup even without current installation area
  src/cmt_install_area.cxx (config) Apply all cmtpath_patterns even without current installation area
  src/cmt_install_area.cxx (build_current_install_area) Make use of Cmt::find_in_cmt_paths
  src/cmt_parser.cxx (configure_current_cmtpath) Make use of thenew find_in_cmt_paths function
  src/cmt_parser.cxx (do_setup) Always call CmtInstallAreaMgr::setup even if current installation area is empty
  src/cmt_parser.cxx (find_in_cmt_paths) first implementation
  src/cmt_parser.cxx (get_cmt_path_pwds) first implementation
  src/cmt_parser.cxx (class StandardMacroBuilderfill_for_use_cmtpath) Make use of thenew find_in_cmt_paths function
  src/cmt.h (class Cmt) Adding find_in_cmt_paths to locate a pathfrom all specified CMTPATH entries (considering the dual flavoursof each entry)Adding get_cmt_path_pwds to access alternal values of cmtpath entries
2003-11-12 fragments/nmake/constituents_trailer (binclean) Fix typo for Windows
2003-11-06 mgr/CMT.pacman Add generic pacman file.All instances of the "" pattern need to be substituted bythe effective version of CMT to make it a real pacman file
2003-10-29 tagging v1r14p20031027  
  mgr/cmt_build_release.sh (version) Add the rebuilding of Linuxversion at Lyon (without getting the result back)
  doc/documents.html Install release notes from the documents page
  doc/ReleaseNotes.html Create ReleaseNotes web page (suppress ReleaseNotes.txt)
  mgr/Makefile (docs)  Add installation of ReleaseNotes.html
2003-10-27 src/cmt_version.h (CMTVERSION) prepare tagging of v1r14p20031027
  mgr/requirements cmt_installarea_prefix must be definedexternally to the cmtpath_pattern.
2003-10-22 src/cmt_version.h (CMTVERSION) prepare tagging of v1r14p20031022
  mgr/cmt_installdir_excludes.txt New file containing the list ofpatterns to exclude in installing a directory
  fragments/nmake/install_includes_header (install) Add support for exclude files
  mgr/cmt_installdir_action.bat Add support for exclude files
  mgr/cmt_uninstalldir_action.bat Add tests
  mgr/cmt_uninstall_action.bat Add tests
  mgr/cmt_install_action.bat Add tests
  src/cmt_parser.cxx (set_standard_macros) First define thecurrent installation area before defining all other standardsymbols (and making the final parsing of constituents)
  src/cmt_install_area.cxx (setup_current_install_area) Implementthe definition of the CMTINSTALLAREA symbol
  src/cmt_install_area.cxx (setup) Differentiate the setting of CMTINSTALLAREA symbol fromapplying cmtpath patterns
  src/cmt_install_area.h (class CmtInstallAreaMgr) Split setup intwo parts : first define the CMTINSTALLAREA symbol, then apply allcmtpath patterns
2003-10-21 mgr/cmt_build_release.sh Start a procedure for remotely building a CMT release
  mgr/cmt_installdir_action.bat Added test on existing result.
  fragments/nmake/install_includes_header (install_dir) Use $() instead of ${}
  mgr/requirements Add definition for cmt_installdir_action
  src/cmt_parser.cxx (class StandardMacroBuilder) Generate_cmtpath and _offset macros also for the currentpackage
  src/cmt_system.cxx (remove_directory) Add a # for error messages
  src/cmt_system.cxx (remove_file) idem
2003-10-14 src/cmt_version.h (CMTVERSION) Prepare tagging v1r14p20031014
  src/cmt_use.cxx (compare_versions) Add a function to comparetwo version strings.
  src/cmt_use.cxx (reach_package) Add the effective version checking forno_version_directory style when version.cmt exists.
  doc/CMTDoc.xml Suppress version strategy documentation sincethis mechanism is not really maintained.
  src/cmt_use.cxx (reach_package) Add effective check of versioneven in no_version_directory style
2003-10-13 fragments/ Add start and end markers to all make fragments.
2003-10-09 src/cmt_parser.cxx (do_broadcast) Suppress the catching ofreturn status=2 for last executed command
2003-10-02 src/cmt_system.cxx (cd) putenv requires that the string is static !!
2003-10-01 src/cmt_use.cxx (class use_action_iterator) Force auto_importsto On when context is unspecified.
  src/cmt_use.h (class Use) Add a new set_selected_versionfunction for switching from one use to another one, better wrtvarious criteria. When switching, m_index and auto_imports aretransfered from the unselected to the newly selected.
2003-09-26 src/cmt_system.cxx (cd) Change the PWD environment variable, incase it's not done by the underlying OS
2003-09-24 src/cmt_use.cxx (show_cycles) optimizing a bit
  src/cmt_use.cxx (find_index) idem
  src/cmt_use.cxx (set_auto_imports_state) idem
  src/cmt_use.cxx (move) idem
  src/cmt_use.cxx (reorder) idem
  src/cmt_use.cxx (unselect_all) idem
  src/cmt_use.cxx (get_selected_version) idem
  src/cmt_use.cxx (get_paths) Improve the algorithm to save multiple vector manipulations
  src/cmt_parser.cxx Follow all symbol->build_macro_value bySymbol::expand to really expand all possible macroreferences. This caused a bug when inline re-confirguringCMTUSERCONTEXT (etc.) with a value containing a ref to anothersymbol.
  mgr/Makefile (cpp) Add -O2 option for Linux platform
  mgr/Makefile (cpp) Add support for profiling setup for LinuxProf platform
2003-09-18 mgr/cmt_uninstall_action.sh (a) Fix the consistency check of pwd vs CMTINSTALLAREA
  mgr/cmt_install_action.sh (a) idem
  mgr/Makefile (cpp) Set IGNORE_PWD for OSF1 and LynxOS
  src/cmt_system.cxx (pwd) Add an option to ignore PWD since onsome machines this does not work well with the chdir function.
  doc/CMTDoc.xml improvements
2003-09-17 src/cmt_parser.cxx (class StandardMacroBuilder) Add theproduction of the new macros _cmtpath _offset
  src/cmt_parser.cxx (class StandardMacroBuilder) Implement the generation of_cmtpath _offset macros
  fragments/constituent Add the same dependency list ontoconstituent makefile fragment than onto the constituent itself soas to enforce the build order also for make fragments.
  src/cmt_use.cxx (get_paths, get_selected_version) Remove staticdeclaration for a local variable (caused a serious bug !!)Lots of debug prints improved.
2003-09-16 src/cmt_symbol.cxx (action) fix setup_script calling mechanismin no_version style : should get it from ../cmt rather than ../mgr
  mgr/cmt_uninstall_action.sh (full_source_name) idem
  mgr/cmt_install_action.sh add a protection when currentdirectory is outside any installation area
  mgr/NMake (CMTINSTALLAREA) idem
  mgr/NMake (cmttag) Improve the filter for VisualC tag file generation(required to remove all location specific info)Change the target from cmt to cmttag (ie this is NO LONGER done by default!!)
  mgr/Makefile (CMTINSTALLAREA) Inhibit all INSTALLAREA mechanismwhen rebuilding cmt itself
  src/cmt_parser.cxx (get_current_style) First Implementation
  src/cmt_parser.cxx (dos_script_prefix) Use current_style rather thancurrent_structuring_style to select path pattern
  src/cmt.h (class Cmt) Add get function to access m_current_style
  src/cmt_use.cxx (find_index) Add a protection when a packagewas not found
2003-08-14 src/cmt_generators.cxx (LibraryGeneratorbuild) new syntax for get_all_files
  src/cmt_generators.cxx (DocumentGeneratorbuild) idem
  src/cmt_generators.cxx (MSDEVGeneratorbuild_project) idem
  src/cmt_generators.cxx (VSNETGeneratorbuild_project) idem
  src/cmt_generators.cxx (DependencyGeneratorbuild) idem
  src/cmt_generator.h (class CmtGenerator) Add an argument forselection patterns.
  src/cmt_generator.cxx (get_all_files) Apply the selectionpatterns. Support wilcarded suffixes (*.*)
  src/cmt_generators.cxx (DocumentGeneratorbuild) Add pathcompression when analyzing file names.
  src/cmt_generators.cxx (ConstituentsMakefileGeneratorbuild) suppress unused declarations
  src/cmt_constituent.cxx (show) display select paterns
  src/cmt_constituent.cxx (class constituents_action_iterator) Handle the new -k= option for selection pattern
  src/cmt_constituent.cxx (clear) clear selection patterns
  src/cmt_constituent.h (class Constituent) Add select regexps similar to excludes
2003-08-13 src/cmt_use.cxx (show_all) Standardize the output format ofshow uses to ensure that we always have in the last part:use [] () () (...)or (with -quiet)use []Also fix a bug when trying to remove offset from real_path...
2003-08-11 mgr/Makefile (bintar) Dynamically gets the list of binariesavailable of this machine. Then constructs CMTDownload.htmlaccordingly.
  doc/CMTDownload1.html First part of CMTDownload.html
  doc/CMTDownload2.html Last part of CMTDownload.html
  doc/installations.doc upgrade list of porting machines
  src/cmt_version.h (CMTVERSION) new patch tag v1r14p20030811
  src/cmt_use.cxx (show_sub_uses) Display the original requestinstead of the registered sub use (which may be different than therequest)
  src/cmt_use.h (class Use) Add context_use in the argument listto display the use that created this request
  src/cmt_use.h (class Use) Add a vector of the real requests (well only those that ended up in a sub use)
  src/cmt_use.cxx (need_new) Dispay the incompatibility messagein need_new rather than in the BestFitSelector, sincecorresponding uses may have been discarded then.
  src/cmt_system.cxx (is_version_directory) return all -1 valueswhen version specification is just '*'
2003-08-08 mgr/requirements Tuning pour CYGWIN
2003-08-06 src/cmt_symbol.cxx (create) Same reasons (LynxOS) => convert astatic array of strings into a switch statement (not quiteelegant). May move back in some future if problem is solved onLynxOS.
  src/cmt_syntax.cxx (CommandParser) Initialze the new help_textsby filling in a vector rather that from a static array ofcmt_string (too bad...)
  src/cmt_syntax.h (class CommandParser) Need to redefine themanagement of static arrays of objects due to a bug in c++compiler on LynxOS... A Workaround is found by transfering staticarrays into the singleton => m_helps and m_help_texts
  src/cmt_parser.cxx (dos_script_prefix) Adapt the generation ofsetup.bat scripts so as to account for the new DOS device constructs\\xxx\aaa
  src/setup.bat Add /D to the cd command to support CMT on adifferent device
2003-08-05 src/cmt_parser.cxx (dos_script_prefix) remove device from pathwhen device takes the conventional form. new form (\\xxx\) is notyet handled.
  src/cmt_install_area.cxx (config) Don't produce output messages in quiet mode
  src/cmt_system.cxx (pwd) Make use of the PWD environmentvariable when it is defined to detect current directory in placeof getcwd (keep gettcwd when PWD is not defined or on WIN32)
  fragments/install_includes_header (install) Avoid uselessre-installation of include file area
  src/cmt_use.cxx (add) When m_index is exchanged between twouses, the discarded flag must be upgraded accordingly
  src/cmt_use.cxx (class use_action_iterator) Suppress trailing slash characters onpackage offset specifications.
  src/cmt_parser.cxx (class StandardMacroBuilder) Definepackage_cmtpath instead of just cmtpath as the standard macro, inorder to avoid conflict with CMTPATH env. var. on Windows.
  src/cmt_parser.cxx (do_broadcast) Define the pattern instead of for broadcast command templates
  src/cmt_use.cxx (need_new) first consider the already registered use
  src/cmt_use.cxx (add) Fix a bug in the algorithm for checking registrations of uses.
  src/cmt_use.cxx (class use_action_iterator) Remove trailing slashes from prefix specifications
2003-06-20 src/cmt_version.h new patch id 20030620
  mgr/Makefile (gendoc) Add a target to convert XML doc into HTML(so far only available at CERN)
  doc/gendoc.py (Book.plain_char_data) improvements.
  src/cmt_parser.cxx (do_broadcast) Fix evaluation of in -global mode
2003-06-19 src/cmt_system.cxx (add_cmt_path) Fix cmtpath checking fordevices on Windows
  fragments/nmake/library_no_share Use the @<< syntax of nmake tocope with long list of OBJS
  fragments/nmake/application idem
  fragments/nmake/library idem
2003-06-18 mgr/requirements Use ln -s for the cmt_install_area_command
  fragments/application (install_dir) Use $(tag) instead of $(CMTCONFIG)
  fragments/library (install_dir) Use $(tag) instead of $(CMTCONFIG)
  fragments/library_no_share (install_dir) Use $(tag) instead of $(CMTCONFIG)
  fragments/nmake/application (install_dir) Use $(tag) instead of $(CMTCONFIG)
  fragments/nmake/library (install_dir) Use $(tag) instead of $(CMTCONFIG)
  fragments/nmake/library_no_share (install_dir) Use $(tag) instead of $(CMTCONFIG)
  mgr/requirements use cp -s and not cp -l to create symlinks
2003-06-16 src/cmt_version.h (CMTVERSION) New Tag 20030616
  src/Makefile.header (common_target) Make use of the mktempshell function
  doc/CMTDoc.xml Doc
  src/cmt.h (class Cmt) Add get_current_cmtpath andget_current_offset functions.
  src/cmt_parser.cxx (configure_current_cmtpath) Implement (setm_current_cmtpath and m_current_offset)
  src/cmt.h (class Cmt) Add configure_current_cmtpath function
  src/cmt_parser.cxx (class StandardMacroBuilder) Add standardmacros cmtpath and package_offset
  src/cmt_parser.cxx (do_broadcast) Add substitutions of , , ,
  src/cmt_parser.cxx (class StandardMacroBuilder) Set m_current_cmtpath and m_current_offset
  src/cmt.h (class Cmt) Adding current value for cmtpath and offset
  mgr/requirements Use symlink instead of cp as default transferaction into installation area
2003-06-12 src/cmt_pattern.cxx fix a bug in ApplyPattern::action: macrosshould NOT be expanded when parsing the statement. Only thepattern name may be expanded.Second fix: when a pattern is re-defined, the Pattern object must beproperly reset.
2003-06-04 src/cmt_version.h (CMTVERSION) Tag the version to v1r14p20030605
  mgr/build_from_rpm.sh (tempdir) Add a shell script for testingthe source kit (not complete)
  mgr/install_from_rpm.sh Add a shell script for testing thegenerated binary RPM.
  mgr/Makefile (rpm) Add the rpm target to build RPMs into ../rpm
  mgr/CMT.spec Add an RPM spec file for CMT. Only the binary kithas been tested successfully
  doc/install.html Document the usage of the CMT RPM
  src/cmt_parser.cxx (dos_script_prefix) Use %TEMP% instead of%HOMEDRIVE%%HOMEPATH% for temporary setup files on Windows
  fragments/install_includes_header (install) Fixed wrong test onCMTINSTALLAREA
  src/cmt_syntax.cxx (parse_requirements) Transfer the scopingalgorithm to parse_requirements_text so that patterns supplyingprivate statements will work nicely.
  src/cmt_syntax.cxx (parse_requirements_text) see above
2003-05-23 src/Makefile.header removing apparently obsolete MAKEFLAGSfiltering mechanisms on -j option
  src/setup.zsh Add cmt show cycles zsh expansion
  src/cmt_parser.cxx (parser) Add cmt show cycles parsing and support
  src/cmt_syntax.cxx (CommandParser) Add show_cycles info
  src/cmt_parser.h (enum) Add action_show_cycles
  src/cmt.h (class Cmt) Add cmt show cycles command to display use cycles
2003-05-22 src/cmt_std.h Suppress include ios for new header style
  src/cmt_parser.cxx (parse_arguments) Install a -private option tothe show_use_paths action. When -private is present on the commandline then the private uses are reached.
  src/cmt_parser.cxx (parse_arguments) Make the --private or --public option a globaloption to control on all CMT commands whether we reach or not theprivate uses.
  src/cmt_use.cxx (class use_action_iterator) Detect the newscope filtering mode to actually reach the private uses
  src/cmt_parser.cxx Set the scope filtering mode whenappropriate (cmt_show_uses, cmt_show_use_paths, cmt_broadcast,cmt_set_versions, cmt_show_setup)
  src/cmt.h (class Cmt) Add m_scope_filtering_mode attribute
  src/cmt_parser.cxx (get_scope_filtering_mode) Implement the new function
  src/cmt_parser.cxx (set_scope_filtering_mode) Implement the new function
  src/cmt.h (class Cmt) Add set_scope_filtering_mode function
  src/cmt.h (class Cmt) Add get_scope_filtering_mode function
  src/cmt_parser.h (enum) Add a scope filtering mode to block orreach private uses
2003-05-21 src/cmt_use.cxx (get_all_clients) Public interface to privateget_all_clients
  src/cmt_use.cxx (get_all_clients) Actual recursive implementation for getting allpaths to a given client
  src/cmt_use.h (class Use) Implement two new get_all_clientsfunctions to acquire all paths to a given client of a package (onepublic with simple interface and one private with temporarystorage).
  src/cmt_use.cxx (class use_action_iterator) traverse completeuse graph for action_show_use_paths
  src/cmt_std.h Set new C++ header style on Linux
  src/setup.zsh Add cmt show use_paths to auto-expansion definition
  src/cmt_syntax.cxx (CommandParser) Add help for cmt show use_paths
  src/cmt_syntax.cxx (get_help_texts) idem
  src/cmt_parser.cxx (do_show_use_paths) implement do_show_use_paths function
  src/cmt_parser.cxx (parse_arguments) parse cmt show use_paths
  src/cmt_parser.cxx (parser) idem
  src/cmt.h (class Cmt) add do_show_use_paths function
  src/cmt_parser.h (enum) Start implementing a new feature: cmtshow use_paths to display all possible paths between thecurrent package and the specified package.
2003-05-19 mgr/cmt_linux_version.sh add a script for querying linuxversion for various distributions (contribution from Clark McGrew)
  src/cmt_symbol.cxx (show_macro) re-apply suppress_OS_delimiterwhen generating the tag makefile, but only on WIN32 context.
  src/cmt_pattern.cxx (class apply_pattern_action_iterator) Addaction iterator to expand macros before parsing line.
  src/cmt_fragment.cxx (class fragment_action_iterator) Addaction iterator to expand macros before parsing line.
  src/cmt_fragment.cxx (action) Hide make_fragments in privatesections like macros
  mgr/requirements Introduce the generic Unix tag for all Unix platforms
  src/cmt_parser.cxx (dos_script_prefix) Factor out the writingof DOS setup and cleanup scripts.
  mgr/INSTALL.bat No longer need nmake to generate the setup.batscript of CMT, thanks to the %~d0%~p0 mechanism (copy from src is enough).
  src/setup.bat Install a generic mechanism for finding thecurrent drive letter (unfortunately this mechanism does not workin any possible Unix shell)
  src/cmt_parser.cxx (install_setup_scripts) Apply the driveletter mechanism to setup scripts
2003-05-17 mgr/requirements Typo in the cmtpath_pattern : use_includes
2003-05-14 src/cmt_parser.cxx (restore_all_tags) Bug in managing-tag= argument due to the separator in m_extra_tags :force a separator before and after all tags in the list
  src/cmt_parser.cxx (parse_arguments) idem
  src/cmt_parser.cxx (print) idem
2003-05-13 fragments/tex install correction from Marie Anne
2003-05-12 mgr/cmt_linux_version.sh Adding a script to retrieve Linux version and distribution
  mgr/requirements Add declaration of install_includes fragments
  fragments/install_includes_header Make fragment for installinginclude directory but only for those following the standardpattern of ../
  fragments/install_includes  
  fragments/nmake/install_includes_header  
  mgr/cmt_installdir_action.bat Special treatment of directoryinstallation
  mgr/cmt_uninstalldir_action.bat  
  fragments/constituents_trailer (remove_library_links) Add aremove_library_links target
  fragments/nmake/constituents_trailer idem
  fragments/constituent (uninstall) Suppress dependencies foruninstall target
  fragments/nmake/constituent (uninstall) idem
2003-05-11 mgr/requirements Add search libpath to installarea for WIN32
  fragments/nmake/library (install) bug (typo) in target names
  mgr/cmt_install_action.bat use rem comments instead of #
  mgr/cmt_uninstall_action.bat idem
  mgr/NMake (cmt) Filter out the include and lib definitions inVisualC.nmake for cmt itself.
  src/cmt_parser.cxx (scan_path) Suppress unused variable
  src/cmt_std.h (OLD_HEADERS) Adopt new header style for WIN32
  mgr/requirements Add compiler option for exception handling in VisualC
2003-05-05 src/cmt_use.cxx (add) Set the warning for package not found a real warning.
  src/cmt_parser.cxx (do_setup) Change the info message to bedisplayed only when appropriate
  src/cmt_version.h v1r14
  doc/CMTDoc.xml Improve the doc
  doc/gendoc.py (Book.syntax_start) Add an attribute name insyntax for avoiding name conflicts
  fragments/nmake/jar (install)  
  fragments/nmake/java_header (install)  
  fragments/nmake/library_no_share (install)  
  fragments/nmake/library (install)  
  fragments/nmake/application (install)  
  fragments/jar (install)  
  fragments/java_header (install)  
  fragments/library_no_share (install)  
  fragments/library (install)  
  fragments/application (install) apply the centralized scripts
  mgr/cmt_uninstall_action.bat  
  mgr/cmt_install_action.bat  
  mgr/cmt_uninstall_action.sh  
  mgr/cmt_install_action.sh Scripts for doing(un)installation into the current installation area
2003-05-02 fragments/application (uninstall, install)  
  fragments/library (uninstall, install)  
  fragments/library_no_share (uninstall, install)  
  fragments/java_header (uninstall, install)  
  fragments/jar (uninstall, install)  
  fragments/constituent (install, uninstall) Add (un)install actionsidem for nmake
  doc/gendoc.py Create a new mechanism for generating HTMLdocumentation from an XML representation.
2003-04-30 src/cmt_parser.cxx (do_show_strategies) Display the Setup strategy
  src/cmt_syntax.cxx (class KwdSetupStrategy) Decode the[no_]cleanup option for the setup_strategy in requirements file
  src/cmt_parser.cxx (parse_arguments) Decode the -no_cleanup option
  src/cmt_parser.cxx (do_setup) Apply the cleanup only when the setup strategy permits it
  src/cmt_parser.cxx (do_config) idem
  src/cmt_parser.h (enum) Add NoCleanup possibility to the SetupStrategy
2003-04-16 src/cmt_parser.cxx (run) Bug in PackageCollector::run currentdirectory missed the package name. (for cmt show clients)
2003-04-12 src/cmt_generators.cxx Add excludes to all calls to get_all_files
  src/cmt_generator.h (class CmtGenerator) Add exclude expressions
  src/cmt_constituent.cxx (class constituents_action_iterator)  Implement the -x= option to the constituent to excludepatterns. Create regexps for each pattern.
  src/cmt_constituent.cxx (show) Show excludes
  src/cmt_constituent.h (class Constituent) Add a vector ofregexp for exclude specs.
  src/cmt_regexp.cxx (set) Implement the set function.
  src/cmt_regexp.h (class cmt_regexp) Introduce a defaultconstructor and a set function
  src/cmt_generators.cxx  
  src/cmt_generator.cxx Strong restruring of generator architecture:+ create a CmtGenerator basic class for all generators+ create derived classes for all categories of generatorsApplicationGeneratorLibraryGeneratorDocumentGeneratorReadmeGeneratorPrototypeGeneratorDefaultMakefileGeneratorMSDEVGeneratorVSNETGeneratorMakeSetupGeneratorConstituentsMakefileGeneratorDependencyGenerator+ transfer new stuff in cmt_generators.h/.cxx+ transfer all utility functions (get_all_files etc...) into the base class+ optimize handling of Variable and FragmentHandle objects per Generator class
  src/cmt_install_area.cxx (config) suppress echo in quiet mode
  src/cmt_parser.cxx (install_test_setup_scripts) Protect tempfile against spaces in paths
  src/cmt_parser.cxx (install_test_cleanup_scripts) idem
  src/cmt_parser.cxx (install_setup_scripts) idem
  src/cmt_parser.cxx (install_cleanup_scripts) idem
2003-04-11 src/cmt_parser.cxx (do_run_sequence) Sequences are removed fromcmt.cxx and implemented in a dedicated source file.
  src/cmt_sequence.h (class SequenceRunner) Adding cmt_sequence.h(defining sequences)
  src/cmt_sequence.cxx (filter) Adding cmt_sequence.cxx (extractedfrom cmt.cxx)
  src/cmt_generator.cxx (get_all_files) Return a count of nonempty file names.
  src/cmt_generator.cxx (build_library_makefile) Ensure that get_all_files is done onlyonce.
  src/cmt_generator.cxx (build_document_makefile) Ensure that get_all_files is done onlyonce (not completed yet)
  src/cmt_generator.cxx (class DocumentMakefileGenerator) Start creating an object modelfor makefile generators. Create derived classes ofMakefileGenerator for Application, Library, document
  src/cmt_constituent.h (class Constituent) Add excludes vectorof exclusions
  src/cmt_constituent.cxx (class constituents_action_iterator)  Start implementing exclusion mechanisms on constituent sources.We add a -x= cumulative option to the constituent syntax
2003-04-07 src/cmt_generator.cxx Add DIRNAME VariableAdd new fragments for vcproj
2003-04-05 mgr/requirements define VC7 VC7debug tags for vsnet
  src/cmt_generator.cxx (class MakefileGenerator) Add vsnetdir variableAdd declarations for vsnet fragments
  src/cmt_generator.cxx (reset) Install vsnetdir as ..\VisualC
  src/cmt_generator.cxx (pseudoGUID) Implement an algorithm for creating GUIDs
  src/cmt_generator.cxx (build_vsnet_workspace)  
  src/cmt_generator.cxx (build_vsnet)  
  src/cmt_generator.h (class Generator) Declarebuild_vsnet_workspace and build_vsnet methods
  src/cmt_constituent.cxx (build_all_vsnet_files) Implement for vsnet
  src/cmt_constituent.cxx (build_vsnet_file) Implement for vsnet
  src/cmt_constituent.h (class Constituent) Add build_all_vsnet_files
  src/cmt_constituent.h (class Constituent) Add build_vsnet_file
  src/cmt_parser.cxx (class StandardMacroBuilder) Add macro_GUID for vsnet.
  src/cmt_parser.cxx (parser) Implement cmt build vsnet actions
  src/cmt_syntax.cxx (CommandParser) Add help about cmt build vsnet
  src/cmt_parser.h (enum) Add action_build_vsnet
  src/cmt.h (class Cmt) Add Visual Sudio.Net support (From Toby Burnett)
2003-04-03 src/cmt_parser.cxx (do_setup) Do a config action to theinstallation area in order to perform a cleanup operation duringthe source setup
  src/cmt_install_area.cxx (config) Display a message when doingcleanup of installation areas.
  mgr/requirements Rename cmt_(un)install_command to cmt_(un)install_area_commandPrepare CMTr14 tag from CMTr13
  fragments/java_header (install_java_bin_dir) idem
  fragments/library_no_share (install_lib_dir) idem
  fragments/jar (install_java_lib_dir) idem
  fragments/library (install_lib_dir) idem
  fragments/application (install_bin_dir) idem
2003-04-02 src/cmt_symbol.cxx (build) Bug : the macro_prepend was NOT really prepending.
2003-03-28 src/cmt_parser.cxx (class StandardMacroBuilder) Add CMTVERSION standard macro
  src/cmt_parser.cxx (configure_version_tag) Create three new predefined tags:CMTvCMTrCMTpto describe the current version, release and patch of CMT.
  src/cmt_parser.h (enum) Adding PriorityVersion for marking thepriority of the new automatic version tag
  src/cmt_parser.cxx (configure_version_tag) Implementconfigure_version_tag method to create a tag for the version ofCMT
  src/cmt.h (class Cmt) Adding configure_version_tag method tocreate a tag for the version of CMT
  src/cmt_symbol.cxx (all_set) Ensure that all path separatorsare back-slash on windows.
  fragments/nmake/jar Adapt for the new convention (subdirectory for the CONSTITUENT)
  fragments/nmake/jar (install_java_lib_dir) Add installation area mechanisms
  fragments/nmake/java Adapt for the new convention (subdirectory for the CONSTITUENT)
  fragments/nmake/java_header (install_java_bin_dir) Add installation area mechanisms
2003-03-21 src/cmt_parser.cxx (parser) cmt run must be recursive for usedpackages (in order to get all environment variables set)
2003-03-20 src/cmt_symbol.cxx (show) Implement common SymbolValueList::show method.
  src/cmt_symbol.h (class SymbolValueList) Factor out printing SymbolValues
  src/cmt_symbol.cxx (create) Give use context in warning message
  src/cmt_symbol.h (class Symbol) Add Use* argument to printcontext in warning messages
  src/cmt_parser.cxx (vector_to_string) Ignore empty entries toavoid duplicate separators
  src/cmt_error.cxx (print) Consistently set the prefix "#CMT> "to all error messages and print outs
  src/cmt_triggers.cxx (filter) idem
  src/cmt_use.cxx (add) idem
  src/cmt_generator.cxx (build_default_makefile) idem
  src/cmt_symbol.cxx (create) idem
  src/cmt_parser.cxx (do_show_macro) idem
  src/cmt_symbol.cxx (create) Handle the unconsistent multipledeclarations of sets as macros (and vice versa)
  src/cmt_error.cxx (class Error) Add warning error text
  src/cmt_error.h (class CmtError) Add warning error code
  src/cmt_parser.cxx (reach_current_package) Suppress error printwhen requirements file is not found
  src/cmt_parser.cxx (do_show_macro) Improve the error message in the"cmt show macro/set" command
  src/cmt_parser.cxx (reach_current_package)  
  src/cmt_install_area.h (class CmtInstallAreaMgr) Factor out theconstruction of the current installation area
  src/cmt_install_area.cxx (setup) Filters out "default path" forconstructing the current installation area
  src/cmt_install_area.cxx (config) idem
  src/cmt_cmtpath_pattern.cxx (apply) Suppress "default path" (ieCMTPATH of CMT) from application of cmtpath_patterns
  src/cmt_parser.cxx (get_cmt_path_sources) Add accessor to cmtpath_sources
  src/cmt.h (class Cmt) Add accessor to cmtpath_sources
2003-03-18 src/cmt_cmtpath_pattern.cxx (apply) Optimize the substitutionof "" in cmtpath_patterns by avoiding a loop over path itemswhen the pattern does not contain "" at all
2003-03-13 mgr/requirements Add -classpath $(src) to java compilation
  src/cmt_generator.cxx (analyze_file) Default copy action forfiles with no language is applied only to java contexts
2003-03-12 fragments/java_copy Use this fragment for default action onsources with no language
  src/cmt_generator.cxx (module_file_action) Install default(copy) action for source files with no language.
  fragments/java_header Building jar files with * rather than *.class
  fragments/jar Building jar files with * rather than *.class
  fragments/java_header Syntax fix for generating manifest file
2003-03-11 src/setup.zsh Add show cmtpath_patterns option
  src/cmt_generator.cxx (analyze_file) Add constituent subdirectory to output for java files
  fragments/jar Add constituent sub directory to ../classes tostore *.class and jar files
  fragments/java_header (install_java_bin_dir) Apply installationarea mechanisms for java application
  mgr/requirements Need both share/bin and share/lib for installarea
2003-03-10 src/cmt_cmtpath_pattern.cxx (apply) CMTPATH patterns should beapplied in revers order
  mgr/requirements bug fix (missing backslash)
  src/cmt_install_area.cxx (config) Bug fix
2003-03-09 src/cmt_install_area.cxx (setup) Make use of the cmt_installarea_prefix macro
  src/cmt_install_area.cxx (config) idem
2003-03-08 mgr/requirements Define the cmt_installarea_prefix macro toparameterize the common prefix to be added to all CMTPATH entriesfor installation areas
2003-03-06 src/cmt_install_area.cxx (config) Introduce the new macrocmt_installarea_paths used to declare all PATHS inside theinstallareas that will need to be checked for consistency whendoing cmt config
  src/cmt_install_area.h (class CmtInstallAreaMgr) Removeset_path, add_path_pattern, apply_path_patterns function sincethey are all managed through cmtpath_patterns
  src/cmt_parser.cxx (do_show_cmtpath_patterns) Do set_standard_macros
  src/cmt_install_area.cxx (setup) Launch the CmtPathPattern::apply_all ()
  src/cmt_parser.cxx (parser) Add parsing of cmt show cmtpath_patterns
  src/cmt_syntax.cxx Add parsing of cmt show cmtpath_patterns
  src/cmt_parser.h (enum) Add action_show_cmtpath_patterns
  src/cmt_database.cxx (cmtpath_patterns) Add CmtPathPatternVector object
  src/cmt_database.h (class Database) Add CmtPathPatternVector
  src/cmt_cmtpath_pattern.cxx Install partial reproduction of cmt_pattern.cxx
  src/cmt_cmtpath_pattern.h Create cmt_cmtpath_pattern.h
  src/cmt_cmtpath_pattern.h (class CmtPathPattern) Install partial reproduction of cmt_pattern.h
  mgr/requirements Add the source file cmt_cmtpath_pattern.cxx
  src/cmt_syntax.cxx (class KwdCmtPathPattern) add parser objectfor the new CommandCmtPathPattern.
  src/cmt_parser.h (enum) Add CommandCmtPathPattern to declareCMTPATH patterns to be applied onto all CMTPATH items.
  src/cmt_symbol.cxx (all_set) Add debug informattion
  src/cmt_parser.cxx (do_run) Do set_standard_macros beforerunning
  src/cmt_system.h (class CmtSystem) Adding putenv to set environment variables
  src/cmt_system.cxx (putenv) idem
  src/cmt_symbol.cxx (class SetBuilder) The build and cleanfunction should return string object rather that referencing thestring object attribute (protection against recursive calls)
  src/cmt_symbol.cxx (class PathBuilder) idem
  src/cmt_symbol.cxx (class MacroBuilder) idem
  src/cmt_symbol.cxx (class ScriptBuilder) idem
  src/cmt_symbol.cxx (resolve_value) Add comments and improve variable naming
  src/cmt_symbol.cxx (resolve_value) idem
  src/cmt_symbol.cxx (resolve_value_for_macros) idem
  src/cmt_symbol.cxx (suppress_OS_delimiters) idem
  src/Makefile.header (common_target) Use /tmp tocreate temporary (and disposable) make fragments. Rearrange
  mgr/Makefile (cpp) Provide support to build on LinuxDebug
  fragments/constituents_header (cmt_lock_setup) Use /tmp tocreate temporary (and disposable) make fragments. Rearrangestatements in the building of $(tag).make so as to ensure thatecho statements are only done when things are ok.
  src/cmt_parser.cxx (install_cleanup_scripts) Define CMTROOTonly if it is NOT defined yet. Goal is to keep user definedversion of CMT.
  src/cmt_parser.cxx (install_setup_scripts) idem
  src/cmt_parser.cxx (install_test_cleanup_scripts) idem
  src/cmt_parser.cxx (install_test_setup_scripts) idem
2003-02-27 src/cmt_symbol.h (class ValueBuilder) due to recursivity,Builder function cannot share the temporary string value
2003-02-26 src/cmt_parser.cxx (do_run) Add Symbol::all_set
  src/cmt_parser.cxx (do_broadcast) idem (before the loop over packages)
  src/cmt_symbol.cxx (all_set) Install the mechanism to setenvironment variables (using putenv) into CMT. This function iscalled before running the CmtSystem::execute function.
  src/cmt_symbol.h (class Symbol) Remove the tabs argument of theprint and print_clean methods (obsolete)
  src/cmt_symbol.cxx (resolve_value) rename the argument for thesymbol name (it applies for any symbol, not just for macros)
  src/cmt_symbol.cxx (resolve_value) Improve comments
  src/cmt_symbol.cxx (resolve_value_for_macros) Improve comments
  src/cmt_symbol.cxx (resolve_macro_value) factor out at least one of the resolve macro algorithms
2003-02-24 src/cmt_generator.cxx (build_dependencies) Surroundingdependencies by quotes does not please gmake. We have to checkwhat happens on Darwin (ie what about path names with spaces?)
2003-02-14 mgr/requirements Use XCOPY instead of copy for the installcommands to support the directory copy
  fragments/installer Suppress the need to specify install_dirwith trailing slash
  fragments/nmake/installer Add installer for Windows
  src/cmt_generator.cxx (build_dependencies) Add double quotes tosupport file names with non standard characters (eg spaces) (notonly on Windows).
  src/cmt_generator.cxx (filter_path) Add the filter operation to work on one siglefile. The filter_paths function becomes obsolete and is removed.
  src/cmt_generator.cxx (analyze_document_file) Use filter_path instead of filter_paths
  src/cmt_generator.cxx (proto_file_action) idem
  src/cmt_generator.cxx (module_file_action) idem
  src/cmt_generator.cxx (build_library_makefile) idem
  src/cmt_generator.cxx (build_document_makefile) idem
  src/cmt_generator.cxx (build_dependencies) idem
  src/cmt_generator.cxx (build_document_makefile) Support sources being directories
  src/cmt_generator.cxx (module_file_action) idem
  mgr/cmt_install_action.bat idem
  mgr/cmt_uninstall_action.bat idem
  fragments/nmake/library_no_share (install_lib_dir) idem
  fragments/nmake/library (install_lib_dir) idem
  fragments/nmake/application (install_bin_dir) idem
2003-02-11 src/cmt_cvs.cxx (class CvsImplementation) Adding explicit errormessage when base directory cannot be created during the checkout.
2003-02-06 src/Makefile.header (clean) Remove the pseudo config target forthe clean target
2003-02-04 src/cmt_use.cxx (add) Add protection against recursive usestatement to current_use
  src/cmt_use.cxx (need_new) Add protection against recursive usestatement to current_use
2003-01-31 mgr/requirements library_prefix should be empty for WIN32
  src/cmt_parser.cxx (install_setup_scripts) Protect the setupscript generation against cases where : structuring style is setto without_version_directory and verion tag cannot be determined(eg. if the version file does not exist). Then, the -version=xxxoption is suppressed from the setup script generation.
  src/cmt_parser.cxx (install_test_cleanup_scripts) idem
  src/Makefile.header (common_target) Suppress a debug settings
2003-01-28 src/cmt_install_area.cxx (instance) Suppress the production ofLD_LIBRARY_PATH installation specs for WIN32
  fragments/nmake/library_no_share (install_lib_dir)  
  fragments/nmake/library (install_lib_dir)  
  fragments/nmake/application (install_bin_dir) Add install area mechanisms for WIN32
2003-01-24 src/cmt_install_area.cxx (instance) The constuction of theinstance also declares the path patterns.
  src/cmt_install_area.cxx (setup) Make use of the path_patterns to generate CMT statements
  src/cmt_install_area.cxx (get_install_area) The current install area is preserved in theInstallAreaMgr instance (singleton).
  src/cmt_install_area.cxx (set_path) (only used internally) build a path expression from a pattern
  src/cmt_install_area.cxx (setup) Provide additional -L... options towards the install areafor use_linkopts ad shlibbuilder
  src/cmt_install_area.cxx (config) Perform the cleanup operation onto the current installation area:check the all ref-files still refer to existing files.if not erase the corresponding installed file.
  src/cmt_install_area.h (class CmtInstallPathPattern) New classfor storing generic patterns for (PATH/directories) duetsgeneration and management inside install area mechanisms. Thepoint is to describe special conventions for things to beinstalled within the installation area.We describe that in terms of a set of :o path-like variable nameso subdirectory patterns bellow $CMTINSTALLAREAAll those patterns will be used to configure the installation areaand to expand the specified PATH-like variables.Ex:PATH is associated with ${CMTCONFIG}/binLD_LIBRARY_PATH is associated with ${CMTCONFIG}/libCLASSPATH is associated with share/binwe could think of having those patterns defined in therequirements file.
  src/cmt_parser.cxx (do_remove_library_links) Handle symlinksinduced by the _libraries macros through INSTALLAREAmechanisms
  src/cmt_parser.cxx (do_build_library_links) (idem)
  src/cmt_parser.cxx (set_standard_macros) Setup operations for InstallArea have beengrouped using InstallPathPatterns
  src/cmt_parser.cxx (do_config) Add cleanup of install area
2003-01-23 src/cmt_syntax.cxx (class KwdBuildStrategy) Support extensionof build_strategy with install_area mechanisms.
  src/cmt_system.cxx (mkdir) Suppress the error message when onecannot create a directory
  fragments/application (install_bin_dir)  
  fragments/library_no_share (install_lib_dir)  
  fragments/library (install_lib_dir) Use CMTINSTALLAREA instead of INSTALLAREA
  src/cmt_parser.cxx (do_build_library_links) Use install areamechanisms when the build_strategy is active rather thansymlinking into the binary directory of the package.
  src/cmt_parser.cxx (set_standard_macros) Add the generation of CMTINSTALLAREAenvironment variable, the prepending of PATH, LD_LIBRARY_PATH,CLASSPATH when install_area is active
  src/cmt_install_area.cxx  
  src/cmt_install_area.h (class CmtInstallAreaMgr) New class formanaging install area mechanisms.
  src/cmt_parser.h (enum) Add InstallArea in BuildStrategy
2003-01-22 src/cmt_use.cxx (find_index) Bad use of a static local variableimplying wrong management of -import= options
  src/cmt_use.cxx (get_index) Adding accessor function to m_index private attribute
  src/Makefile.header (.DEFAULT) Remove temporary debugging action
2003-01-21 src/cmt_symbol.cxx (all_print) Restore two-steps process forgenerating setenv calls (first normal env. variables then path-like)
  src/cmt_symbol.cxx (all_print_clean)  
2002-12-20 src/cmt_parser.cxx (do_show_strategies) put a space character
  mgr/Makefile (cpp) Add the -O2 compiler option on default platforms
  mgr/requirements Privately try the construction of the new CMTCONFIG
  src/cmt_parser.cxx (parse_arguments) Add cmt --version equivalence to cmt version
2002-12-19 mgr/requirements Change the name of cmt_cc_version.sh tocmt_dcc_version.sh for case insentivity of Darwin file system
  fragments/application (install_lib_dir)  
  fragments/library (install_lib_dir)  
  fragments/library_no_share (install_lib_dir)  
2002-12-18 src/cmt_symbol.cxx (resolve_value_for_macros) We have tosuppress the conversion from %xxx% to $(xxx) on non-windowsplatform, since there were some occurrences of %xxx% patterns,which have a meaning in unix world!!
  src/Makefile.header (.DEFAULT) Only run once sub-makefile
  src/cmt_symbol.cxx (all_print_clean) Keep order of generationof sets and paths (instead of sets then paths)
  mgr/cmt_cc_version.sh Helper scripts for compiler query commands
  mgr/cmt_cxx_version.sh  
  mgr/cmt_CC_version.sh  
  mgr/cmt_gcc_version.sh  
  mgr/cmt_filter_version.sh  
  fragments/constituents_header (first) Make use of cmt show setup
  src/cmt_parser.cxx (do_show_setup) Display sections rather than from the Makefile
  src/cmt_use.cxx (class use_action_iterator) action_show_setuptraverses the private subtrees (like show_uses)
  src/cmt.h (class Cmt)  
  src/cmt_parser.cxx (do_show_setup)  
  src/cmt_parser.h (enum) Add action_show_setup for grouping show uses,tags,path
  mgr/requirements Manage a common (sh/csh) style for outputredirection for system query commands
  fragments/library_no_share (install_lib_dir)  
  fragments/library (install_lib_dir)  
  fragments/application (install_bin_dir) Use cmt_install_commandinstead of install_command for install area mechanisms to avoitconflicts with the installer document generator
  src/cmt_parser.cxx (do_show_strategies) Add display of setup strategy
  src/cmt_parser.cxx (print_context) Apply the build strategy
  src/cmt.h (class Cmt) Add get/set current_setup_strategy methods
  src/cmt.h (class Cmt) Add m_current_setup_strategy attribute
  src/cmt_parser.h (enum) Add SetuStrategy enumeration
  src/cmt_syntax.cxx (class KwdSetupStrategy) Add SetupStrategy class
  src/cmt_parser.h (enum) Add setup_strategy keyword to controlthe production of CONFIG and ROOT env. variables
  src/cmt_parser.cxx (class StandardMacroBuilder) Add few debug printouts
  src/cmt_use.cxx (find_index) The returned index must be them_index attribute of the Use object rather than the index in theuse list of the package!!
2002-12-16 src/Makefile.header (binclean) Add a quick binclean target
  src/Makefile.header (all) prepend a systematic config target
  fragments/constituents_header (all) Suppress dummy messages in gmake all and config
  src/cmt.h (class Cmt) do_help remembers of the current actionbeing parsed to have cmt help action
  src/cmt_syntax.h (class CommandParser) Command parsingmechanisms. So far only the help is handled. General map-basedparsing mechanism is foreseen
  src/cmt_parser.h (enum ActionType) Add global actions forbuild, check, show only for error and help management
  src/cmt_syntax.cxx (show) Command Help management introduced (will be improved)
  src/cmt_parser.cxx (parse_arguments) Improve command help with SyntaxParser
  mgr/requirements Adding specs for query commands on WIN32
2002-12-12 mgr/Makefile Remove the mail sending after CMT rebuild... (!!!)
  src/cmt_symbol.cxx (resolve_macro_value) Detects patterns like:`$(macro-name)` within symbol definitions. The specified macro is expectedto contain a shell command that will then be executed when expandingthe macro.
  mgr/requirements Add some system information queries:hardwaresystem_versioncompiler_version
  mgr/cmt_filter_version.sh Add a filtering script for system versioninformations.
  mgr/requirements make use of SyntaxParser
  src/cmt_triggers.cxx idem
  src/cmt_use.cxx idem
  src/cmt_parser.cxx idem
  src/cmt_pattern.cxx idem
  src/cmt_syntax.cxx  
  src/cmt_syntax.h (class Kwd) Introduce the new syntax parsingmechanism. It is based on a cmt_map of keyword objects. All requirements parsingoperations are now implemented in the SyntaxParser singleton.
  src/cmt_parser.cxx (do_build_library_links) Introduce thecmt_symlink_cmd macro to override the internal management ofsymlink creation in case this is unavailable (eg on Windows)
2002-12-11 src/cmt_parser.cxx (do_set_versions) Make use of cmt broadcastto install version files in all packages. Inherit broadcast syntax.
  src/cmt_parser.cxx (do_broadcast) Add possibility to use template like in patternsStart with .
  mgr/Makefile (cpp) Add profiling option
  fragments/check_java (check) Add run options
  src/cmt_use.cxx (find) Use Package grouping of uses
  src/cmt_use.cxx (find_index) Use index registration information
  src/cmt_use.cxx (move) Use index registration information
  src/cmt_use.cxx (reorder) idem
  src/cmt_use.cxx (need_new) Revisit the algo to avoid useless multiple reading of requirements files
  src/cmt_use.cxx (add) Use index registration information
  src/cmt_use.cxx (operate) Improve for without version directory style
  src/cmt_use.cxx (Package) Introduce Package grouping of Use objects
  src/cmt_parser.cxx (do_set_versions) Use Package::is_cmt feature.
  src/cmt_string.cxx (replace) Optimize by reducing the calls to strlen.
  src/cmt_generator.cxx (build_dependencies) Use Package::is_cmt feature.
  src/cmt_include.cxx (print_all) Use Package::is_cmt feature.
  src/cmt_script.cxx (all_print_clean) Use Package::is_cmt feature.
  src/cmt_database.cxx (pattern_list_map) Discard dump features
  src/cmt_database.h (class Database) Restore tag management.Introduce PatternList and Package management
  src/cmt_project.cxx (class ProjectMgr) Suppress tag managementfrom projects. Make it back to global management (from Database)
  src/cmt_pattern.h (class PatternList) Introduce PatternListclass to group pattern by names. This class contains a list ofPatterns of the same name but originating from different uses.
  src/cmt_use.h (class Use) renaming uses() to get_ordered_uses() andall_uses() to get_instances ()
2002-12-10 src/cmt_project.h (class Project) Add a tag_map to manage tags
  src/cmt_tag.cxx (add) Add a tag_map to manage tags
  src/cmt_tag.h (class Tag) Introduce a map of tags
  src/cmt_database.cxx (symbol_map) install a map of symbols
  src/cmt_database.h (class Database) install a map of symbols
  src/cmt_symbol.cxx (create) Use symbol map to find existing symbols
  src/cmt_symbol.cxx (find) idem
  src/cmt_symbol.cxx (symbol_map) access to the map of symbols from the database
  src/cmt_symbol.cxx (clear_all) clear the database and the map
  src/cmt_symbol.h (class Symbol) Introduce the new typedefSymbolMap for a cmt_map of Symbols
  src/cmt_map.h Introduce cmt_map.h implementing a map (binary tree)
  src/cmt_regexp.cxx (cmt_regexp) Rename cmt_node to cmt_regexp_node
  src/cmt_regexp.h Rename cmt_node to cmt_regexp_node
2002-12-09 fragments/check_java (check) Add run options (global and local)
  mgr/requirements Fix typo (trailing backslash)
  src/cmt_parser.cxx (parser) Add set versions operation to perform aglobal set version onto all used packages.
  src/cmt_parser.cxx (do_set_versions) Start implementing a draft scenario
  src/cmt_parser.cxx (parser) the set versions action require parsing the use graph.
  src/cmt.h (class Cmt) idem.
  src/cmt_parser.h (enum) idem
  src/cmt_parser.cxx (configure_current_package) Set the defaultversion expression in absence of both version directory ANDversion file to "v*" (instead of "v0")
  src/Makefile.header (binclean) Add new standard target forerasing at once the $(bin) directory
2002-12-08 src/cmt_parser.cxx (do_set_version)  
  src/cmt_parser.cxx (scan_path) Improving the management of various structuring styles for the FileScanner.
  src/cmt_parser.cxx (do_show_strategies) Displays structuring style in show_strategies
  src/cmt_parser.cxx (reach_current_package) Prepare the removal of automatic addition of thecurrent package area to CMTPATH...
  src/cmt_parser.cxx (do_config) Fix discovery of structuring style
  src/cmt_parser.cxx (configure_current_package) Fix discovery of structuring style
  src/cmt_parser.cxx (class SequenceRunner) Accept version argument in sequence files
  src/cmt.h (class Cmt)  
  src/cmt_parser.h (enum) Add set version command to install version.cmt file
  src/cmt_system.cxx (is_version_directory) Handle wild cards inversion ids detection
  mgr/requirements Add Darwin definitions
  mgr/cmt_make_shlib_common.sh (temp_shlib) Protect againstmodule files with space in their names
  mgr/requirements try to remove CMT/v from PATH rather then CMTonly so as to keep subpackages of CMT
  src/cmt_use.cxx (set_auto_imports_state) fix a bug on use pointer comparisons.
  fragments/nmake/constituent  
  fragments/nmake/constituents_header (dirs) fix naming scheme : only .nmake
  mgr/NMake (cmt) protect VisualC.nmake generation againstreminder of the physical location of the rebuild
  src/demo/demoA/requirements Add PATH towards java on Windows
  mgr/NMake Add a target to re-generate VisualC.nmake inside CMTso as to have proper nmake demo
  mgr/requirements provide debug_option for WIN32 platform
  fragments/nmake/make_header (tags) Suppressed$(CMTCONFIG),$(CMTEXTRATAGS) and only keep $(CMTEXTRATAGS)
  fragments/nmake/constituents_trailer added to NMake family
  fragments/nmake/group added to NMake family
2002-12-05 src/cmt_vector.h (cmt_vector) replace static int frame_size byenum {frame_size} to C++ ANSI compliance.
  src/cmt_use.cxx (BestFitSelectoroperate) When structurigstyle is withut-version-directory, the version field of thepackage may still contain wild cards. This has to be consideredwhen checking compatibility.
2002-12-04 src/cmt_use.cxx (set_auto_imports_state) bug fix (corresponding to v1r12p20021129)
2002-10-30 src/cmt_vector.h (cmt_vector) define frame_size as a staticconst int instead of enum
2002-10-15 src/cmt_use.cxx Protect against use objects badly recordedwithin auto_imports_state vectors
  src/cmt_parser.cxx (scan_path) Fix algo to scan packages tocope with no-version style
  src/cmt_parser.cxx (class StandardMacroBuilder) Fix no-auto-imports algo
2002-09-24 mgr/ChangeLog.php Introduce the online filter for ChangeLog file
  doc/documents.html Use PHP to filter out ChangeLog
  mgr/Makefile (docs) Install ChangeLog and ChangeLog.php into web site
  src/setup.zsh Add an empty leading line to avoid shell problems...
  src/Makefile.header (config) force the rebuild of $(tag).make
2002-08-06 fragments/library Split action list so as to force the rebuildof shared libraries when it has been lost while shstamp is stillthere.
2002-06-21 src/cmt_parser.cxx (class SequenceRunner) Add support for comments in the sequence files
  src/cmt_parser.cxx (do_show_macro_names)  
  src/cmt_parser.cxx (do_show_set_names)  
  src/cmt_parser.cxx (print_symbol_names)  
  src/cmt_parser.cxx (class StandardMacroBuilder) prepare the production of_use_linkopts but let it unsused for the time being
  src/cmt_parser.cxx (class StandardMacroBuilder) fix a typo
  src/cmt_parser.cxx (class StandardMacroBuilder) fix a bug
  src/cmt_parser.h (enum)  
  src/cmt.h (class Cmt) Adding do_show_macro_names,do_show_set_names, print_symbol_names functions
  src/setup.tcsh  
  src/setup.zsh move the -quiet option before verb to avoid confusion with new syntax for show xxxs
  src/demo/tprivate.cmt  
  src/demo/demo1.cmt improve test sequences
  mgr/requirements add the macro preproc to prepare new schemefor dependency generation using cpp -MD
  mgr/Makefile (cpp) Specialize default cpp according to the platform
  mgr/Makefile (hosts) we don't need BOOL hosts anymore
  mgr/Makefile (demo) the demo sequence now exploits the sequence runner of CMT
  mgr/Makefile (tprivate) new test sequence on private uses.
  mgr/ChangeLog.awk Adding this awk script to convert the ChangeLg file int HTML format
  doc/CMTDownload.html  
  doc/download.html  
  doc/install.html doc improvements
  fragments/application Temporarily stop using $(${CONSTITUENT}_use_linkopts)
  src/NMakefile.header (tag)  
  src/Makefile.header (tags)  
  fragments/nmake/constituents_header (tag)  
  fragments/nmake/make_header (tag)  
  fragments/constituents_header (tag)  
  fragments/make_header (tag) Add $CMTCONFIG to tags
2002-05-29 src/cmt_database.cxx  
  src/cmt_database.h  
  src/cmt_project.h (class Project)  
  src/cmt_project.cxx (Project) Introduce Project management
  mgr/requirements Define the default project CMT
  src/cmt_parser.h (enum)  
  src/cmt_parser.cxx (select)  Introduce apply_tag statements
Introduce first iteration on project management
  src/cmt_symbol.cxx (action) replace direct access to member oftag objects by accessor functions.
  src/cmt_tag.cxx (add)  
  src/cmt_tag.h (class Tag)  Clean up the for private members only
introduce action_apply to activate a tag from a requirements file
introduce tag expressions -> this defines primary tags versuscomputed ones. Selection is either obtained from m_selected forprimary tags or computed from operands otherwise.so far only AND expressions are available.
2002-05-28 src/cmt_symbol.cxx (select_last) Make use of Tag::is_selected
  src/cmt_tag.cxx (is_selected)  
  src/cmt_tag.h (class Tag) Add and_operands for defining tagsfrom a bool expression of primary tags. Move selected to privatearea to ensure usage of is_selected which may compute theselection state from operands. The embedded state is now reservedto primary tags.
  src/cmt_awk.cxx (class Parser) Replace the basic parsing engineby the local Parser class. It takes care of both EOL styles (Unixand Win) and of trailing backslashes for continuations.
  src/cmt_awk.h (class Awk) Added a function inc_line_number toincrement the line number from the external text parser.
  src/cmt_cvs.cxx (filter) Added debug messages
  src/cmt_parser.cxx (do_awk)  
  src/cmt_parser.h (enum) Added action_awk
  src/cmt.h (class Cmt) Added do_awk function for testing the Awk operator.
2002-05-27 doc/todo.html Adding entries
2002-05-24 src/cmt_cvs.cxx (class CvsImplementation) fix few problems withno_version_directory.
2002-05-23 src/demo/scenario.awk Adapt to handle without_version_directory style
  src/demo/demo1.cmt fix a typo
  src/cmt_parser.cxx (parse_requirements) Fixing bug on privatemacros for without_version_directory style
  mgr/Makefile (demo) Improving the demo scenario manager
2002-05-22 doc/download.html  
  doc/CMTDownload.html  
  src/cmt_version.h (CMTVERSION) preparing tagging for v1r13...
  src/cmt_use.h (class Use) new helpers
  src/cmt_use.cxx (class use_action_iterator) re-design the scopehiding for private uses (was buggy for first level private uses)
  src/cmt_use.cxx (reach_package) structuring style
  src/cmt_use.cxx (get_full_path) new helper for centralizing the full package pathcomputation
  src/cmt_use.cxx (reduce_path) new helper to normal form with $ROOT
  src/cmt_use.cxx (get_paths) add debug prints
  src/cmt_use.cxx (show_sub_uses) structuring style
  src/cmt_system.h (class CmtSystem)  
  src/cmt_system.cxx (reduce_file_separators) helper to reducemultiple file separators into one
  src/cmt_system.cxx (is_package_directory) structuring style
  src/cmt_pattern.cxx (apply) add debug prints
  src/cmt_parser.h (enum) Add CmtStructuringStyle options
  src/cmt_parser.cxx  Introducing support for structuring style.m_current_structuring_style global variable
  src/cmt_parser.cxx (scan_path)  
  src/cmt_parser.cxx (scan_package)  
  src/cmt_parser.cxx (run)  
  src/cmt_parser.cxx (PackageCollectorrun)  
  src/cmt_parser.cxx (configure) calling configure_current_structuring_style
  src/cmt_parser.cxx (configure_current_package)  
  src/cmt_parser.cxx (configure_current_structuring_style) new method
  src/cmt_parser.cxx (do_broadcast) use Use::get_full_path
  src/cmt_parser.cxx (do_config)  
  src/cmt_parser.cxx (do_create)  
  src/cmt_parser.cxx (do_help)  
  src/cmt_parser.cxx (do_lock) suppress unused local variable
  src/cmt_parser.cxx (do_remove)  
  src/cmt_parser.cxx (do_show_macros) add pattern for selection instead of default '*'
  src/cmt_parser.cxx (do_show_sets) idem
  src/cmt_parser.cxx (do_unlock) suppress unused local variable
  src/cmt_parser.cxx (get_current_strategy) new method
  src/cmt_parser.cxx (install_cleanup_scripts) install cleanup scripts on windows
  src/cmt_parser.cxx (load)  
  src/cmt_parser.cxx (parse_arguments) re-number argument array
  src/cmt_parser.cxx (parse_arguments) support arguments for cmt show macros
  src/cmt_parser.cxx (parse_arguments) support arguments for cmt show sets
  src/cmt_parser.cxx (parse_arguments) -with_version_directory option
  src/cmt_parser.cxx (parse_arguments) -without_version_directory option
  src/cmt_parser.cxx (parse_requirements)  
  src/cmt_parser.cxx (parser) support arguments for cmt show macros
  src/cmt_parser.cxx (parser) support arguments for cmt show sets
  src/cmt_parser.cxx (print_context) use Use::get_full_path
  src/cmt_parser.cxx (print_macros) selection pattern (reg. expression) on symbols
  src/cmt_parser.cxx (reach_current_package)  
  src/cmt_parser.cxx (set_standard_macros) add getting pwd
  src/cmt_parser.cxx (set_standard_macros) structuring style
  src/cmt_generator.cxx  
  src/cmt_generator.cxx (SourceFileset) use CmtSystem::reduce_file_separators
  src/cmt_generator.cxx (prepare_use_context) idem
  src/cmt_generator.cxx (prepare_use_context) use Use::get_full_path
  src/cmt_generator.cxx (set_full_name) idem
  src/cmt_generator.cxx (build_make_setup) idem
  src/cmt_fragment.cxx  
  src/cmt_fragment.cxx (print) use Use::reduce_path factorization
  src/cmt_fragment.cxx (locate) use Use::get_full_path factorization
  src/cmt_fragment.cxx (locate) Support structuring style options
  src/cmt_cvs.cxx  + need cmt.h for accessing structuring style+ support for structuring style
  src/cmt.h (class Cmt)  Adding support for structuring styledo_show_macros now accepts argumentsdo_show_sets now accepts argumentsprint_macros now accepts a pattern for selecting symbols
  src/demo/tprivate.cmt Scenario for testing private uses and-no_auto_imports
  src/demo/demo1.cmt Scenario for the general test/demo sequence.
  src/demo/scenario.awk Add a script for installingscenarios. This script can- create packages- install text files relatively to the packages.
  mgr/Makefile (demo) Replace the copy operations for the demotargets by an awk-based mechanism (only for Unix -> keep oldmechanism for Windows). The scenario.awk script is able to createpackages and install text files into the newly created packages.Add a target (a scenario) for testing private uses and-no_auto_importsAdd an help target describing all special targets.
  fragments/constituents_header (first) Differentiate setup.makewith the package name when $(bin) is common.
2002-05-17 doc/todo.html Adding a web page for ToDo list, and bug reports.
  src/cmt_parser.cxx (install_test_setup_scripts)  
  src/cmt_parser.cxx (install_test_cleanup_scripts) Fix the bugto "source setup" standalone with a current directory outside thepackage itself.
2002-05-15 src/cmt_version.h (CMTVERSION) Preparing the new tag v1r12p20020515
  doc/CMTDoc.html Upgrade the documentation.
  src/setup.tcsh  
  src/setup.zsh Add all_tags to the list of know show options
  src/cmt_tag.cxx (show_definition)  
  src/cmt_tag.h (class Tag) Added Tag::show_definition(unfiltered show method wrt the selected state)
  src/cmt_parser.cxx (do_help) Implement the new cmt show all_tags command.
  src/cmt.h (class Cmt) Added Cmt::do_show_all_tags ()
  src/cmt_parser.h (enum) Added action_show_all_tags
  mgr/requirements remove -I$(inc) from default value of ccompmacro (no longer needed and has side effects)
  src/cmt_use.cxx (add) Protect against null use pointer when not found.
  src/cmt_tag.cxx (action) do increase the tag ref list whenoverridden. It used to be un-overridden...
  fragments/constituents_trailer (clean) add a semi-colon between the two shell commands.
  src/cmt_system.cxx (create_symlink) Explicit .c_str() in system calls.
  doc/table.html setup a direct URL to CVSWeb rather than throughan intermediate page
2002-04-12 doc/CMTDoc.html  
  src/setup.zsh  
  src/setup.tcsh  
  src/cmt_parser.cxx (do_help)  
  src/cmt.h (class Cmt)  
  src/cmt_parser.h (enum) introduce action_show_all_tags dodisplay all defined tags (while action_show_tags only shows allactive tags)
  fragments/constituents_trailer (clean) typo in the clean target.
2002-04-11 src/cmt_parser.cxx (print_clean) Suppress the unset of CMTCONFIG
2002-04-10 fragments/library  
  fragments/library_no_share Suppress the experimental change forerasing the object files after filling the library
  src/cmt_version.h preparing tagging for v1r12
  mgr/requirements Adapt to Darwin
  src/cmt_symbol.cxx (action)  
  src/cmt_use.cxx (action)  
  src/cmt_use.h (class Use) Introduce m_has_native_version
  mgr/requirements Add standard $(library_prefix) and $(library_suffix) macros
  mgr/cmt_make_shlib_common.sh (temp_shlib) Set verbose mode tothe linker command and control it through the QUIET macro. Fix thetemporary expansion directory
  mgr/cmt_make_shlib_common.sh (temp_shlib)  
  fragments/library_header  
  fragments/cleanup_library Add standard $(library_prefix) and $(library_suffix) macros
  fragments/constituents_trailer (makefilesclean)  
  fragments/constituent remove specific makefile fragments forthe constituents (instead of *.make)
  fragments/library_no_share  
  fragments/library erase *.o files after filling the library
  src/cmt_use.h (class Use) Add use::sub_use_auto_imports to savespecifications on sub uses. Add Use::set_auto_imports to possiblypromote auto_imports to sub uses when it is changed from Off toOn.
  src/cmt_parser.h (enum)  
  src/cmt_pattern.cxx (show_all_applied_patterns)  
  src/cmt_pattern.h (class Pattern) adding Pattern::show_all_applied_patterns ()
  src/setup.tcsh  
  src/setup.zsh  
  src/cmt_parser.cxx (do_help)  
  src/cmt.h (class Cmt) Adding Cmt::do_show_applied_patterns forthe new command "cmt show applied_patterns"
2002-04-04 src/cmt_use.cxx (add) Protect against duplicated registration ofcurrent_use.
  src/cmt_parser.cxx (install_setup_scripts) Append an empty lineat the end of the generated setup script (problem on some shells)
  src/cmt_parser.cxx (do_create)  
  src/cmt.h (class Cmt) Change the signature of the do_createfunction to receive its arguments from the "arguments" list ratherthan changing current_package etc...
  src/Makefile.header Add a systematic config target (for backward compatibility)
  fragments/constituents_trailer (binclean) added the bincleantarget to completely remove the binary directory at once.
  fragments/make_header  
  fragments/constituents_header  
  fragments/nmake/make_header (CMTEXTRATAGS)  
  fragments/nmake/constituents_header (CMTEXTRATAGS) Remove the settings of CMTCONFIG
2002-03-22 src/cmt_symbol.cxx (suppress_OS_delimiters) operate on %...%patterns only on Windows machines.
2002-03-20 mgr/Makefile (Atlas) Suppress HP rebuild for Atlas group
  src/cmt_cvs.cxx (filter) Improve the recursive passes andhandle the new qualifiers of the use statements.
  fragments/cleanup_header (clean) Fix bad insertion of the .DEFAULT target
  src/cmt_symbol.cxx (suppress_OS_delimiters) Introduce this newfunction to ensure that only $() syntax is used in tag makefiles(ie suppress ${} and %% syntaxes)
  src/cmt_symbol.cxx (show_macro) apply this new function for action_build_tag_makefile
  src/cmt_generator.cxx (reset) Do not generate the Visualdirectory on non-windows machines
  fragments/group (clean) Suppress one echo on gmake clean
2002-03-14 src/cmt_parser.cxx (set_standard_macros) Cleanup management of m_current_tag
2002-03-07 src/cmt_parser.cxx (print_context) Suppress the automaticsettings of CMTEXTRATAGS
  src/Makefile.header Do not change CMTCONFIG
  src/NMakefile.header Do not change CMTCONFIG
2002-02-27 fragments/jar Adding removal of jar file for clean target
  src/cmt_use.cxx (show_sub_uses) show no_auto_imports status
  src/cmt_parser.cxx (reach_current_package) reapply globalpattern at once until side effects are solved in user projects.
  fragments/jar Apply an old fix to Unix fragments (was appliedto Windows only)
2002-02-26 src/cmt_use.cxx (move_to) select_alternate must be appliedafter reach_package for searches against an absolute path oragainst the current directory.
2002-02-25 fragments/cleanup_header (clean) Add default action
  src/Makefile.header (common_target) Remove debug print
  src/cmt_parser.cxx (parse_requirements) Apply global patternsright after parsing a requirements file, and only considering theUse context, one at a time (rather than applying all globalpatterns to all Uses at once after reading all requirements file)
  src/cmt_pattern.cxx (apply_all_globals)  
  src/cmt_pattern.h (class Pattern) Add a method to apply allglobal patterns in the context of only one Use object.
2002-02-24 src/cmt_system.cxx (command_separator) New method for gettingthe shell command separator (& or ;)
  src/cmt_cvs.cxx (class CvsImplementation) AddCmtSystem::command_separator() between cvs co of each branch(instead of newlines).
  src/cmt_system.cxx (has_device) Accepts the \\xxx\ syntax as adevice name in file paths on windows.
  src/cmt_parser.cxx (configure_cmt_path) Hide show_set actionwhen recursive definition of CMTCONFIG
  src/cmt_use.cxx (need_new) Some optimizations
  src/cmt_use.cxx (move_to) Exchange the priority of CMTPATHversus version when selecting the best version.
  src/cmt_parser.cxx (use_cmt) Hide CMTDEBUG while parsing therequirements of CMT itself
2002-02-20 src/cmt_parser.cxx (do_broadcast) Fix a bug for setting thestyle the the Current use. This effect was induced by the newmechanism for constructing the Current Use object, now a singletonof the Use class.
2002-02-07 src/cmt_use.cxx (change_path) Add a m_located flag in Use classto record the success of the package localization. Test againstthis info instead of real_path to allow for package found incurrent directory (where real_path stays empty)
  src/cmt_parser.cxx (configure)  
  src/cmt_use.cxx (show_sub_uses) Ensure that the cmt show usesdisplays the correct scoping information for uses andsub-uses. cmt show uses also displays the full tree even when itcontains private uses.
2002-02-06 src/cmt_use.cxx (class use_action_iterator) Install UseContextto manage proper propagation of -no_auto_imports
2002-01-30 src/cmt_parser.cxx (parse_arguments) Fix the bug of privateenvironment variables which could not be set even within thepackage (bug in the management of the -pack= -version= -path=options).
  src/cmt.h Install all attributes of the Cmt class as privateattributes, and make them follow the convention : m_xxx. Thisimplies to install few accessor methods.
2002-01-29 src/cmt_use.cxx (class use_action_iterator) The private usesare accessed for- broadcast operations- show uses operations
  src/cmt_symbol.cxx (action) Expands the specified script namefor the setup_script and cleanup_script statement.Protect against empty script names.
2002-01-11 src/Makefile.header Reorganize basic Makefile fragmentgeneration to permit better support for parallel & concurrentbuilds. Mimize also the number of makefile fragments generatedand kept : only $(tag).make remains in ../cmt . All other arethrown away after use.Make those changes a branch "parallelbuilds"
2002-01-09 src/NMakefile.header (tags) Apply the fix for tags ontoNMakefile.header
2002-01-07 src/Makefile.header (tags) Attempt to fix the continuity breakbetween v1r9 and v1r10, by re-installing the possibility to usegmake tag=<...> rather than having to use source setup.[c]sh-tag=<...>(This fix has to be tested before any validation)
2001-11-26 Tagging v1r10p20011126  
  src/Makefile.header tag is now ${CMTCONFIG} and tags ${CMTEXTRATAGS}
  mgr/requirements Provide the macro tags as ${CMTEXTRATAGS}
  src/cmt_tag.cxx Various changes in strategy for tags:- tag inclusion (defined by the "tag" statement) transmits the priority.- tag selection can be discarded by exclusion specifications. Exclusionqualifies a set of contradictory tags. Contradictory tags will be selectedaccording to their priority or to their declaration order in case ofequal priority.
  src/cmt_parser.h (enum Priority) Change the priority list:Arguments get highest prioritythen CMTCONFIGthen user tags (those defined in requirements)
  fragments/make_setup produce uses.make and tags.make
  src/cmt_parser.cxx (parse_arguments)  
  src/cmt.h (class Cmt) Suppress the mechanism ofprimary_tag. CMTCONFIG is enough.
2001-11-21 src/cmt_symbol.cxx (add_value_to_list) fix protection onvalue_list.size () to start at 1 (not at 2)
  src/cmt_symbol.cxx (build) Reflective values of Sets shouldconsider previous setenv settings.
  src/cmt_generator.cxx (build_dependencies) Using ../$(tag) foroutput base of the dependencies fragment rather thenCmt::current_tag
  src/Makefile.header (CMTPRIMARYTAG) tag=... argument of gmakewill override CMTPRIMARYTAG. However internal tag macro is onlyreplaced with ${CMTCONFIG}
  fragments/make_setup (config) create a tags.log (for cmt showtags)
  mgr/cmt_make_shlib_common.sh Add the ${lib} prefix to thetemporary expansion directory. Fix a bug in sed filter for allmodule files.
  src/cmt_parser.cxx (configure_tags) Add a protection againstabsence of CMTPRIMARYTAG
  src/cmt_system.cxx (create_symlink)  
  src/cmt_system.h (class CmtSystem) Adding the create_symlinkfunction.
  src/cmt_parser.cxx (do_build_library_links) Using direct systemcalls to create symlinks.
2001-11-13 Tagging v1r10p20011113  
  mgr/requirements  
  src/constituents.make (build_library_links) Define macros forbuild_library_links and remove_library_links
  fragments/make_setup (config) Add build_library_links target
  src/cmt_parser.cxx (set_standard_macros) Fix bad production ofuse_includes when private is used.
  src/cmt_parser.cxx (do_broadcast) Fix -begin= error
2001-11-08 src/cmt_version.h tagging v1r10
  src/cmt_system.cxx (add_cmt_path) Get cwd alias to each selected path.
  src/cmt.h (class Cmt) Add cmt_path_cwd vector of all CMTPATHentries normalized to getcwd.
  src/cmt_generator.cxx (java_file_action)  
  src/cmt_generator.cxx (proto_file_action)  
  src/cmt_generator.cxx (module_file_action) Pass reference to the constituent in orderto transmit constituent variables to the fragment.
  src/cmt_parser.cxx (set_standard_macros) Insert a spacecharacter for all generated macro_append operations.
  src/cmt_fragment.cxx (xxxcopy)  
  src/cmt_fragment.h (class Variable) Adding the expansion offragments variables using both the ${} syntax AND the $() syntax.
  src/cmt_tag.h  
  src/cmt_tag.cxx (is_selected) Change the Tag::selected attribute to bool.
2001-11-07 src/cmt_symbol.cxx (build) Implement the possibilty to havereflexive asignment to symbols: when a symbol value is exactlyspecified (from set, macro or path statements) using $() or${} or %% then the old value is preserved for allcorresponding selectors.
  src/cmt_parser.cxx (set_standard_macros) Re-activate -importoptions (that had been discarded!)
  src/cmt_use.cxx (add) Generate an error when a package is notfound (the error was only generated at "cmt show uses")
  src/cmt_constituent.cxx (show) Display -import options
  fragments/dependencies Force checking $(bin)
  fragments/constituent Adding some printout to display whenconstituent fragment is rebuilt
  src/cmt_parser.cxx (set_standard_macros) Re-validate-no_auto_imports option for use and -import options forconstituents.
2001-11-06 src/cmt_generator.cxx (build_document_makefile) protect againstmissing files (causing infinite loops in Make)
2001-11-05 mgr/Makefile (application_suffix) Define application_suffix inthe CMT's Makefile
  src/cmt_parser.cxx (print_context) Do not generate ROOT andCONFIG for cmt_standalone packages.
  mgr/requirements Reomving the cmt_selector.cxx source file.
  src/constituents.make Force the dirs target forbuild_library_links
  src/cmt_parser.cxx (restore_all_tags) Get the value ofCMTPRIMARYTAG to configure Cmt::primary_tag.Leave unchanged the primary_tag and the extra_tags except ifoverridden through the -tagxxx= options
  src/cmt_parser.h (enum) Add PrioritySite in the list ofpossible priorities.
  src/cmt.h (class Cmt) Add the restore_all_tags function. Addthe extra_tags attribute . Change the strategy of tag persistency:o CMTPRIMARYTAG always contains what had been specified usingthe -tag= option,o CMTEXTRATAGS contains what had been manipulated by -tag_add=and -tag_remove= options.o CMTCONFIG is setup independently of the primary tag.
  src/Makefile.header (primary_tag) Propagate tags usingCMTPRIMARYTAG instead of CMTCONFIG (except when CMTPRIMARYtAG isnot yet defined)
  src/cmt_constituent.cxx (parse) Fix the word parsing forconstituent specification...
2001-11-02 src/cmt.h  
  src/cmt_database.cxx  
  src/cmt_database.h  
  src/cmt_parser.cxx  
  src/cmt_parser.h  
  src/cmt_selector.cxx  
  src/cmt_selector.h  
  src/cmt_symbol.cxx  
  src/cmt_symbol.h  
  src/cmt_tag.cxx  
  src/cmt_tag.h  Suppressing cmt_selector objects (only tags are needed!!)Add tag_exclude keyword for building tag-exclusions.
2001-10-31 mgr/requirements Don't need to explicitly declare make_fragmentheaders (automatically declared in the -header= option)
  src/cmt_symbol.cxx (print_clean) Cleaning up path variables maybe either unsetenv when the result is empty or setenv if not.
  fragments/application_launcher evolution
  src/cmt_parser.cxx (configure_tags) protect against emptydeclaration of CMTCONFIG : by default will take uname...
2001-10-30 src/cmt_symbol.cxx (clean) Implement the cleanup correctly,with in particular the cleanup of the path variables.
  src/cmt_parser.cxx (print_context) improve output of cmt show tags
  src/cmt_symbol.h (class Symbol) Add clean_macro_value forbuilding the result of the clean operations induced by this symbol(only implemented for path_xxx)
  src/cmt_parser.cxx New post-context requirements file :user_context in addition to home package. Added Use* usearguments to configure_xxx functions to transfer.
  src/cmt_parser.cxx (configure_cmt_path) Attempt to make use ofCMTPATH definitions from requirements files.
  src/cmt_parser.cxx (configure_config_selector) Install contextinformation for tag creation
  src/cmt_parser.cxx (configure_home) Attempt to make use ofCMTHOME definitions from requirements files.
  src/cmt_parser.cxx (configure_user_context) Install user_contextmanagement
  src/cmt_parser.cxx (configure_site_selector) Get CMTSITE fromrequirements as well
  src/cmt_parser.cxx (configure_tags) Add a configure_tagsfinction to retreive tags from all possible sources: CMTCONFIG(from req) then CMTPRIMARYTAG then CMTCONFIG then CMTBIN thenappend all CMTEXTRATAGS.
  src/cmt_parser.cxx (parse_arguments) fix parsing bug for the-home= argument
  src/cmt_parser.cxx (parser) Set action_show_path to be recursive
  src/cmt_parser.cxx (parser) Call the HOME package just afterusing CMT. Call the use_context package just after reaching thecurrent package.
  src/cmt_parser.cxx (print_clean) reformat the output (withnewlines). Clear CMTPRIMARYTAG CMTEXTRATAGS and CMTCONFIG.
  src/cmt_parser.cxx (print_context) set CMTPRIMARYTAGCMTEXTRATAGS and CMTCONFIG from the current definitions.
  src/cmt_parser.cxx (set_standard_macros) Rationalize theproduction of current_tag
  src/cmt_parser.cxx (use_user_context_requirements)  
  src/cmt_use.cxx (show_all) Display new user_context package
  src/cmt_use.cxx (class use_action_iterator) query function ok()includes both home_package and user_context_package
  src/cmt_use.cxx (reach_package) special treatment forhome_package and user_context_package since they do not follow thestandard location scheme.
  src/cmt_use.cxx (add) Improve the detection of packages not found.
  src/cmt_tag.cxx (unmark) Reset the use pointer
  src/cmt_tag.cxx (action) Install the use origin.
  src/cmt_tag.cxx (add) Install the use origin and the contextinformation. It will be reset to the new context in case ofre-definition. Suppress various excessive debug printouts.
  src/cmt_tag.cxx (clear) clear use and context new information
  src/cmt_tag.cxx (show) Improve the display of tags withhierarchical display of subtags and context information.
  src/cmt_tag.h (class Tag) Added Use* use parameter to actionand add methods. Store a pointer to the package (Use*) whooriginated the definition, and a context string to qualify thedefinition.
  src/cmt_system.h (class CmtSystem)  
  src/cmt_system.cxx (add_cmt_paths_from_text) Factor out thecode to register a set of CMTPATH entries, with the contextinformation.
  src/cmt_system.cxx (is_home_package) Add is_home_package andis_user_context_package query functions.
  src/cmt_system.cxx (get_cmt_site) Default site is empty(instead of LAL)
  src/cmt_symbol.cxx (print_clean) Suppress some obsoleteprint_tabs () formattings. Apply unset instead of unset foraliases as well.
  src/cmt_symbol.cxx (action) Add special treatment for CMTXXXenvironment variables : the new setting has to be taken intoaccount as soon as it is parsed.
  src/cmt_selector.cxx (create) remove some debug code.
  src/cmt_generator.cxx (build_default_makefile) Produce onlyMakefile on Unix and only NMake on Windows.
  mgr/requirements Renaming new script_launcher fragments intoapplication_launcher
  src/cmt.h (class Cmt) Added Use* use arguments to configure_xxxfunctions to transfer.Added use_user_context_requirements () to include post-contextrequirements file.Added the static value primary_tag to store the primary tag.
  src/cmt_generator.cxx (build_default_makefile) Create Makefileonly un Unix and NMake only on WIN32
2001-10-24 src/cmt_parser.cxx (parser) add the recursive property toaction_show_path.
  src/cmt_system.h (class CmtSystem)  
  src/cmt_system.cxx (get_user_context_package)  
  src/cmt_system.cxx (is_user_context_package)  
  src/cmt_use.cxx (add)  
  src/cmt_use.cxx (show_all)  
  src/cmt_use.cxx (class use_action_iterator)  
  src/cmt_use.cxx (reach_package)  
  src/cmt_use.cxx (add)  
  src/cmt_parser.cxx (configure)  
  src/cmt_parser.cxx (parser)  
  src/cmt_parser.cxx (parse_arguments)  
  src/cmt_parser.cxx (configure_user_context)  
  src/cmt.h (class Cmt)  Adding user_context equivalent of CMTHOME support for postrequirements file. The corresponding env. var. is CMTUSERCONTEXT.The complete scheme for supporting PRE-parsed HOME requirementsfile is exactly copied to those POST-parsed files.
  mgr/requirements  
  fragments/script_launcher_header  
  fragments/script_launcher  
  fragments/script_launcher_trailer Introduce a new documentgenerator for launching scripts. The same convention as thecheck_application is reused, for pre-action, argument passing andpost-action. Several scripts (specified in the source list of thedocument) can be executed in sequence.
  src/cmt_use.cxx (class use_action_iterator)  
  src/cmt_system.cxx (is_home_package)  
  src/cmt_system.h (class CmtSystem) Add the is_home_packagefunction to encapsulate the syntax of a HOME package (and apply itin Use::use_action_iterator)
  src/cmt_symbol.cxx (action) Prepare specific actions when theparsed symbol is one of the CMTXXX standard symbols. So farCMTHOME -> re-configure home.
  src/cmt_parser.cxx (parser) apply use_home_requirements rightafter reading CMT requirements file (ie. before reading currentpackage)
  src/cmt_parser.cxx (configure_home) understand the possible"set CMTHOME" declarations (but keep $CMTHOME)
  src/cmt_parser.cxx (reach_current_package) * src/cmt_system.cxx
  src/cmt_parser.cxx (get_cmt_paths) Restore the automatic addition of "currentpackage" in the CMTPATH list.
  src/cmt_parser.cxx (parse_arguments) bad parsing of the-home=xxx argument
2001-10-23 mgr/Makefile (demo) Need to add CMTPATH towards ${CMTROOT}/demosince CMTPATH to current package is no longer supported !!!
  fragments/nmake/check_application (check)  
  fragments/nmake/cleanup_application  
  fragments/nmake/application_header  
  fragments/nmake/application  
  fragments/application  
  fragments/application_header  
  fragments/cleanup_application  
  fragments/check_application (check)  
  mgr/requirements Create a new standard macro"application_suffix" for making possible to change the .exedefault suffix of applications
2001-10-22 src/cmt_parser.cxx  
  src/cmt_system.cxx Suppress the automatic addition of currentpackage's path into CMTPATH.
  mgr/Makefile Change the method to rebuildcmt_dependencies by copying what is obtained from CVS. Rebuild itmanually when needed.
2001-10-19 fragments/make_setup (config) Creating uses.log needs to use anintermediate temporary file
  src/setup.[c]sh Avoid re-definition of CMTCONFIG
  src/cmt_use.cxx (add) temporarily discard the mecanism by whichuses.log files are read before the requirements files.
  src/cmt_system.cxx (is_version_directory) returns -1 for fieldsthat were wildcarded
  src/cmt_use.cxx (add)  
  src/cmt_use.cxx (need_new)  
  src/cmt_use.cxx (BestFitSelectoroperate) Start theimplementation of priority control between explicit usespecification over wildcarded ..
  src/cmt_parser.cxx (reach_current_package) Change the value ofthe CMTPATH for the current package once it has been reached (butbefore reading its requirements file)
  src/cmt_parser.cxx (install_setup_scripts) (improvement) Add the transfer ofarguments towards cmt.exe into setup.bat
  src/cmt_system.cxx (get_cmt_paths) (bug fix) path_sources wasnot cleared as paths.Prepend "current path" to the path list under "current package".
  src/cmt_parser.cxx (parse_arguments) (bug fix) Suppressenclosing quotes around cmt.exe arguments so that setup.bat cantransmit arguments properlycall setup.bat "-tag_add=a,b,c"
2001-10-18 src/cmt_parser.cxx (set_standard_macros) Set current_tag toCMTBIN when in CMT itself (not complete yet)
  src/cmt_generator.cxx (build_dependencies) Use CMTBIN for CMTitself (instead of current_tag) well this should be cured later onto ensure that current_tag is always set to CMTBIN for CMT itself
  src/cmt_version.h (CMTVERSION) install v1r10 (not tagged yet)
  mgr/cmt_system.sh Do not try to use AFS on Darwin and LynxOS.
  src/setup.[c]sh Define CMTBIN as `uname` on Unix and CMTCONFIGas `cmt_system.sh`
  src/cmt_symbol.cxx (show_macro) the trailing space must beadded only for WIN32 !!
2001-10-17 src/cmt_symbol.cxx (show_macro) add a trailing space on allmacro definitions (to avoid problem of trailing backslash)
  src/cmt_parser.cxx (set_standard_macro) remove the insertion oftrailing spaces after the last backslash for WIN32/NMake
  src/constituents.make (all) (bug fix) re-install thebuild_library_links action for the all target
2001-10-11 src/cmt_version.h Tagging for v1r9p20011011
  fragments/library (bug fix) transmit both -tag= and-tag_add= to cmt_make_shlib_common.sh
  src/cmt_parser.cxx remove debug print options
2001-10-10 src/cmt_parser.cxx (parse_arguments) fix problems in multipletag management.converge in the question of HOME requirements file to support- no default- define the path to the HOME requirements file in ${CMTHOME}converge in the arguments for manipulating the extra tags-tag=-tag_add=-tag_remove=
2001-10-03 src/constituents.make (makefilesclean) Make all action listsrun in one single shell (ie. use ;\ everywhere)Make an explicit target for build_library_linksMake it called before any group
2001-10-02 src/cmt_awk.h (class Awk) add a state variable(m_continuation_allowed) which when true, take into account thetrailing backslashes, so as to first accumulate continued linesinto one. Add the allow_continuation method to base Awk class.
2001-10-01 src/cmt_cvs.cxx (class CvsImplementation) Bug incheckout_from_requirements. Did not accept leading spaces on usestatements.
2001-09-27 src/cmt_version.h Tagging for v1r9p20010927
  src/setup.zsh add the -begin option to the auto-expansion.
  src/cmt_use.cxx (show_all) Visualize the HOME package whenapplicable.
  src/cmt_system.cxx (get_home_package) (also do some formattingcleanup)
  src/cmt_system.h (class CmtSystem) Adding get_home_packagefunction to build the name given to the HOME package (provides theHOME requirements file)
2001-09-26 src/cmt_parser.cxx (do_show_macro) Improving error detection oncmt show macro/set
  doc/CMTDoc.html Improve the doc.
  src/cmt_parser.cxx (print) produce the CMTEXTRATAGS environmentvariable, at setup time.
  src/cmt_parser.cxx (parse_arguments) take into account this newenv.var. to retreive previous extra tags.
  src/Makefile.header Add the CMTEXTRATAGS environment variableto propagate additional tags to Make.
  fragments/make_setup  
  fragments/constituent  
  src/Makefile.header  
  src/constituents.make Adding -tag=$(tags) to all calls to cmtexe
  src/cmt_system.h (class CmtSystem) Adding the bool testenv(name) function to test if an environment variable is defined ornot.
  src/cmt_parser.cxx (use_home_requirements)  
  src/cmt.h (class Cmt) Adding support of CMTHOME environmentvariable for specifying home requirements file. Default value willbe ${HOME}. And can be overridden through the -home=global option. An explicit empty value (or set to eg. NONE) willdiscard the feature
  src/cmt_parser.cxx (parse_arguments) Implement the tag list(comma separated list of extra tags) option -tag= tospecify a list of tags to validate.
2001-09-25 src/setup.csh fixed PATH settings (may accept a path with spacecharacters eg. for Darwin)
  mgr/cmt_system.sh Insert the knowledge of Darwin OS (Mac OSX). The default CMTCONFIG will be Darwin.
  src/constituents.make (makefilesclean) Ensure that removal ofmakefile fragments is performed AFTER all cleanup uperations.
  src/cmt_parser.cxx (use_home_requirements) Add the systematicsearch for a requirements file located in ${HOME}. Thisrequirements file when found, is systematically parsed AFTER therequirements file of the current package has been parsed (so as togive the highest precedence to its statements)
  src/cmt_parser.cxx (do_remove_library_links) Upgrade "remove library_links" to makeit compliant to the algorithm used in "build library_links"
2001-09-24 src/cmt.h (class Cmt) * src/cmt_parser.cxx (configure): Add aglobal configure_error variable to store the possible errorproduced during the configuration.
  src/cmt.h (install_test_setup_scripts) Add the -quiet option to the buildtemporary_name command used in setup script generation.
  src/cmt_error.cxx (get_last_error)  
  src/cmt_error.h (class CmtError) Add get_last_error to retrievethe formatted text of the last error.
  src/cmt_symbol.cxx (create)  
  src/cmt_symbol.cxx (all_print)  
  src/cmt_symbol.cxx (print)  
  src/cmt_symbol.cxx (build)  
  src/cmt_parser.cxx (select) Understand the "path" statement asa complete re-definition of a path-like variable.
  src/cmt_system.cxx (add_cmt_path)  
  src/cmt_error.cxx (class Error)  
  src/cmt_error.h (class CmtError) Adding "path not found" errorcode, for CMTPATH checking.
  src/cmt_pattern.cxx (const cmt_string& name) Return a warningfor pattern not found.
  src/cmt_error.h (class CmtError)  
  src/cmt_error.cxx (class Error) Adding "pattern not found" errorcode, for showing diagnostics in "cmt show pattern"
  src/cmt_parser.cxx (do_show_macro) Return a warning for symbolnot found.
  src/cmt_error.h (class CmtError)  
  src/cmt_error.cxx (class Error) Adding "symbol not found" errorcode, for showing diagnostics in "cmt show macro/set"
2001-09-19 mgr/cmt_make_shlib_common.sh return a status value whichreflects the success or failure of the shared library buildcommand.
  src/cmt_cvs.cxx (class CvsImplementation) Discard the versionsspecified with wild cards in the recursive checkout.
  src/cmt_triggers.cxx Protect the error messages in the triggerfacility by Cmt::quiet.
  src/cmt_constituent.cxx (class constituents_action_iterator)  temporarily discard the -triggers option.Tagging v1r9p2001p0824
  mgr/cmt_system.sh Improve the reliability of the cmt_system.shscript against variants of "fs sysname"
2001-08-23 src/cmt_cvs.cxx (class CvsImplementation) Since the tag filteris back to cmtcvs.cxx, the temporary forced tag filter in CMT isremoved.
  src/setup.zsh upgrade the completion for the broadcast command.
  src/cmt_parser.cxx (do_broadcast) Make the -select independentof the -local or -global options. This is achieved by adding a"path_selections" list only managed by the -depth, -local -globalmodifiers while the "selections" list is managed by the -selectmodifier. The -exclude is left unchanged.
2001-08-22 src/cmt_cvs.cxx (class CvsImplementation) Add the possibilityto transmit a flag to the CVS pluggin, by inserting a /cmtcvstestin the module name to import. This will have to be decoded by theCVS pluggin itself !!
2001-08-21 src/setup.tcsh Improving the tcsh completion mechanism (for cmt co).
  src/setup.zsh Improving the zsh completion mechanism (for cmt co).
  src/cmt_cvs.cxx (class CvsImplementation) Converging on HEADmanagement strategy...Starting implementation of the Atlas filter for CVS tags rightinto cmt_cvs.cxx rather than inside the CVS pluggin...
2001-08-20 src/cmt_cvs.cxx (class CvsImplementation) Improving therecursive checkout process
  src/cmt_cvs.cxx (class CvsImplementation) Reorganizing some CVS operations:
  • Apply the CMTCVSOFFSET env. variable to all actions (tags, branches, subpackages)
  • cleanup checkout algorithms (remove some obsolete variables)
  • add the -requirements option to checkout according toa set of use statements.
  • remove the inheritance to Awk of CvsImplementation to split the filter into 2phases (implemented as 2 separated Awk derived classes) RecursivePass1 andRecursivePass2.
2001-08-16 src/cmt_symbol.cxx (print) Bug in path_remove when thespecified path variable only contained one item : the removeoperation was not applied.
2001-07-20 src/cmt_version.h setting the patch v1r9p20010720
  src/cmt_regexp.h (cmt_regexpbegin) Add an optional posargument to the begin method.
  doc/CMTDoc.html Improvements, English cleanup...
2001-07-18 src/cmt_cvs.cxx (CvsImplementationcheckout_package) Changethe mechanism to get top files, since the " -d . " does not workanymore when CVSROOT is set to kserver!!!!
2001-07-16 doc/CMTDoc.html Old PREFIX fragment variable has been replacedby FILEPATH long ago. This was not upgraded in the doc.
  fragments/constituent The -f MUST be specified BEFOREother Make flags!!
  fragments/dependencies Tried to comment out the dependencies tocmt_path.make etc... but it confused the dependencies fragmentproduction. Uncomment it but need to understand the side effect.
2001-07-09 src/cmt_generator.cxx (build_readme) Bug: the VERSION variablewas not used for installing the readme_trailer (although thedocumentation was mentioning it)
2001-07-04 src/cmt_version.h setting the patch v1r9p20010704
2001-07-02 fragments/dependencies Cleaning some old debug printouts.
  src/cmt_cvs.cxx (class CvsImplementation) Bug in replacing thewild card expression. v5r* has to be replaced by v5r0 while v5*has to be replaced by v5 in case no matching tag exists in the CVSrepository. Other bug : All split operations should be performedagainst " \t" (include tab character)
2001-06-29 src/cmt_cvs.cxx (class CvsImplementation) Final Validation ofthe change in the implementation of the m_installed stack used toavoid recursion due to dependency cycles.
2001-06-22 src/cmt_cvs.cxx (class CvsImplementation) doing someoptimizations for the big checkout operations.
  src/cmt_parser.cxx (do_config) Remove .[n]make files also fromthe binary directory.
  src/cmt_cvs.cxx (class CvsImplementation) Always fetch the cmtbranch at HEAD even if the checkout operation is applied to arequired tag (temporary feature).
2001-06-18 src/cmt_cvs.cxx (class CvsImplementation) insert a spacebetween top tags and other tags.
  mgr/cmt_make_shlib.bat Write extra options received througharguments into a temporary option file, used by @ toresolve line-too-long prolems.
  fragments/nmake/cpp_library  
  fragments/nmake/cpp  Add the /Tp qualifier for allowing non-standard file suffixes.
2001-06-05 src/cmt_use.cxx (class use_action_iterator) Default to the-no_auto_import was to keep the most recent specification. Changethis to always request auto_import by default, (unless otherwisespecified)
2001-06-01 src/cmt_parser.cxx (do_broadcast) Bug fix in do_broadcast: the-begin option wrongly implied the -global option.
2001-06-13 src/cmt_cvs.cxx (class CvsImplementation) Improving thestrategy for getting version tags from the repository:o If a request specifies a tag which is not applied to therequirements file, the specified tag is used to create theversion directory but the HEAD is used in the repository.o CvsImplementation::show_cvs_infos () :stores all received infos into xxx_info correspondinglocal properties. Thus this method is only called once perpackage.o Error messages are really obtained from the error_info field.
2001-05-30 src/cmt_generator.cxx (build_document_makefile)  
  src/cmt_system.cxx (get_dot_suffix) fix bug for file_nameswithout any suffix
  src/cmt.h & src/cmt_parser.cxx (set_standard_macros) Add astate standard_macros_done to protect against multiple calls toset_standard_macros.
2001-05-28 src/cmt_cvs.cxx (class CvsImplementation) display the tags in aone-per-line basis instead of space separated when doing cmtcvstags.
  src/cmt_use.cxx (operate) Make the version selector operator alittle bit more quiet...
2001-05-25 mgr/Makefile (demo) improve the gmake check action in the demotarget.
  src/cmt_use.cxx (fill_macro_all) build use_xxx standard macrosusing macro_append instead of macro.
2001-05-22 src/cmt_parser.cxx (do_broadcast) Fix the default (-local)option to act as -depth=1.Improve some error messages.
2001-05-21 src/setup.bat Improved skeleton for setup.bat. Base it onCMTBIN rather than on CMTCONFIG. Do not override CMTCONFIG ifdefined by the user. Do not care about PATH for Visual tools.
  mgr/install.mak change the strategy for building the setup.batscript for CMT itself at INSTALL time. Now copy ..\src\setup.batskeleton.
  mgr/requirements Fix WIN32/VisualC tag definitions and PATHsettings for cleaner handling of default tag overriding.
  src/cmt_use.cxx (operate) Implement the algorithm for usingaliases to alternate version specification in uses.-> Tag CMTv1r9p20010521
2001-05-18 src/cmt_use.cxx (show_sub_uses) Start the implementation ofversion_alias and path_alias for equivalencing two version namingpolicies.
  src/cmt_cvs.cxx (class CvsImplementation) Adding the -o offsetoption to cmt checkout for specifying a global offset to the baseCVS repository. This offset will be prepended to all modulesduring the various CVS operations.the m_offset attribute is added to the CvsImplementation class.
  src/cmt_cvs.cxx (class CvsImplementation) Improve protection against CVS modulesnot found.
  src/cmt_cvs.cxx (class CvsImplementation) Added the --help option the cmt checkout.
2001-07-10 mgr/requirements add the -tag=$(tag) option to thebuild_dependencies macro.
  fragments/dependencies take the improvements into account.
  src/cmt_generator.cxx (build_dependencies) Improve thedependency builder: re-generate all entries of the_dependencies.make that are missing from the completesource list (thus regenerate it when it is empty).Optimize the file scan for getting the new source list.
  src/cmt_parser.cxx (do_build_dependencies) Dynamically shiftsarguments of the build dependencies command to keep only thenew-source-list. The complete command being"cmt build dependencies "
  src/cmt_parser.cxx (do_config) drop all makefile fragments from the mgr/cmtdirectory AND from the binary directory.
2001-05-11 Moving to v1r8  
  src/cmt_deps_builder.cxx Augmented local internalline buffer (from 1024 to 16384).
  doc/CMTDoc.html document the new <package>_root macro
  src/cmt_parser.cxx (set_standard_macros get_best_form) Definea new set of standard macros using the pattern _rootsimilar to ROOT except that this new definition uses theget_best_form, with a relative path to the package. TheROOT macro is restored to the previous convention, thatit uses the absolute path.
  src/cmt_use.cxx (fill_includes_macro) Adapt thefill_includes_macro to use the new _root standard macro
2001-05-10 src/cmt_parser.cxx (do_broadcast) Add the -begin=option to start the broadcast loop from a given package. Thisoption can be combined with other options such as -select or-exclude.
  src/cmt_generator.cxx (filter_paths) Suppress two unusedvariables.
  src/cmt_use.cxx (add) Bug fixing: during the discovery ofversions requested for a given package, the discarded versionswere not correctly replaced by the finally selected version,especially in the Use::get_paths method. TheUse::get_selected_version has been added to obtain the effectivereplacement for a discarded version.
  fragments/check_application suppress the ". setup.sh" beforeapplication run.
2001-05-04 src/cmt_parser.cxx (set_standard_macros) The production of alluse_xxx standard macros now is based on a "macro_append" keywordinstead of "macro", since "macro" resets all previousdefinitions. Therefore if the user's requirements did augmentthose use_xxx macros, these specifications would be ignored.
  src/cmt_parser.cxx (do_broadcast) Set the -local option to broadcast thedefault. Add the -global option to revert to the old default (withno selection and to any depth)
2001-05-03 src/cmt_symbol.cxx (add_value_to_list) A new macro or setkeyword resets (discards) all previous definitions for thecorresponding symbol.
  src/cmt_symbol.h (class SymbolValueList) Added an attributediscarded for symbol resetting.
  src/cmt_parser.cxx (print_macros) Exclude scripts from macrosdefined in the $(tag).make file.
2001-04-27 src/cmt_parser.cxx (get_best_form) Validate the compressionalgorithm for paths to packages (only for the macro ROOT- this is still not true for the ROOT environmentvariable) into a relative form when it is shorter than theabsolute form.
  src/cmt_system.cxx (compress_path) Fix the algorithm forcompressing the patterns "aaaa/xxxx/../bbbb" into aaaa/bbbb.
  src/cmt_generator.cxx (filter_paths) useCmtSystem::compress_path instead of duplicating its algorithm forerasing "/aaa/.." patterns
2001-04-25 src/cmt_parser.cxx (set_standard_macros) Prepare the productionof ROOT macros as relative paths rather than absoluteones, when the relative expression is shorter than the absoluteone. Temporarily, trigger that feature by setting theCMTTESTPREFIX environment variable until absence of side effectsis confirmed.
2001-04-18 src/cmt_generator.cxx (build_readme) bug when generating thereadme_trailer fragment : the PACKAGE variable should be reset tocurrent.
2001-04-11 src/cmt_generator.h (class Generator)  
  src/cmt_parser.cxx (do_build_readme)  
  src/cmt.h (class Cmt) do_build_readme now propagates argument list
  fragments/readme_trailer  
  src/cmt_generator.cxx (build_readme) Added DATE and USER information when building the README.html file. readme_trailer fragment updated accordingly.
  src/cmt_generator.cxx (build_readme) Add the -url= argument to the cmt buildreadme command. The specified URL will be used in place of thepackage path when generating the URL for used packages.
2001-04-18 src/cmt_symbol.cxx (build) In all builder objects, symbol valuelists registered by discarded Uses are now ignored.
  src/cmt_symbol.h (class SymbolValue) cleanup a comment.
  src/cmt_symbol.cxx (print) protect setup script executionagainst missing files.
2001-04-10 src/cmt_generator.cxx (build_readme)  
  fragments/readme_use building readme.html requires to know themgr/cmt style of each used package. This fragment now requires afourth variable MGRSTYLE which reflects the use->mgr_styleattribute. Generator::build_readme fills in this new variable.
2001-04-06 src/cmt_parser.cxx  
  src/cmt_parser.cxx (reach_current_package) Use CmtSystem::getenv instead of base getenv
  src/cmt_symbol.cxx (action) Now really private stuff isselected when access is at UserMode and scope is Private.
  src/cmt_use.cxx (add) This method does not need to maintaincurrent scope and access mode any longer.
  src/cmt_parser.cxx (parse_requirements) Cmt::parse_requirementsnow manages the AccessMode and Scope when recursing intorequirements files of used packages.Cmt::scope handles the sticky state provided by private/public statementsCmt::current_access handles the access mode that reflects the situation of the user
  src/cmt_parser.h (enum) introduce the AccessMode to distinguishbetween DeveloperMode (when pwd is in the current packagedirectory) and UserMode (otherwise).
  src/cmt.h (class Cmt) Cmt::current_mode is now current_accessand is of type AccessMode
  src/cmt_parser.cxx (reach_current_package) UseCmtSystem::getenv instead of base getenv
  src/cmt_use.cxx (Useget_paths)  
  src/cmt_pattern.cxx (Pattern) :apply ()) : bug in computing thepath between two Uses. The result now includes the current Use.
2001-04-05 src/cmt_tag.cxx (Tagaddconst cmt_string& name, int priority)  clear a newly created Tag object (to deal with the reuse of oldobjects)
  src/cmt_pattern.cxx (Pattern) :add) : clear a newly createdpattern object (to deal with the reuse of old objects)
  src/cmt_use.h (class Use) Add Use::author_action andUse::manager_action to fill in the author and manager information.
  src/cmt_parser.cxx (select) fill in author and manager valueswith the complete line. When several author and manager statementsare provided, fill in as several lines (separated with a new-line).
  src/cmt_generator.cxx (analyze_file const Constituent&)  constituent, const cmt_string& file) : production of objects forlibraries and applications is strictly identical.
2001-04-03 src/cmt_constituent.cxx (clear) constituent.parameters was notcleared in Constituent::clear
  src/cmt_symbol.cxx (build) add cleanup ValueList objects aftertheir addition for ensuring a really new value (due to cmt_stringoptimizing)
  mgr/Makefile Operate the demo targets on different make actionlines
  src/Makefile.header Added -tag=$(tag) to cmt actions
  fragments/generator_header create the output directory ifneeded
2001-04-02 fragments/nmake/constituent added the -tag=$(tag) option to cmtbuild actions
  src/cmt_parser.cxx (parser) show_constituentxxx recursivelyreads used requirements files
  src/cmt_pattern.cxx (Patternapply const) protection addedfor the case where the pattern is applied to the package thatdefines it.
2001-03-29 src/cmt_use.cxx (get_paths)  
  src/cmt_use.h (class Use)  
  src/cmt_pattern.h (class IgnorePattern)  
  src/cmt_pattern.cxx (const apply) Bug in apply global patterns: a pattern defined in one package should only be applied to theUses that are on one of the paths between the current Use and theone wher the pattern is defined (and not to the Uses that neverpretend to inherit that pattern!!!)This required to implement the Use::get_paths which fills in theinclusive list of all Uses that are between two Uses.
2001-03-27 fragments/dependencies protection against missing dependencymake fragment during clean operations.
  src/cmt_constituent.cxx (class constituents_action_iterator)  the -suffix= option was hidden by the user variable specificationwhile parsing the constituent parameters.
2001-03-23 mgr/requirements clean up WIN32 tag variants definitions
  src/Makefile.header (setup.make) Display of the target in caseof target not found (.DEFAULT)
  fragments/make_setup (csh) few checks
  fragments/installer add the creation of $(install_dir) ifneeded
2001-03-21 src/cmt_parser.cxx (parse_arguments) When the tag specified inthe command line arguments (using -tag=) is the same asCMTCONFIG, then still validate the tag given by uname
  fragments/dependencies generate${CONSTITUENT}_dependencies.make into $(bin)
  fragments/constituent generate ${CONSTITUENT}.make into $(bin)
  src/cmt_constituent.cxx (parse)  
  src/cmt_constituent.h (class Constituent) Added the two-stepparsing of the constituents specifications : first stage duringparsing of the requirements file, parameters are simply stored inthe constituent object and not interpreted. Second stage : afterbuilding the standard macros (once requirements files haveentirely been read) then constituent objects are parsed.
  src/cmt_parser.cxx Add Constituent::parse_all inCmt::set_standard_macros to finalize the constituentparsing. Install set_standard_macros in several additional actions
2001-03-16 src/cmt_cvs.cxx (class CvsImplementation) Get the files at thetop directory when doing a cmt checkout.Only checkout at head for the top package (ie do not recurse athead) and when -r is not specified.
  src/cmt_symbol.cxx (resolve_value_for_macros) Perform thesubstitution of ${} to %% (or reverse) even if the env. var. isnot defined in CMT.
  src/cmt_parser.cxx (install_setup_scripts) Setup scripts onWindows generate the temporary expansion script in%HOMEDRIVE%%HOMEPATH%.
  mgr/requirements clean up variants for VisualC andVisualC/debug
2001-03-15 src/cmt_use.cxx (class use_action_iterator) Strange nameconflict: the use_action_iterator::set method is in conflict withsomething else when the class is named "action_iterator" (is it aconflict with the same private class defined in Symbol.cxx ??)
  src/NMakefile.header (cmtexe) Fix for re-building cmt whencmt.exe does not exist.
2001-03-13 src/cmt_use.cxx (class action_iterator) Introducing theaction_iterator class for managing the local expansion of macrosin the syntax parser (similart to what was done in Symbol::action)
  src/cmt_generator.cxx (Generator) :build_make_setup) whengenerating setup.make, the default value for constituents isextracted from the constituents macro.
2001-03-06 src/cmt_cvs.cxx (class CvsImplementation) Show both top tagsand non-top tags in cmt cvstags.
  doc/CMT.htm Addition of several slide shows (from Atlas)
  mgr/cmt_buildcvsinfos2.sh (error) The awk script had to beprotected against multiple ocurrences of the /symbols/,/locks/pattern.Implement both in python and in shell script the differntiatedproduction of top tags and non-top tags. Top tags are the set oftags sharing the most recent CVS tagged version id (ie. the HEADmay be more recent)
2001-03-05 src/cmt_parser.cxx (do_build_library_links) Handle librariesspecified as a full path in _libraries
  src/cmt_parser.cxx (print_context)  
  src/cmt_symbol.cxx (all_print) Use one line perenv. var. assignment when generating setup scripts (instead of ;separated instructions) . The latter style should be no longerneeded since we use temporary files.
  src/cmt_parser.cxx (set_standard_macros) Add CMTCONFIG to thestandard sets, so as to let it known as a plain "symbol"
2001-03-02 src/cmt_system.h introduce the CmtSystem::ev_open () andCmtSystem::ev_close () to get the OS-dependent pattern forenvironment variable definition.
  src/cmt_symbol.cxx (resolve_value_for_macros) Substitutepatterns ${xxx} or %xxx% to the appropriate OS-dependent patternwhen producing "set" values only (this is only done when thepattern is not already the good one)
  src/cmt_parser.cxx (install_setup_scripts) Changed>>${tempfile} into >${tempfile} in setup scripts (fix a constraintin csh)
2001-02-26 src/cmt_parser.cxx (do_build_temporary_name) Add the buildtemporary_name command to supply that missing function on variousshells.
  src/cmt_parser.cxx (install_test_setup_scripts) Apply this new build service tosetup scripts generation.
  src/Makefile.header Needed a trailing end-of-line
2001-02-15 src/cmt_cvs.cxx (class CvsImplementation) Fix misuse ofcheckout_package arguments (confusion between package path andcheckout directory)
2001-02-26 src/cmt_parser.cxx (install_test_setup_scripts) use mktemp forsetup scripts.
  mgr/requirements Suppress local private configuration ofMSVC++. It has to be done previously to operate on CMT (evenbefore making the INSTALL.bat)
  src/cmt_deps_builder.cxx (char* ptr,)  state_def& state,const cmt_string& dir_name,int current_path_index,const CmtSystem::cmt_string_vector& include_paths,const CmtSystem::cmt_string_vector& substitutions,CmtSystem::cmt_string_vector& all_deps,CmtSystem::cmt_string_vector& deps)
  src/cmt_generator.cxx (const cmt_string& file_name)  Rollback recent change to work on cmt_strings rather than char* torestore speed.
2001-02-15 src/cmt_generator.cxx (build_dependencies) Restore themechanism that takes into account the arguments, and the sourcelist when -all_sources option is provided.
  mgr/requirements change /machine:I386 into /machine:IX86 aslink option for VisualC
2001-02-13 src/cmt_generator.cxx (build_dependencies) Do not require thesource list from the arguments. Instead, get the sources directlyfrom the constituents definition.The "cmt build dependencies" now only requires the constituent name.
  src/cmt_deps_builder.cxx Read files at once into a cmt_stringand work from the text instead of reainf line by line from the file.Install the detection of fortran include statements
2001-02-06 src/cmt_use.cxx clean up space & tabs
  cmt_parser.cxx (parse_requirements_text) Abort the parser incase of error, but only for check configuration command.
  NMakefile.header (lex_echo) Add -quiet option to cmt commandexcept cmt check configuration
  constituents.nmake Add -quiet option to cmt command
2001-01-30 all dsp fragments suppress the Win32 Releaseconfiguration. Only keep the Win32 Debug. This makes possible thegeneration of msdev using the syntax cmt build msdev-tag=VisualCdbg
  mgr/cmt_buildcvsinfos.py first attempt to make the cvs scriptwritten in Python
  mgr/requirements Consistently base Windows tag on VisualC ratherthan WIN32upgraded setup.tcsh setup.zshintroduced cmt show include_dirsintroduced cmt show constituent bug in Pattern::add : overridden patterns were not cleared.cmt config must recursively get used packages (at least to get patterns)introduced cmt show pattern_names (at least for completion mechanisms)new action : action_show_pattern_namesexperimental work started on build triggersmacro build_triggersimplied_library_prefiximplied_library_sufffixnew library option -triggersnew constituent attribute build_triggersnew fragment dependencies_and_triggers for librariesbug in cmt_system.cxx::scan_dirRecursively get all requirements file in cmt config actionChanged strategy for argument parsing error detection
  cmt_use.cxx (const cmt_string& from_path ) bug in detection of"use pack " without version specification at all (ie equiv. to*). We needed to check we are on a real CMT package.
  cmt_constituent.cxx (class action_iterator) Expand the macrosbefore acting upon a constituent specification. Each expanded wordmay then result in several words. Thus the line parser isre-implemented through a local operator class "action_iterator",in charge of filling up a new constituent object from the expandedstatement. (Note that this mechanism could perfectly be reused forother statements eg "use" !!!)
  cmt_parser.cxx (set_standard_macros) Implement all_constituentsand all_constituentsclean unconditionally.
  NMakefile.header (checkuses) if defined statements require thatthe macro to test is provided without quotes.
  cmt_generator.cxx Apply the new convention of installing objectfiles into $(bin)${CONSTITUENTS} also for applications (was onlydone for libraries)
  cmt_parser.cxx (print_context) Take the current CONFIG namefrom CmtSystem::get_cmt_config rather than recursively calling"cmt system", when generating setup scripts.
  cmt_cvs.cxx (class CvsImplementation) Use '/' ínstead ofCmtSystem::file_separator for CVS-only file specs.
2000-12-26 cmt_fragment.h (class Fragment and FragmentHandle) Install allvariants of (win)copy methods that act upon a cmt_string insteadof a FILE*.
  cmt_model.cxx Create the implementation file for CmtModel
  cmt_model.h (class CmtModel) Create the CmtModel class
  cmt_parser.cxx (do_expand_model) Add the new command verb :'expand model' and all associated features
  cmt_parser.cxx (do_expand_model) call the CmtModel::expand