date | file | comment
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 of tag 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 versus computed ones. Selection is either obtained from m_selected for primary 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 tags from a bool expression of primary tags. Move selected to private area to ensure usage of is_selected which may compute the selection state from operands. The embedded state is now reserved to primary tags.
| `src/cmt_awk.cxx class Parser` | Replace the basic parsing engine by the local Parser class. It takes care of both EOL styles (Unix and Win) and of trailing backslashes for continuations.
| `src/cmt_awk.h class Awk` | Added a function inc_line_number to increment 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 with no_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 private macros 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 scope hiding 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 path computation
| `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 reduce multiple 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 PackageCollector::run` |
| `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 SourceFile::set` | 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 style do_show_macros now accepts arguments do_show_sets now accepts arguments print_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 installing scenarios. This script can - create packages - install text files relatively to the packages.
| `mgr/Makefile demo` | Replace the copy operations for the demo targets by an awk-based mechanism (only for Unix -> keep old mechanism for Windows). The scenario.awk script is able to create packages and install text files into the newly created packages. Add a target (a scenario) for testing private uses and -no_auto_imports Add an help target describing all special targets.
| `fragments/constituents_header first` | Differentiate setup.make with 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 bug to "source setup" standalone with a current directory outside the package 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 ccomp macro (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 when overridden. 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 through an 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 do display all defined tags (while action_show_tags only shows all active 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 for erasing 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 to the linker command and control it through the QUIET macro. Fix the temporary 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 for the 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 save specifications on sub uses. Add Use::set_auto_imports to possibly promote auto_imports to sub uses when it is changed from Off to On.
| `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 for the new command "cmt show applied_patterns"
2002-04-04 | `src/cmt_use.cxx add` | Protect against duplicated registration of current_use.
| `src/cmt_parser.cxx install_setup_scripts` | Append an empty line at 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_create function to receive its arguments from the "arguments" list rather than changing current_package etc...
| `src/Makefile.header` | Add a systematic config target (for backward compatibility)
| `fragments/constituents_trailer binclean` | added the binclean target 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 and handle 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 new function 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 Visual directory 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 automatic settings 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 global pattern at once until side effects are solved in user projects.
| `fragments/jar` | Apply an old fix to Unix fragments (was applied to Windows only)
2002-02-26 | `src/cmt_use.cxx move_to` | select_alternate must be applied after reach_package for searches against an absolute path or against 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 patterns right after parsing a requirements file, and only considering the Use context, one at a time (rather than applying all global patterns 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 all global patterns in the context of only one Use object.
2002-02-24 | `src/cmt_system.cxx command_separator` | New method for getting the shell command separator (& or ;)
| `src/cmt_cvs.cxx class CvsImplementation` | Add CmtSystem::command_separator() between cvs co of each branch (instead of newlines).
| `src/cmt_system.cxx has_device` | Accepts the \\xxx\ syntax as a device name in file paths on windows.
| `src/cmt_parser.cxx configure_cmt_path` | Hide show_set action when recursive definition of CMTCONFIG
| `src/cmt_use.cxx need_new` | Some optimizations
| `src/cmt_use.cxx move_to` | Exchange the priority of CMTPATH versus version when selecting the best version.
| `src/cmt_parser.cxx use_cmt` | Hide CMTDEBUG while parsing the requirements of CMT itself
2002-02-20 | `src/cmt_parser.cxx do_broadcast` | Fix a bug for setting the style the the Current use. This effect was induced by the new mechanism for constructing the Current Use object, now a singleton of the Use class.
2002-02-07 | `src/cmt_use.cxx change_path` | Add a m_located flag in Use class to record the success of the package localization. Test against this info instead of real_path to allow for package found in current directory (where real_path stays empty)
| `src/cmt_parser.cxx configure` |
| `src/cmt_use.cxx show_sub_uses` | Ensure that the cmt show uses displays the correct scoping information for uses and sub-uses. cmt show uses also displays the full tree even when it contains private uses.
2002-02-06 | `src/cmt_use.cxx class use_action_iterator` | Install UseContext to manage proper propagation of -no_auto_imports
2002-01-30 | `src/cmt_parser.cxx parse_arguments` | Fix the bug of private environment variables which could not be set even within the package (bug in the management of the -pack= -version= -path= options).
| `src/cmt.h` | Install all attributes of the Cmt class as private attributes, and make them follow the convention : m_xxx. This implies to install few accessor methods.
2002-01-29 | `src/cmt_use.cxx class use_action_iterator` | The private uses are accessed for - broadcast operations - show uses operations
| `src/cmt_symbol.cxx action` | Expands the specified script name for the setup_script and cleanup_script statement. Protect against empty script names.
2002-01-11 | `src/Makefile.header` | Reorganize basic Makefile fragment generation to permit better support for parallel & concurrent builds. Mimize also the number of makefile fragments generated and kept : only $(tag).make remains in ../cmt . All other are thrown away after use. Make those changes a branch "parallelbuilds"
2002-01-09 | `src/NMakefile.header tags` | Apply the fix for tags onto NMakefile.header
2002-01-07 | `src/Makefile.header tags` | Attempt to fix the continuity break between v1r9 and v1r10, by re-installing the possibility to use gmake 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. Exclusion qualifies a set of contradictory tags. Contradictory tags will be selected according to their priority or to their declaration order in case of equal priority.
| `src/cmt_parser.h enum Priority` | Change the priority list: Arguments get highest priority then CMTCONFIG then 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 of primary_tag. CMTCONFIG is enough.
2001-11-21 | `src/cmt_symbol.cxx add_value_to_list` | fix protection on value_list.size () to start at 1 (not at 2)
| `src/cmt_symbol.cxx build` | Reflective values of Sets should consider previous setenv settings.
| `src/cmt_generator.cxx build_dependencies` | Using ../$(tag) for output base of the dependencies fragment rather then Cmt::current_tag
| `src/Makefile.header CMTPRIMARYTAG` | tag=... argument of gmake will override CMTPRIMARYTAG. However internal tag macro is only replaced with ${CMTCONFIG}
| `fragments/make_setup config` | create a tags.log (for cmt show tags)
| `mgr/cmt_make_shlib_common.sh` | Add the ${lib} prefix to the temporary expansion directory. Fix a bug in sed filter for all module files.
| `src/cmt_parser.cxx configure_tags` | Add a protection against absence of CMTPRIMARYTAG
| `src/cmt_system.cxx create_symlink` |
| `src/cmt_system.h class CmtSystem` | Adding the create_symlink function.
| `src/cmt_parser.cxx do_build_library_links` | Using direct system calls to create symlinks.
2001-11-13 | `Tagging v1r10p20011113` |
| `mgr/requirements` |
| `src/constituents.make build_library_links` | Define macros for build_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 of use_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 CMTPATH entries 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 order to transmit constituent variables to the fragment.
| `src/cmt_parser.cxx set_standard_macros` | Insert a space character for all generated macro_append operations.
| `src/cmt_fragment.cxx xxxcopy` |
| `src/cmt_fragment.h class Variable` | Adding the expansion of fragments 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 have reflexive asignment to symbols: when a symbol value is exactly specified (from set, macro or path statements) using $() or ${} or %% then the old value is preserved for all corresponding selectors.
| `src/cmt_parser.cxx set_standard_macros` | Re-activate -import options (that had been discarded!)
| `src/cmt_use.cxx add` | Generate an error when a package is not found (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 when constituent fragment is rebuilt
| `src/cmt_parser.cxx set_standard_macros` | Re-validate -no_auto_imports option for use and -import options for constituents.
2001-11-06 | `src/cmt_generator.cxx build_document_makefile` | protect against missing files (causing infinite loops in Make)
2001-11-05 | `mgr/Makefile application_suffix` | Define application_suffix in the CMT's Makefile
| `src/cmt_parser.cxx print_context` | Do not generate ROOT and CONFIG for cmt_standalone packages.
| `mgr/requirements` | Reomving the cmt_selector.cxx source file.
| `src/constituents.make` | Force the dirs target for build_library_links
| `src/cmt_parser.cxx restore_all_tags` | Get the value of CMTPRIMARYTAG to configure Cmt::primary_tag. Leave unchanged the primary_tag and the extra_tags except if overridden through the -tagxxx= options
| `src/cmt_parser.h enum` | Add PrioritySite in the list of possible priorities.
| `src/cmt.h class Cmt` | Add the restore_all_tags function. Add the extra_tags attribute . Change the strategy of tag persistency: o CMTPRIMARYTAG always contains what had been specified using the -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 using CMTPRIMARYTAG instead of CMTCONFIG (except when CMTPRIMARYtAG is not yet defined)
| `src/cmt_constituent.cxx parse` | Fix the word parsing for constituent 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_fragment headers (automatically declared in the -header= option)
| `src/cmt_symbol.cxx print_clean` | Cleaning up path variables may be either unsetenv when the result is empty or setenv if not.
| `fragments/application_launcher` | evolution
| `src/cmt_parser.cxx configure_tags` | protect against empty declaration 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 for building 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* use arguments to configure_xxx functions to transfer.
| `src/cmt_parser.cxx configure_cmt_path` | Attempt to make use of CMTPATH definitions from requirements files.
| `src/cmt_parser.cxx configure_config_selector` | Install context information for tag creation
| `src/cmt_parser.cxx configure_home` | Attempt to make use of CMTHOME definitions from requirements files.
| `src/cmt_parser.cxx configure_user_context` | Install user_context management
| `src/cmt_parser.cxx configure_site_selector` | Get CMTSITE from requirements as well
| `src/cmt_parser.cxx configure_tags` | Add a configure_tags finction to retreive tags from all possible sources: CMTCONFIG (from req) then CMTPRIMARYTAG then CMTCONFIG then CMTBIN then append 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 after using CMT. Call the use_context package just after reaching the current package.
| `src/cmt_parser.cxx print_clean` | reformat the output (with newlines). Clear CMTPRIMARYTAG CMTEXTRATAGS and CMTCONFIG.
| `src/cmt_parser.cxx print_context` | set CMTPRIMARYTAG CMTEXTRATAGS and CMTCONFIG from the current definitions.
| `src/cmt_parser.cxx set_standard_macros` | Rationalize the production 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 for home_package and user_context_package since they do not follow the standard 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 context information. It will be reset to the new context in case of re-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 with hierarchical display of subtags and context information.
| `src/cmt_tag.h class Tag` | Added Use* use parameter to action and add methods. Store a pointer to the package (Use*) who originated the definition, and a context string to qualify the definition.
| `src/cmt_system.h class CmtSystem` |
| `src/cmt_system.cxx add_cmt_paths_from_text` | Factor out the code to register a set of CMTPATH entries, with the context information.
| `src/cmt_system.cxx is_home_package` | Add is_home_package and is_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 obsolete print_tabs () formattings. Apply unset instead of unset for aliases as well.
| `src/cmt_symbol.cxx action` | Add special treatment for CMTXXX environment variables : the new setting has to be taken into account as soon as it is parsed.
| `src/cmt_selector.cxx create` | remove some debug code.
| `src/cmt_generator.cxx build_default_makefile` | Produce only Makefile on Unix and only NMake on Windows.
| `mgr/requirements` | Renaming new script_launcher fragments into application_launcher
| `src/cmt.h class Cmt` | Added Use* use arguments to configure_xxx functions to transfer. Added use_user_context_requirements () to include post-context requirements file. Added the static value primary_tag to store the primary tag.
| `src/cmt_generator.cxx build_default_makefile` | Create Makefile only un Unix and NMake only on WIN32
2001-10-24 | `src/cmt_parser.cxx parser` | add the recursive property to action_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 post requirements file. The corresponding env. var. is CMTUSERCONTEXT. The complete scheme for supporting PRE-parsed HOME requirements file is exactly copied to those POST-parsed files.
| `mgr/requirements` |
| `fragments/script_launcher_header` |
| `fragments/script_launcher` |
| `fragments/script_launcher_trailer` | Introduce a new document generator for launching scripts. The same convention as the check_application is reused, for pre-action, argument passing and post-action. Several scripts (specified in the source list of the document) 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_package function to encapsulate the syntax of a HOME package (and apply it in Use::use_action_iterator)
| `src/cmt_symbol.cxx action` | Prepare specific actions when the parsed symbol is one of the CMTXXX standard symbols. So far CMTHOME -> re-configure home.
| `src/cmt_parser.cxx parser` | apply use_home_requirements right after reading CMT requirements file (ie. before reading current package)
| `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 "current package" 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}/demo since 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 .exe default suffix of applications
2001-10-22 | `src/cmt_parser.cxx` |
| `src/cmt_system.cxx` | Suppress the automatic addition of current package's path into CMTPATH.
| `mgr/Makefile` | Change the method to rebuild cmt_dependencies by copying what is obtained from CVS. Rebuild it manually when needed.
2001-10-19 | `fragments/make_setup config` | Creating uses.log needs to use an intermediate temporary file
| `src/setup.[c]sh` | Avoid re-definition of CMTCONFIG
| `src/cmt_use.cxx add` | temporarily discard the mecanism by which uses.log files are read before the requirements files.
| `src/cmt_system.cxx is_version_directory` | returns -1 for fields that were wildcarded
| `src/cmt_use.cxx add` |
| `src/cmt_use.cxx need_new` |
| `src/cmt_use.cxx BestFitSelector::operate` | Start the implementation of priority control between explicit use specification over wildcarded ..
| `src/cmt_parser.cxx reach_current_package` | Change the value of the CMTPATH for the current package once it has been reached (but before reading its requirements file)
| `src/cmt_parser.cxx install_setup_scripts` | (improvement) Add the transfer of arguments towards cmt.exe into setup.bat
| `src/cmt_system.cxx get_cmt_paths` | (bug fix) path_sources was not cleared as paths. Prepend "current path" to the path list under "current package".
| `src/cmt_parser.cxx parse_arguments` | (bug fix) Suppress enclosing quotes around cmt.exe arguments so that setup.bat can transmit arguments properly call setup.bat "-tag_add=a,b,c"
2001-10-18 | `src/cmt_parser.cxx set_standard_macros` | Set current_tag to CMTBIN when in CMT itself (not complete yet)
| `src/cmt_generator.cxx build_dependencies` | Use CMTBIN for CMT itself (instead of current_tag) well this should be cured later on to 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 CMTCONFIG as `cmt_system.sh`
| `src/cmt_symbol.cxx show_macro` | the trailing space must be added only for WIN32 !!
2001-10-17 | `src/cmt_symbol.cxx show_macro` | add a trailing space on all macro definitions (to avoid problem of trailing backslash)
| `src/cmt_parser.cxx set_standard_macro` | remove the insertion of trailing spaces after the last backslash for WIN32/NMake
| `src/constituents.make all` | (bug fix) re-install the build_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 multiple tag 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 lists run in one single shell (ie. use ;\ everywhere) Make an explicit target for build_library_links Make 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 the trailing backslashes, so as to first accumulate continued lines into one. Add the allow_continuation method to base Awk class.
2001-10-01 | `src/cmt_cvs.cxx class CvsImplementation` | Bug in checkout_from_requirements. Did not accept leading spaces on use statements.
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 when applicable.
| `src/cmt_system.cxx get_home_package` | (also do some formatting cleanup)
| `src/cmt_system.h class CmtSystem` | Adding get_home_package function to build the name given to the HOME package (provides the HOME requirements file)
2001-09-26 | `src/cmt_parser.cxx do_show_macro` | Improving error detection on cmt show macro/set
| `doc/CMTDoc.html` | Improve the doc.
| `src/cmt_parser.cxx print` | produce the CMTEXTRATAGS environment variable, at setup time.
| `src/cmt_parser.cxx parse_arguments` | take into account this new env.var. to retreive previous extra tags.
| `src/Makefile.header` | Add the CMTEXTRATAGS environment variable to 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 or not.
| `src/cmt_parser.cxx use_home_requirements` |
| `src/cmt.h class Cmt` | Adding support of CMTHOME environment variable for specifying home requirements file. Default value will be ${HOME}. And can be overridden through the -home= global option. An explicit empty value (or set to eg. NONE) will discard the feature
| `src/cmt_parser.cxx parse_arguments` | Implement the tag list (comma separated list of extra tags) option -tag= to specify a list of tags to validate.
2001-09-25 | `src/setup.csh` | fixed PATH settings (may accept a path with space characters eg. for Darwin)
| `mgr/cmt_system.sh` | Insert the knowledge of Darwin OS (Mac OS X). The default CMTCONFIG will be Darwin.
| `src/constituents.make makefilesclean` | Ensure that removal of makefile fragments is performed AFTER all cleanup uperations.
| `src/cmt_parser.cxx use_home_requirements` | Add the systematic search for a requirements file located in ${HOME}. This requirements file when found, is systematically parsed AFTER the requirements file of the current package has been parsed (so as to give the highest precedence to its statements)
| `src/cmt_parser.cxx do_remove_library_links` | Upgrade "remove library_links" to make it compliant to the algorithm used in "build library_links"
2001-09-24 | `src/cmt.h class Cmt` | * src/cmt_parser.cxx (configure): Add a global configure_error variable to store the possible error produced during the configuration.
| `src/cmt.h install_test_setup_scripts` | Add the -quiet option to the build temporary_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 retrieve the 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 as a 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" error code, for CMTPATH checking.
| `src/cmt_pattern.cxx const cmt_string& name` | Return a warning for pattern not found.
| `src/cmt_error.h class CmtError` |
| `src/cmt_error.cxx class Error` | Adding "pattern not found" error code, for showing diagnostics in "cmt show pattern"
| `src/cmt_parser.cxx do_show_macro` | Return a warning for symbol not found.
| `src/cmt_error.h class CmtError` |
| `src/cmt_error.cxx class Error` | Adding "symbol not found" error code, for showing diagnostics in "cmt show macro/set"
2001-09-19 | `mgr/cmt_make_shlib_common.sh` | return a status value which reflects the success or failure of the shared library build command.
| `src/cmt_cvs.cxx class CvsImplementation` | Discard the versions specified with wild cards in the recursive checkout.
| `src/cmt_triggers.cxx` | Protect the error messages in the trigger facility 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.sh script against variants of "fs sysname"
2001-08-23 | `src/cmt_cvs.cxx class CvsImplementation` | Since the tag filter is back to cmtcvs.cxx, the temporary forced tag filter in CMT is removed.
| `src/setup.zsh` | upgrade the completion for the broadcast command.
| `src/cmt_parser.cxx do_broadcast` | Make the -select independent of the -local or -global options. This is achieved by adding a "path_selections" list only managed by the -depth, -local -global modifiers while the "selections" list is managed by the -select modifier. The -exclude is left unchanged.
2001-08-22 | `src/cmt_cvs.cxx class CvsImplementation` | Add the possibility to transmit a flag to the CVS pluggin, by inserting a /cmtcvstest in the module name to import. This will have to be decoded by the CVS 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 HEAD management strategy... Starting implementation of the Atlas filter for CVS tags right into cmt_cvs.cxx rather than inside the CVS pluggin...
2001-08-20 | `src/cmt_cvs.cxx class CvsImplementation` | Improving the recursive 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 to a set of use statements. - remove the inheritance to Awk of CvsImplementation to split the filter into 2 phases (implemented as 2 separated Awk derived classes) RecursivePass1 and RecursivePass2.
2001-08-16 | `src/cmt_symbol.cxx print` | Bug in path_remove when the specified path variable only contained one item : the remove operation was not applied.
2001-07-20 | `src/cmt_version.h` | setting the patch v1r9p20010720
| `src/cmt_regexp.h cmt_regexp::begin` | Add an optional pos argument to the begin method.
| `doc/CMTDoc.html` | Improvements, English cleanup...
2001-07-18 | `src/cmt_cvs.cxx CvsImplementation::checkout_package` | Change the mechanism to get top files, since the " -d . " does not work anymore when CVSROOT is set to kserver!!!!
2001-07-16 | `doc/CMTDoc.html` | Old PREFIX fragment variable has been replaced by FILEPATH long ago. This was not upgraded in the doc.
| `fragments/constituent` | The -f MUST be specified BEFORE other Make flags!!
| `fragments/dependencies` | Tried to comment out the dependencies to cmt_path.make etc... but it confused the dependencies fragment production. Uncomment it but need to understand the side effect.
2001-07-09 | `src/cmt_generator.cxx build_readme` | Bug: the VERSION variable was not used for installing the readme_trailer (although the documentation 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 the wild 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 CVS repository. Other bug : All split operations should be performed against " \t" (include tab character)
2001-06-29 | `src/cmt_cvs.cxx class CvsImplementation` | Final Validation of the change in the implementation of the m_installed stack used to avoid recursion due to dependency cycles.
2001-06-22 | `src/cmt_cvs.cxx class CvsImplementation` | doing some optimizations for the big checkout operations.
| `src/cmt_parser.cxx do_config` | Remove .[n]make files also from the binary directory.
| `src/cmt_cvs.cxx class CvsImplementation` | Always fetch the cmt branch at HEAD even if the checkout operation is applied to a required tag (temporary feature).
2001-06-18 | `src/cmt_cvs.cxx class CvsImplementation` | insert a space between top tags and other tags.
| `mgr/cmt_make_shlib.bat` | Write extra options received through arguments into a temporary option file, used by @ to resolve 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. Change this to always request auto_import by default, (unless otherwise specified)
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 the strategy for getting version tags from the repository: o If a request specifies a tag which is not applied to the requirements file, the specified tag is used to create the version directory but the HEAD is used in the repository. o CvsImplementation::show_cvs_infos () : stores all received infos into xxx_info corresponding local properties. Thus this method is only called once per package. 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_names without any suffix
| `src/cmt.h & src/cmt_parser.cxx set_standard_macros` | Add a state standard_macros_done to protect against multiple calls to set_standard_macros.
2001-05-28 | `src/cmt_cvs.cxx class CvsImplementation` | display the tags in a one-per-line basis instead of space separated when doing cmt cvstags.
| `src/cmt_use.cxx operate` | Make the version selector operator a little bit more quiet...
2001-05-25 | `mgr/Makefile demo` | improve the gmake check action in the demo target.
| `src/cmt_use.cxx fill_macro_all` | build use_xxx standard macros using 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 on CMTBIN rather than on CMTCONFIG. Do not override CMTCONFIG if defined by the user. Do not care about PATH for Visual tools.
| `mgr/install.mak` | change the strategy for building the setup.bat script for CMT itself at INSTALL time. Now copy ..\src\setup.bat skeleton.
| `mgr/requirements` | Fix WIN32/VisualC tag definitions and PATH settings for cleaner handling of default tag overriding.
| `src/cmt_use.cxx operate` | Implement the algorithm for using aliases to alternate version specification in uses. -> Tag CMTv1r9p20010521
2001-05-18 | `src/cmt_use.cxx show_sub_uses` | Start the implementation of version_alias and path_alias for equivalencing two version naming policies.
| `src/cmt_cvs.cxx class CvsImplementation` | Adding the -o offset option to cmt checkout for specifying a global offset to the base CVS repository. This offset will be prepended to all modules during the various CVS operations. the m_offset attribute is added to the CvsImplementation class.
| `src/cmt_cvs.cxx class CvsImplementation` | Improve protection against CVS modules not 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 the build_dependencies macro.
| `fragments/dependencies` | take the improvements into account.
| `src/cmt_generator.cxx build_dependencies` | Improve the dependency builder: re-generate all entries of the _dependencies.make that are missing from the complete source 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 shifts arguments of the build dependencies command to keep only the new-source-list. The complete command being "cmt build dependencies "
| `src/cmt_parser.cxx do_config` | drop all makefile fragments from the mgr/cmt directory AND from the binary directory. Moving to v1r8
| `src/cmt_deps_builder.cxx istream& input,` | 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,
| `CmtSystemcmt_string_vector& deps` | Augmented local internal line buffer (from 1024 to 16384).
| `doc/CMTDoc.html` | document the new _root macro
| `src/cmt_parser.cxx set_standard_macros get_best_form` | Define a new set of standard macros using the pattern _root similar to ROOT except that this new definition uses the get_best_form, with a relative path to the package. The ROOT macro is restored to the previous convention, that it uses the absolute path.
| `src/cmt_use.cxx fill_includes_macro` | Adapt the fill_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. This option can be combined with other options such as -select or -exclude.
| `src/cmt_generator.cxx filter_paths` | Suppress two unused variables.
| `src/cmt_use.cxx add` | Bug fixing: during the discovery of versions requested for a given package, the discarded versions were not correctly replaced by the finally selected version, especially in the Use::get_paths method. The Use::get_selected_version has been added to obtain the effective replacement for a discarded version.
| `fragments/check_application` | suppress the ". setup.sh" before application run.
2001-05-04 | `src/cmt_parser.cxx set_standard_macros` | The production of all use_xxx standard macros now is based on a "macro_append" keyword instead of "macro", since "macro" resets all previous definitions. Therefore if the user's requirements did augment those use_xxx macros, these specifications would be ignored.
| `src/cmt_parser.cxx do_broadcast` | Set the -local option to broadcast the default. Add the -global option to revert to the old default (with no selection and to any depth)
2001-05-03 | `src/cmt_symbol.cxx add_value_to_list` | A new macro or set keyword resets (discards) all previous definitions for the corresponding symbol.
| `src/cmt_symbol.h class SymbolValueList` | Added an attribute discarded for symbol resetting.
| `src/cmt_parser.cxx print_macros` | Exclude scripts from macros defined in the $(tag).make file.
2001-04-27 | `src/cmt_parser.cxx get_best_form` | Validate the compression algorithm for paths to packages (only for the macro ROOT - this is still not true for the ROOT environment variable) into a relative form when it is shorter than the absolute form.
| `src/cmt_system.cxx compress_path` | Fix the algorithm for compressing the patterns "aaaa/xxxx/../bbbb" into aaaa/bbbb.
| `src/cmt_generator.cxx filter_paths` | use CmtSystem::compress_path instead of duplicating its algorithm for erasing "/aaa/.." patterns
2001-04-25 | `src/cmt_parser.cxx set_standard_macros` | Prepare the production of ROOT macros as relative paths rather than absolute ones, when the relative expression is shorter than the absolute one. Temporarily, trigger that feature by setting the CMTTESTPREFIX environment variable until absence of side effects is confirmed.
2001-04-18 | `src/cmt_generator.cxx build_readme` | bug when generating the readme_trailer fragment : the PACKAGE variable should be reset to current.
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 build readme command. The specified URL will be used in place of the package path when generating the URL for used packages.
2001-04-18 | `src/cmt_symbol.cxx build` | In all builder objects, symbol value lists registered by discarded Uses are now ignored.
| `src/cmt_symbol.h class SymbolValue` | cleanup a comment.
| `src/cmt_symbol.cxx print` | protect setup script execution against missing files.
2001-04-10 | `src/cmt_generator.cxx build_readme` |
| `fragments/readme_use` | building readme.html requires to know the mgr/cmt style of each used package. This fragment now requires a fourth variable MGRSTYLE which reflects the use->mgr_style attribute. 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 is selected when access is at UserMode and scope is Private.
| `src/cmt_use.cxx add` | This method does not need to maintain current scope and access mode any longer.
| `src/cmt_parser.cxx parse_requirements` | Cmt::parse_requirements now manages the AccessMode and Scope when recursing into requirements files of used packages. Cmt::scope handles the sticky state provided by private/public statements Cmt::current_access handles the access mode that reflects the situation of the user
| `src/cmt_parser.h enum` | introduce the AccessMode to distinguish between DeveloperMode (when pwd is in the current package directory) and UserMode (otherwise).
| `src/cmt.h class Cmt` | Cmt::current_mode is now current_access and is of type AccessMode
| `src/cmt_parser.cxx reach_current_package` | Use CmtSystem::getenv instead of base getenv
| `src/cmt_use.cxx Use::get_paths` |
| `src/cmt_pattern.cxx Pattern` | :apply ()) : bug in computing the path between two Uses. The result now includes the current Use.
2001-04-05 | `src/cmt_tag.cxx Tag::addconst cmt_string& name, int priority` | clear a newly created Tag object (to deal with the reuse of old objects)
| `src/cmt_pattern.cxx Pattern` | :add) : clear a newly created pattern object (to deal with the reuse of old objects)
| `src/cmt_use.h class Use` | Add Use::author_action and Use::manager_action to fill in the author and manager information.
| `src/cmt_parser.cxx select` | fill in author and manager values with the complete line. When several author and manager statements are 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 for libraries and applications is strictly identical.
2001-04-03 | `src/cmt_constituent.cxx clear` | constituent.parameters was not cleared in Constituent::clear
| `src/cmt_symbol.cxx build` | add cleanup ValueList objects after their addition for ensuring a really new value (due to cmt_string optimizing)
| `mgr/Makefile` | Operate the demo targets on different make action lines
| `src/Makefile.header` | Added -tag=$(tag) to cmt actions
| `fragments/generator_header` | create the output directory if needed
2001-04-02 | `fragments/nmake/constituent` | added the -tag=$(tag) option to cmt build actions
| `src/cmt_parser.cxx parser` | show_constituentxxx recursively reads used requirements files
| `src/cmt_pattern.cxx Pattern::apply const` | protection added for the case where the pattern is applied to the package that defines 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 the Uses that are on one of the paths between the current Use and the one wher the pattern is defined (and not to the Uses that never pretend to inherit that pattern!!!) This required to implement the Use::get_paths which fills in the inclusive list of all Uses that are between two Uses.
2001-03-27 | `fragments/dependencies` | protection against missing dependency make fragment during clean operations.
| `src/cmt_constituent.cxx class constituents_action_iterator` | the -suffix= option was hidden by the user variable specification while 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 case of target not found (.DEFAULT)
| `fragments/make_setup csh` | few checks
| `fragments/installer` | add the creation of $(install_dir) if needed
2001-03-21 | `src/cmt_parser.cxx parse_arguments` | When the tag specified in the command line arguments (using -tag=) is the same as CMTCONFIG, 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-step parsing of the constituents specifications : first stage during parsing of the requirements file, parameters are simply stored in the constituent object and not interpreted. Second stage : after building the standard macros (once requirements files have entirely been read) then constituent objects are parsed.
| `src/cmt_parser.cxx` | Add Constituent::parse_all in Cmt::set_standard_macros to finalize the constituent parsing. Install set_standard_macros in several additional actions
2001-03-16 | `src/cmt_cvs.cxx class CvsImplementation` | Get the files at the top directory when doing a cmt checkout. Only checkout at head for the top package (ie do not recurse at head) and when -r is not specified.
| `src/cmt_symbol.cxx resolve_value_for_macros` | Perform the substitution of ${} to %% (or reverse) even if the env. var. is not defined in CMT.
| `src/cmt_parser.cxx install_setup_scripts` | Setup scripts on Windows generate the temporary expansion script in %HOMEDRIVE%%HOMEPATH%.
| `mgr/requirements` | clean up variants for VisualC and VisualC/debug
2001-03-15 | `src/cmt_use.cxx class use_action_iterator` | Strange name conflict: the use_action_iterator::set method is in conflict with something else when the class is named "action_iterator" (is it a conflict with the same private class defined in Symbol.cxx ??)
| `src/NMakefile.header cmtexe` | Fix for re-building cmt when cmt.exe does not exist.
2001-03-13 | `src/cmt_use.cxx class action_iterator` | Introducing the action_iterator class for managing the local expansion of macros in the syntax parser (similart to what was done in Symbol::action)
| `src/cmt_generator.cxx Generator` | :build_make_setup) when generating setup.make, the default value for constituents is extracted from the constituents macro.
2001-03-06 | `src/cmt_cvs.cxx class CvsImplementation` | Show both top tags and 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 be protected against multiple ocurrences of the /symbols/,/locks/ pattern. Implement both in python and in shell script the differntiated production of top tags and non-top tags. Top tags are the set of tags sharing the most recent CVS tagged version id (ie. the HEAD may be more recent)
2001-03-05 | `src/cmt_parser.cxx do_build_library_links` | Handle libraries specified as a full path in _libraries
| `src/cmt_parser.cxx print_context` |
| `src/cmt_symbol.cxx all_print` | Use one line per env. var. assignment when generating setup scripts (instead of ; separated instructions) . The latter style should be no longer needed since we use temporary files.
| `src/cmt_parser.cxx set_standard_macros` | Add CMTCONFIG to the standard sets, so as to let it known as a plain "symbol"
2001-03-02 | `src/cmt_system.h` | introduce the CmtSystem::ev_open () and CmtSystem::ev_close () to get the OS-dependent pattern for environment variable definition.
| `src/cmt_symbol.cxx resolve_value_for_macros` | Substitute patterns ${xxx} or %xxx% to the appropriate OS-dependent pattern when producing "set" values only (this is only done when the pattern is not already the good one)
| `src/cmt_parser.cxx install_setup_scripts` | Changed >>${tempfile} into >${tempfile} in setup scripts (fix a constraint in csh)
2001-02-26 | `src/cmt_parser.cxx do_build_temporary_name` | Add the build temporary_name command to supply that missing function on various shells.
| `src/cmt_parser.cxx install_test_setup_scripts` | Apply this new build service to setup scripts generation.
| `src/Makefile.header` | Needed a trailing end-of-line
2001-02-15 | `src/cmt_cvs.cxx class CvsImplementation` | Fix misuse of checkout_package arguments (confusion between package path and checkout directory)
2001-02-26 | `src/cmt_parser.cxx install_test_setup_scripts` | use mktemp for setup scripts.
| `mgr/requirements` | Suppress local private configuration of MSVC++. It has to be done previously to operate on CMT (even before 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* to restore speed.
2001-02-15 | `src/cmt_generator.cxx build_dependencies` | Restore the mechanism that takes into account the arguments, and the source list when -all_sources option is provided.
| `mgr/requirements` | change /machine:I386 into /machine:IX86 as link option for VisualC
2001-02-13 | `src/cmt_generator.cxx build_dependencies` | Do not require the source list from the arguments. Instead, get the sources directly from 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_string and 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
| `src/cmt_parser.cxx parse_requirements_text` | Abort the parser in case of error, but only for check configuration command.
| `arc/NMakefile.header lex_echo` | Add -quiet option to cmt command except cmt check configuration
| `fragments/nmake/constituents.nmake` | Add -quiet option to cmt command
2001-01-30 | `all dsp fragments` | suppress the Win32 Release configuration. Only keep the Win32 Debug. This makes possible the generation of msdev using the syntax cmt build msdev -tag=VisualCdbg
| `mgr/cmt_buildcvsinfos.py first attempt to make the cvs script` | written in Python
| `mgr/requirements` | Consistently base Windows tag on VisualC rather than WIN32 upgraded setup.tcsh setup.zsh introduced cmt show include_dirs introduced 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_names experimental work started on build triggers macro build_triggers implied_library_prefix implied_library_sufffix new library option -triggers new constituent attribute build_triggers new fragment dependencies_and_triggers for libraries bug in cmt_system.cxx::scan_dir Recursively get all requirements file in cmt config action Changed strategy for argument parsing error detection
| `src/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.
| `src/cmt_constituent.cxx class action_iterator` | Expand the macros before acting upon a constituent specification. Each expanded word may then result in several words. Thus the line parser is re-implemented through a local operator class "action_iterator", in charge of filling up a new constituent object from the expanded statement. (Note that this mechanism could perfectly be reused for other statements eg "use" !!!)
| `src/cmt_parser.cxx set_standard_macros` | Implement all_constituents and all_constituentsclean unconditionally.
| `src/NMakefile.header checkuses` | if defined statements require that the macro to test is provided without quotes.
| `src/cmt_generator.cxx` | Apply the new convention of installing object files into $(bin)${CONSTITUENTS} also for applications (was only done for libraries)
| `src/cmt_parser.cxx print_context` | Take the current CONFIG name from CmtSystem::get_cmt_config rather than recursively calling "cmt system", when generating setup scripts.
| `src/cmt_cvs.cxx class CvsImplementation` | Use '/' ínstead of CmtSystem::file_separator for CVS-only file specs.
2000-12-26 | `src/cmt_fragment.h class Fragment and FragmentHandle` | Install all variants of (win)copy methods that act upon a cmt_string instead of a FILE*.
| `src/cmt_model.cxx` | Create the implementation file for CmtModel
| `src/cmt_model.h class CmtModel` | Create the CmtModel class
| `src/cmt_parser.cxx do_expand_model` | Add the new command verb : 'expand model' and all associated features
| `src/cmt_parser.cxx do_expand_model` | call the CmtModel::expand