source: CMT/v1r10p20011126/ChangeLog @ 1

Last change on this file since 1 was 1, checked in by arnault, 19 years ago

Import all tags

File size: 51.9 KB
Line 
12001-11-26  Christian Arnault  <carnault@atlas50.cern.ch> 64
2
3        * Tagging v1r10p20011126
4       
5        * src/Makefile.header: tag is now ${CMTCONFIG} and tags ${CMTEXTRATAGS}
6
7        * mgr/requirements: Provide the macro tags as ${CMTEXTRATAGS}
8
9        * src/cmt_tag.cxx: Various changes in strategy for tags:
10          - tag inclusion (defined by the "tag" statement) transmits the priority.
11          - tag selection can be discarded by exclusion specifications. Exclusion
12          qualifies a set of contradictory tags. Contradictory tags will be selected
13          according to their priority or to their declaration order in case of
14          equal priority.
15
16        * src/cmt_parser.h (enum Priority): Change the priority list:
17        Arguments get highest priority
18        then CMTCONFIG
19        then user tags (those defined in requirements)
20
21        * fragments/make_setup: produce uses.make and tags.make
22
23        * src/cmt_parser.cxx (parse_arguments):
24        * src/cmt.h (class Cmt): Suppress the mechanism of
25        primary_tag. CMTCONFIG is enough.
26
272001-11-21  Christian Arnault  <carnault@lxplus040.cern.ch> 63
28
29        * src/cmt_symbol.cxx (add_value_to_list): fix protection on
30        value_list.size () to start at 1 (not at 2)
31
32        * src/cmt_symbol.cxx (build): Reflective values of Sets should
33        consider previous setenv settings.
34
35        * src/cmt_generator.cxx (build_dependencies): Using ../$(tag) for
36        output base of the dependencies fragment rather then
37        Cmt::current_tag
38
39        * src/Makefile.header (CMTPRIMARYTAG): tag=... argument of gmake
40        will override CMTPRIMARYTAG. However internal tag macro is only
41        replaced with ${CMTCONFIG}
42
43        * fragments/make_setup (config): create a tags.log (for cmt show
44        tags)
45
46        * mgr/cmt_make_shlib_common.sh: Add the ${lib} prefix to the
47        temporary expansion directory. Fix a bug in sed filter for all
48        module files.
49
50        * src/cmt_parser.cxx (configure_tags): Add a protection against
51        absence of CMTPRIMARYTAG
52
53        * src/cmt_system.cxx (create_symlink):
54        * src/cmt_system.h (class CmtSystem): Adding the create_symlink
55        function.
56
57        * src/cmt_parser.cxx (do_build_library_links): Using direct system
58        calls to create symlinks.
59
602001-11-13  Christian Arnault  <carnault@lxplus010.cern.ch> 62
61
62        * Tagging v1r10p20011113
63
64        * mgr/requirements:
65        * src/constituents.make (build_library_links): Define macros for
66        build_library_links and remove_library_links
67
68        * fragments/make_setup (config): Add build_library_links target
69
70        * src/cmt_parser.cxx (set_standard_macros): Fix bad production of
71        use_includes when private is used.
72
73        * src/cmt_parser.cxx (do_broadcast): Fix -begin=<pattern> error
74
752001-11-08  Christian Arnault  <carnault@lxplus028.cern.ch> 61
76
77        * src/cmt_version.h: tagging v1r10
78
79        * src/cmt_system.cxx (add_cmt_path): Get cwd alias to each selected path.
80
81        * src/cmt.h (class Cmt): Add cmt_path_cwd vector of all CMTPATH
82        entries normalized to getcwd.
83
84        * src/cmt_generator.cxx (java_file_action):
85        * src/cmt_generator.cxx (proto_file_action):
86        * src/cmt_generator.cxx (module_file_action): Pass reference to the constituent in order
87        to transmit constituent variables to the fragment.
88
89        * src/cmt_parser.cxx (set_standard_macros): Insert a space
90        character for all generated macro_append operations.
91
92        * src/cmt_fragment.cxx (xxxcopy):
93        * src/cmt_fragment.h (class Variable): Adding the expansion of
94        fragments variables using both the ${} syntax AND the $() syntax.
95
96        * src/cmt_tag.h :
97        * src/cmt_tag.cxx (is_selected): Change the Tag::selected attribute to bool.
98
992001-11-07  Christian Arnault  <carnault@lxplus006.cern.ch> 60
100
101        * src/cmt_symbol.cxx (build): Implement the possibilty to have
102        reflexive asignment to symbols: when a symbol value is exactly
103        specified (from set, macro or path statements) using $(<name>) or
104        ${<name>} or %<name>% then the old value is preserved for all
105        corresponding selectors.
106
107        * src/cmt_parser.cxx (set_standard_macros): Re-activate -import
108        options (that had been discarded!)
109
110        * src/cmt_use.cxx (add): Generate an error when a package is not
111        found (the error was only generated at "cmt show uses")
112
113        * src/cmt_constituent.cxx (show): Display -import options
114
115        * fragments/dependencies: Force checking $(bin)
116
117        * fragments/constituent: Adding some printout to display when
118        constituent fragment is rebuilt
119
120        * src/cmt_parser.cxx (set_standard_macros): Re-validate
121        -no_auto_imports option for use and -import options for
122        constituents.
123
1242001-11-06  Christian Arnault  <carnault@lxplus038.cern.ch> 59
125
126        * src/cmt_generator.cxx (build_document_makefile): protect against
127        missing files (causing infinite loops in Make)
128
1292001-11-05  Christian Arnault  <carnault@lxplus005.cern.ch> 58
130
131        * mgr/Makefile (application_suffix): Define application_suffix in
132        the CMT's Makefile
133
134        * src/cmt_parser.cxx (print_context): Do not generate ROOT and
135        CONFIG for cmt_standalone packages.
136
137        * mgr/requirements: Reomving the cmt_selector.cxx source file.
138
139        * src/constituents.make: Force the dirs target for
140        build_library_links
141
142        * src/cmt_parser.cxx (restore_all_tags): Get the value of
143        CMTPRIMARYTAG to configure Cmt::primary_tag.
144
145        Leave unchanged the primary_tag and the extra_tags except if
146        overridden through the -tagxxx= options
147
148        * src/cmt_parser.h (enum): Add PrioritySite in the list of
149        possible priorities.
150
151        * src/cmt.h (class Cmt): Add the restore_all_tags function. Add
152        the extra_tags attribute . Change the strategy of tag persistency:
153
154          o CMTPRIMARYTAG always contains what had been specified using
155        the -tag= option,
156
157          o CMTEXTRATAGS contains what had been manipulated by -tag_add=
158        and -tag_remove= options.
159
160          o CMTCONFIG is setup independently of the primary tag.
161
162        * src/Makefile.header (primary_tag): Propagate tags using
163        CMTPRIMARYTAG instead of CMTCONFIG (except when CMTPRIMARYtAG is
164        not yet defined)
165
166        * src/cmt_constituent.cxx (parse): Fix the word parsing for
167        constituent specification...
168
1692001-11-02  Christian Arnault  <arnault@asc.lal.in2p3.fr> 57
170
171        * src/cmt.h
172        * src/cmt_database.cxx
173        * src/cmt_database.h
174        * src/cmt_parser.cxx
175        * src/cmt_parser.h
176        * src/cmt_selector.cxx
177        * src/cmt_selector.h
178        * src/cmt_symbol.cxx
179        * src/cmt_symbol.h
180        * src/cmt_tag.cxx
181
182        * src/cmt_tag.h:
183        Suppressing cmt_selector objects (only tags are needed!!)
184        Add tag_exclude keyword for building tag-exclusions.
185
1862001-10-31  Christian Arnault  <carnault@atlas50.cern.ch> 56
187
188        * mgr/requirements: Don't need to explicitly declare make_fragment
189        headers (automatically declared in the -header= option)
190
191        * src/cmt_symbol.cxx (print_clean): Cleaning up path variables may
192        be either unsetenv when the result is empty or setenv if not.
193       
194        * fragments/application_launcher: evolution
195
196        * src/cmt_parser.cxx (configure_tags): protect against empty
197        declaration of CMTCONFIG : by default will take uname...
198
1992001-10-30  Christian Arnault  <carnault@atlas50.cern.ch> 55
200
201        * src/cmt_symbol.cxx (clean): Implement the cleanup correctly,
202        with in particular the cleanup of the path variables.
203
204        * src/cmt_parser.cxx (print_context): improve output of cmt show tags
205
206        * src/cmt_symbol.h (class Symbol): Add clean_macro_value for
207        building the result of the clean operations induced by this symbol
208        (only implemented for path_xxx)
209
210        * src/cmt_parser.cxx: New post-context requirements file :
211        user_context in addition to home package.  Added Use* use
212        arguments to configure_xxx functions to transfer.
213
214        * src/cmt_parser.cxx(configure_cmt_path): Attempt to make use of
215        CMTPATH definitions from requirements files.
216
217        * src/cmt_parser.cxx(configure_config_selector): Install context
218        information for tag creation
219
220        * src/cmt_parser.cxx(configure_home): Attempt to make use of
221        CMTHOME definitions from requirements files.
222
223        * src/cmt_parser.cxx(configure_user_context): Install user_context
224        management
225
226        * src/cmt_parser.cxx(configure_site_selector): Get CMTSITE from
227        requirements as well
228
229        * src/cmt_parser.cxx(configure_tags): Add a configure_tags
230        finction to retreive tags from all possible sources: CMTCONFIG
231        (from req) then CMTPRIMARYTAG then CMTCONFIG then CMTBIN then
232        append all CMTEXTRATAGS.
233
234        * src/cmt_parser.cxx(parse_arguments): fix parsing bug for the
235        -home= argument
236
237        * src/cmt_parser.cxx(parser): Set action_show_path to be recursive
238
239        * src/cmt_parser.cxx(parser): Call the HOME package just after
240        using CMT. Call the use_context package just after reaching the
241        current package.
242
243        * src/cmt_parser.cxx(print_clean): reformat the output (with
244        newlines). Clear CMTPRIMARYTAG CMTEXTRATAGS and CMTCONFIG.
245
246        * src/cmt_parser.cxx(print_context): set CMTPRIMARYTAG
247        CMTEXTRATAGS and CMTCONFIG from the current definitions.
248
249        * src/cmt_parser.cxx(set_standard_macros): Rationalize the
250        production of current_tag
251
252        * src/cmt_parser.cxx(use_user_context_requirements):
253
254        * src/cmt_use.cxx (show_all): Display new user_context package
255
256        * src/cmt_use.cxx (class use_action_iterator): query function ok()
257        includes both home_package and user_context_package
258
259        * src/cmt_use.cxx (reach_package): special treatment for
260        home_package and user_context_package since they do not follow the
261        standard location scheme.
262
263        * src/cmt_use.cxx (add): Improve the detection of packages not found.
264
265        * src/cmt_tag.cxx (unmark): Reset the use pointer
266
267        * src/cmt_tag.cxx (action): Install the use origin.
268
269        * src/cmt_tag.cxx (add): Install the use origin and the context
270        information. It will be reset to the new context in case of
271        re-definition. Suppress various excessive debug printouts.
272
273        * src/cmt_tag.cxx (clear): clear use and context new information
274
275        * src/cmt_tag.cxx (show): Improve the display of tags with
276        hierarchical display of subtags and context information.
277
278        * src/cmt_tag.h (class Tag): Added Use* use parameter to action
279        and add methods. Store a pointer to the package (Use*) who
280        originated the definition, and a context string to qualify the
281        definition.
282
283        * src/cmt_system.h (class CmtSystem):
284        * src/cmt_system.cxx (add_cmt_paths_from_text): Factor out the
285        code to register a set of CMTPATH entries, with the context
286        information.
287       
288        * src/cmt_system.cxx (is_home_package): Add is_home_package and
289        is_user_context_package query functions.
290
291        * src/cmt_system.cxx (get_cmt_site): Default site is empty
292        (instead of LAL)
293
294        * src/cmt_symbol.cxx (print_clean): Suppress some obsolete
295        print_tabs () formattings. Apply unset instead of unset for
296        aliases as well.
297       
298        * src/cmt_symbol.cxx (action): Add special treatment for CMTXXX
299        environment variables : the new setting has to be taken into
300        account as soon as it is parsed.
301
302        * src/cmt_selector.cxx (create): remove some debug code.
303
304        * src/cmt_generator.cxx (build_default_makefile): Produce only
305        Makefile on Unix and only NMake on Windows.
306
307        * mgr/requirements: Renaming new script_launcher fragments into
308        application_launcher
309
310        * src/cmt.h (class Cmt): Added Use* use arguments to configure_xxx
311        functions to transfer.
312       
313        Added use_user_context_requirements () to include post-context
314        requirements file.
315
316        Added the static value primary_tag to store the primary tag.
317       
318
319        * src/cmt_generator.cxx (build_default_makefile): Create Makefile
320        only un Unix and NMake only on WIN32
321
3222001-10-24  Christian Arnault  <carnault@lxplus038.cern.ch> 55
323
324        * src/cmt_parser.cxx (parser): add the recursive property to
325        action_show_path.
326
327        * src/cmt_system.h (class CmtSystem):
328        * src/cmt_system.cxx (get_user_context_package):
329        * src/cmt_system.cxx (is_user_context_package):
330        * src/cmt_use.cxx (add):
331        (show_all):
332        (class use_action_iterator):
333        (reach_package):
334        (add):
335        * src/cmt_parser.cxx (configure):
336        * src/cmt_parser.cxx (parser):
337        * src/cmt_parser.cxx (parse_arguments):
338        * src/cmt_parser.cxx (configure_user_context):
339        * src/cmt.h (class Cmt):
340
341        Adding user_context equivalent of CMTHOME support for post
342        requirements file. The corresponding env. var. is CMTUSERCONTEXT.
343        The complete scheme for supporting PRE-parsed HOME requirements
344        file is exactly copied to those POST-parsed files.
345
346        * mgr/requirements:
347        * fragments/script_launcher_header:
348        * fragments/script_launcher:   
349        * fragments/script_launcher_trailer: Introduce a new document
350        generator for launching scripts. The same convention as the
351        check_application is reused, for pre-action, argument passing and
352        post-action. Several scripts (specified in the source list of the
353        document) can be executed in sequence.
354
355        * src/cmt_use.cxx (class use_action_iterator):
356        * src/cmt_system.cxx (is_home_package):
357        * src/cmt_system.h (class CmtSystem): Add the is_home_package
358        function to encapsulate the syntax of a HOME package (and apply it
359        in Use::use_action_iterator)
360
361        * src/cmt_symbol.cxx (action): Prepare specific actions when the
362        parsed symbol is one of the CMTXXX standard symbols. So far
363           CMTHOME -> re-configure home.
364
365        * src/cmt_parser.cxx (parser): apply use_home_requirements right
366        after reading CMT requirements file (ie. before reading current
367        package)
368
369        * src/cmt_parser.cxx (configure_home): understand the possible
370        "set CMTHOME" declarations (but keep $CMTHOME)
371
372        * src/cmt_parser.cxx (reach_current_package): * src/cmt_system.cxx
373        (get_cmt_paths): Restore the automatic addition of "current
374        package" in the CMTPATH list.
375
376        * src/cmt_parser.cxx (parse_arguments): bad parsing of the
377        -home=xxx argument
378
379       
380
3812001-10-23  Christian Arnault  <carnault@lxplus007.cern.ch> 54
382
383        * mgr/Makefile (demo): Need to add CMTPATH towards ${CMTROOT}/demo
384        since CMTPATH to current package is no longer supported !!!
385
386        * fragments/nmake/check_application (check):
387        * fragments/nmake/cleanup_application:
388        * fragments/nmake/application_header:
389        * fragments/nmake/application:
390        * fragments/application:
391        * fragments/application_header:
392        * fragments/cleanup_application:
393        * fragments/check_application (check):
394        * mgr/requirements: Create a new standard macro
395        "application_suffix" for making possible to change the .exe
396        default suffix of applications
397
3982001-10-22  Christian Arnault  <carnault@lxplus026.cern.ch> 53
399
400        * src/cmt_parser.cxx :
401        * src/cmt_system.cxx : Suppress the automatic addition of current
402        package's path into CMTPATH.
403
404        * mgr/Makefile: Change the method to rebuild
405        cmt_dependencies by copying what is obtained from CVS. Rebuild it
406        manually when needed.
407
4082001-10-19  Christian Arnault  <carnault@lxplus025.cern.ch> 52
409
410        * fragments/make_setup (config): Creating uses.log needs to use an
411        intermediate temporary file
412
413        * src\setup.[c]sh : Avoid re-definition of CMTCONFIG
414
415        * src\cmt_use.cxx (add): temporarily discard the mecanism by which
416        uses.log files are read before the requirements files.
417
418        * src\cmt_system.cxx (is_version_directory): returns -1 for fields
419        that were wildcarded
420
421        * src\cmt_use.cxx (add):
422        * src\cmt_use.cxx (need_new):   
423        * src\cmt_use.cxx (BestFitSelector::operate): Start the
424        implementation of priority control between explicit use
425        specification over wildcarded ..
426
427        * src\cmt_parser.cxx (reach_current_package): Change the value of
428        the CMTPATH for the current package once it has been reached (but
429        before reading its requirements file)
430       
431        * src\cmt_parser.cxx (install_setup_scripts): (improvement) Add the transfer of
432        arguments towards cmt.exe into setup.bat
433
434        * src\cmt_system.cxx (get_cmt_paths): (bug fix) path_sources was
435        not cleared as paths.
436        Prepend "current path" to the path list under "current package".
437
438        * src\cmt_parser.cxx (parse_arguments): (bug fix) Suppress
439        enclosing quotes around cmt.exe arguments so that setup.bat can
440        transmit arguments properly
441
442        call setup.bat "-tag_add=a,b,c"
443
4442001-10-18  Christian Arnault  <carnault@lxplus047.cern.ch> 51
445
446        * src/cmt_parser.cxx (set_standard_macros): Set current_tag to
447        CMTBIN when in CMT itself (not complete yet)
448       
449        * src/cmt_generator.cxx (build_dependencies): Use CMTBIN for CMT
450        itself (instead of current_tag) well this should be cured later on
451        to ensure that current_tag is always set to CMTBIN for CMT itself
452
453        * src/cmt_version.h (CMTVERSION): install v1r10 (not tagged yet)
454
455        * mgr/cmt_system.sh: Do not try to use AFS on Darwin and LynxOS.
456
457        * src/setup.[c]sh: Define CMTBIN as `uname` on Unix and CMTCONFIG
458        as `cmt_system.sh`
459
460        * src/cmt_symbol.cxx (show_macro): the trailing space must be
461        added only for WIN32 !!
462
4632001-10-17  Christian Arnault  <carnault@lxplus047.cern.ch> 50
464
465        * src/cmt_symbol.cxx (show_macro): add a trailing space on all
466        macro definitions (to avoid problem of trailing backslash)
467       
468        * src/cmt_parser.cxx (set_standard_macro): remove the insertion of
469        trailing spaces after the last backslash for WIN32/NMake
470
471        * src/constituents.make (all): (bug fix) re-install the
472        build_library_links action for the all target
473
4742001-10-11  Christian Arnault  <carnault@lxplus021.cern.ch> 49
475
476        * src/cmt_version.h: Tagging for v1r9p20011011
477       
478        * fragments/library: (bug fix) transmit both -tag=<tag> and
479        -tag_add=<tag_list> to cmt_make_shlib_common.sh
480
4812001-10-11  Christian Arnault  <arnault@asc.lal.in2p3.fr> 48
482
483        * src/cmt_parser.cxx: remove debug print options
484
4852001-10-10  Christian Arnault  <arnault@asc.lal.in2p3.fr> 47
486
487        * src/cmt_parser.cxx (parse_arguments): fix problems in multiple
488        tag management.
489
490        converge in the question of HOME requirements file to support
491          - no default
492          - define the path to the HOME requirements file in ${CMTHOME}
493
494        converge in the arguments for manipulating the extra tags
495          -tag=<tag>
496          -tag_add=<tag-list>
497          -tag_remove=<tag-list>
498
4992001-10-03  Christian Arnault  <carnault@lxplus036.cern.ch> 46
500
501        * src/constituents.make (makefilesclean): Make all action lists
502        run in one single shell (ie. use ;\ everywhere)
503
504        Make an explicit target for build_library_links
505        Make it called before any group
506
5072001-10-02  Christian Arnault  <carnault@lxplus007.cern.ch> 45
508
509        * src/cmt_awk.h (class Awk): add a state variable
510        (m_continuation_allowed) which when true, take into account the
511        trailing backslashes, so as to first accumulate continued lines
512        into one. Add the allow_continuation method to base Awk class.
513
5142001-10-01  Christian Arnault  <carnault@lxplus034.cern.ch> 44
515
516        * src/cmt_cvs.cxx (class CvsImplementation): Bug in
517        checkout_from_requirements. Did not accept leading spaces on use
518        statements.
519
5202001-09-27  Christian Arnault  <carnault@lxplus036.cern.ch> 43
521
522        * src/cmt_version.h: Tagging for v1r9p20010927
523
524        * src/setup.zsh: add the -begin option to the auto-expansion.
525
526        * src/cmt_use.cxx (show_all): Visualize the HOME package when
527        applicable.
528
529        * src/cmt_system.cxx (get_home_package): (also do some formatting
530        cleanup)
531       
532        * src/cmt_system.h (class CmtSystem): Adding get_home_package
533        function to build the name given to the HOME package (provides the
534        HOME requirements file)
535
5362001-09-26  Christian Arnault  <arnault@asc.lal.in2p3.fr> 42
537
538        * src/cmt_parser.cxx (do_show_macro): Improving error detection on
539        cmt show macro/set
540
541        * doc/CMTDoc.html: Improve the doc.
542
543        * src/cmt_parser.cxx (print): produce the CMTEXTRATAGS environment
544        variable, at setup time.
545                             (parse_arguments): take into account this new
546        env.var. to retreive previous extra tags.
547
548        * src/Makefile.header: Add the CMTEXTRATAGS environment variable
549        to propagate additional tags to Make.
550       
551        * fragments/make_setup:
552        * fragments/constituent:
553        * src/Makefile.header:
554        * src/constituents.make: Adding  -tag=$(tags) to all calls to cmtexe
555
556        * src/cmt_system.h (class CmtSystem): Adding the bool testenv
557        (name) function to test if an environment variable is defined or
558        not.
559
560        * src/cmt_parser.cxx (use_home_requirements):
561        * src/cmt.h (class Cmt): Adding support of CMTHOME environment
562        variable for specifying home requirements file. Default value will
563        be ${HOME}. And can be overridden through the -home=<directory>
564        global option. An explicit empty value (or set to eg. NONE) will
565        discard the feature
566
567        * src/cmt_parser.cxx (parse_arguments): Implement the tag list
568        (comma separated list of extra tags) option -tag=<tag-list> to
569        specify a list of tags to validate.
570
5712001-09-25  Christian Arnault  <carnault@lxplus034.cern.ch> 41
572
573        * src/setup.csh: fixed PATH settings (may accept a path with space
574        characters eg. for Darwin)
575       
576        * mgr/cmt_system.sh: Insert the knowledge of Darwin OS (Mac OS
577        X). The default CMTCONFIG will be Darwin.
578
579        * src/constituents.make (makefilesclean): Ensure that removal of
580        makefile fragments is performed AFTER all cleanup uperations.
581
582        * src/cmt_parser.cxx (use_home_requirements): Add the systematic
583        search for a requirements file located in ${HOME}. This
584        requirements file when found, is systematically parsed AFTER the
585        requirements file of the current package has been parsed (so as to
586        give the highest precedence to its statements)
587       
588        (do_remove_library_links): Upgrade "remove library_links" to make
589        it compliant to the algorithm used in "build library_links"
590
5912001-09-24  Christian Arnault  <carnault@lxplus014.cern.ch> 40
592
593        * src/cmt.h (class Cmt): * src/cmt_parser.cxx (configure): Add a
594        global configure_error variable to store the possible error
595        produced during the configuration.
596        (install_test_setup_scripts): Add the -quiet option to the build
597        temporary_name command used in setup script generation.
598
599        * src/cmt_error.cxx (get_last_error):
600        * src/cmt_error.h (class CmtError): Add get_last_error to retrieve
601        the formatted text of the last error.
602
603        * src/cmt_symbol.cxx (create):
604                             (all_print):
605                             (print):
606                             (build):
607        * src/cmt_parser.cxx (select): Understand the "path" statement as
608        a complete re-definition of a path-like variable.
609
610        * src/cmt_system.cxx (add_cmt_path):
611        * src/cmt_error.cxx (class Error):
612        * src/cmt_error.h (class CmtError): Adding "path not found" error
613        code, for CMTPATH checking.
614
615        * src/cmt_pattern.cxx ((const cmt_string& name): Return a warning
616        for pattern not found.
617
618        * src/cmt_error.h (class CmtError):
619        * src/cmt_error.cxx (class Error): Adding "pattern not found" error
620        code, for showing diagnostics in "cmt show pattern"
621
622        * src/cmt_parser.cxx (do_show_macro): Return a warning for symbol
623        not found.
624
625        * src/cmt_error.h (class CmtError):
626        * src/cmt_error.cxx (class Error): Adding "symbol not found" error
627        code, for showing diagnostics in "cmt show macro/set"
628
6292001-09-19  Christian Arnault  <carnault@lxplus045.cern.ch> 39
630
631        * mgr/cmt_make_shlib_common.sh : return a status value which
632        reflects the success or failure of the shared library build
633        command.
634
635        * src/cmt_cvs.cxx (class CvsImplementation): Discard the versions
636        specified with wild cards in the recursive checkout.
637
638        * src/cmt_triggers.cxx: Protect the error messages in the trigger
639        facility by Cmt::quiet.
640
641        * src/cmt_constituent.cxx (class constituents_action_iterator):
642        temporarily discard the -triggers option.
643
6442001-08-24  Christian Arnault  <carnault@lxplus011.cern.ch> 38
645
646        Tagging v1r9p2001p0824
647
6482001-08-24  Christian Arnault  <carnault@lxplus011.cern.ch> 38
649
650        * mgr/cmt_system.sh: Improve the reliability of the cmt_system.sh
651        script against variants of "fs sysname"
652
6532001-08-23  Christian Arnault  <carnault@lxplus030.cern.ch> 37
654
655        * src/cmt_cvs.cxx (class CvsImplementation): Since the tag filter
656        is back to cmtcvs.cxx, the temporary forced tag filter in CMT is
657        removed.
658
659        * src/setup.zsh: upgrade the completion for the broadcast command.
660
661        * src/cmt_parser.cxx (do_broadcast): Make the -select independent
662        of the -local or -global options. This is achieved by adding a
663        "path_selections" list only managed by the -depth, -local -global
664        modifiers while the "selections" list is managed by the -select
665        modifier. The -exclude is left unchanged.
666
6672001-08-22  Christian Arnault  <carnault@lxplus024.cern.ch> 36
668
669        * src/cmt_cvs.cxx (class CvsImplementation): Add the possibility
670        to transmit a flag to the CVS pluggin, by inserting a /cmtcvstest
671        in the module name to import. This will have to be decoded by the
672        CVS pluggin itself !!
673
6742001-08-21  Christian Arnault  <carnault@lxplus013.cern.ch> 35
675
676        * src/setup.tcsh: Improving the tcsh completion mechanism (for cmt co).
677
678        * src/setup.zsh: Improving the zsh completion mechanism (for cmt co).
679
680        * src/cmt_cvs.cxx (class CvsImplementation): Converging on HEAD
681        management strategy...
682
683        Starting implementation of the Atlas filter for CVS tags right
684        into cmt_cvs.cxx rather than inside the CVS pluggin...
685
6862001-08-20  Christian Arnault  <carnault@lxplus028.cern.ch> 34
687
688        * src/cmt_cvs.cxx (class CvsImplementation): Improving the
689        recursive checkout process
690
6912001-08-20    <arnault@lal.in2p3.fr> 33
692
693        * src\cmt_cvs.cxx (class CvsImplementation): Reorganizing some CVS operations:
694          - Apply the CMTCVSOFFSET env. variable to all actions (tags, branches, subpackages)
695          - cleanup checkout algorithms (remove some obsolete variables)
696          - add the -requirements <requirements-file-path> option to checkout according to
697            a set of use statements.
698          - remove the inheritance to Awk of CvsImplementation to split the filter into 2
699            phases (implemented as 2 separated Awk derived classes) RecursivePass1 and
700            RecursivePass2.
701
7022001-08-16  Christian Arnault  <carnault@lxplus046.cern.ch> 32
703
704        * src/cmt_symbol.cxx (print): Bug in path_remove when the
705        specified path variable only contained one item : the remove
706        operation was not applied.
707
7082001-07-20  Christian Arnault  <arnault@lal.in2p3.fr> 31
709
710        * src/cmt_version.h: setting the patch v1r9p20010720
711
7122001-07-20  Christian Arnault  <carnault@lxplus019.cern.ch> 30
713
714        * src/cmt_regexp.h (cmt_regexp::begin): Add an optional pos
715        argument to the begin method.
716
717        * doc/CMTDoc.html: Improvements, English cleanup...
718
7192001-07-18  Christian Arnault  <carnault@lxplus041.cern.ch> 29
720
721        * src/cmt_cvs.cxx (CvsImplementation::checkout_package): Change
722        the mechanism to get top files, since the " -d . " does not work
723        anymore when CVSROOT is set to kserver!!!!
724
7252001-07-16  Christian Arnault  <carnault@lxplus030.cern.ch> 28
726
727        * doc/CMTDoc.html: Old PREFIX fragment variable has been replaced
728        by FILEPATH long ago. This was not upgraded in the doc.
729
730        * fragments/constituent: The -f <file> MUST be specified BEFORE
731        other Make flags!!
732
733        * fragments/dependencies: Tried to comment out the dependencies to
734        cmt_path.make etc... but it confused the dependencies fragment
735        production. Uncomment it but need to understand the side effect.
736
7372001-07-09  Christian Arnault  <carnault@lxplus012.cern.ch> 27
738
739        * src/cmt_generator.cxx (build_readme): Bug: the VERSION variable
740        was not used for installing the readme_trailer (although the
741        documentation was mentioning it)
742
7432001-07-04  Christian Arnault  <carnault@lxplus034.cern.ch> 26
744
745        * src/cmt_version.h: setting the patch v1r9p20010704
746
7472001-07-02  Christian Arnault  <carnault@lxplus034.cern.ch> 25
748
749        * fragments/dependencies: Cleaning some old debug printouts.
750
751        * src/cmt_cvs.cxx (class CvsImplementation): Bug in replacing the
752        wild card expression. v5r* has to be replaced by v5r0 while v5*
753        has to be replaced by v5 in case no matching tag exists in the CVS
754        repository.  Other bug : All split operations should be performed
755        against " \t" (include tab character)
756
7572001-06-29  Christian Arnault  <carnault@lxplus047.cern.ch> 24
758
759        * src/cmt_cvs.cxx (class CvsImplementation): Final Validation of
760        the change in the implementation of the m_installed stack used to
761        avoid recursion due to dependency cycles.
762
7632001-06-22  Christian Arnault  <carnault@lxplus020.cern.ch> 23
764
765        * src/cmt_cvs.cxx (class CvsImplementation): doing some
766        optimizations for the big checkout operations.
767
768        * src/cmt_parser.cxx (do_config): Remove .[n]make files also from
769        the binary directory.
770
771        * src/cmt_cvs.cxx (class CvsImplementation): Always fetch the cmt
772        branch at HEAD even if the checkout operation is applied to a
773        required tag (temporary feature).
774
7752001-06-18    <arnault@lal.in2p3.fr> 22
776
777        * src\cmt_cvs.cxx (class CvsImplementation): insert a space
778        between top tags and other tags.
779
780        * mgr\cmt_make_shlib.bat: Write extra options received through
781        arguments into a temporary option file, used by @<optionfile> to
782        resolve line-too-long prolems.
783
784        * fragments\nmake\cpp_library:
785        * fragments\nmake\cpp:
786        Add the /Tp qualifier for allowing non-standard file suffixes.
787
7882001-06-05  Christian Arnault  <arnault@lal.in2p3.fr> 22
789
790        * src/cmt_use.cxx (class use_action_iterator): Default to the
791        -no_auto_import was to keep the most recent specification. Change
792        this to always request auto_import by default, (unless otherwise
793        specified)
794
7952001-06-01  Christian Arnault  <arnault@lal.in2p3.fr> 22
796
797        * src/cmt_parser.cxx (do_broadcast): Bug fix in do_broadcast: the
798        -begin option wrongly implied the -global option.
799
8002001-06-13    <arnault@lal.in2p3.fr> 22
801
802        * src/cmt_cvs.cxx (class CvsImplementation): Improving the
803        strategy for getting version tags from the repository:
804          o If a request specifies a tag which is not applied to the
805            requirements file, the specified tag is used to create the
806            version directory but the HEAD is used in the repository.
807          o CvsImplementation::show_cvs_infos () :
808            stores all received infos into xxx_info corresponding
809            local properties. Thus this method is only called once per
810            package.
811          o Error messages are really obtained from the error_info field.
812
8132001-05-30  Christian Arnault  <arnault@lal.in2p3.fr> 22
814
815        * src/cmt_generator.cxx (build_document_makefile):
816        * src/cmt_system.cxx (get_dot_suffix): fix bug for file_names
817        without any suffix
818
819        * src/cmt.h & src/cmt_parser.cxx (set_standard_macros): Add a
820        state standard_macros_done to protect against multiple calls to
821        set_standard_macros.
822
8232001-05-28  Christian Arnault  <arnault@lal.in2p3.fr> 22
824
825        * src/cmt_cvs.cxx (class CvsImplementation): display the tags in a
826        one-per-line basis instead of space separated when doing cmt
827        cvstags.
828
829        * src/cmt_use.cxx (operate): Make the version selector operator a
830        little bit more quiet...
831
8322001-05-25  Christian Arnault  <arnault@lal.in2p3.fr> 22
833
834        * mgr/Makefile (demo): improve the gmake check action in the demo
835        target.
836
837        * src/cmt_use.cxx (fill_macro_all): build use_xxx standard macros
838        using macro_append instead of macro.
839
8402001-05-22  Christian Arnault  <arnault@lal.in2p3.fr> 22
841
842        * src/cmt_parser.cxx (do_broadcast): Fix the default (-local)
843        option to act as -depth=1.
844        Improve some error messages.
845
8462001-05-21    <arnault@lal.in2p3.fr> 21
847
848        * src\setup.bat: Improved skeleton for setup.bat. Base it on
849        CMTBIN rather than on CMTCONFIG. Do not override CMTCONFIG if
850        defined by the user. Do not care about PATH for Visual tools.
851
852        * mgr\install.mak: change the strategy for building the setup.bat
853        script for CMT itself at INSTALL time. Now copy ..\src\setup.bat
854        skeleton.
855
856        * mgr\requirements: Fix WIN32/VisualC tag definitions and PATH
857        settings for cleaner handling of default tag overriding.
858
859        * src\cmt_use.cxx (operate): Implement the algorithm for using
860        aliases to alternate version specification in uses.
861
862-------------------------------------------------------------------------------------
8632001-05-18  Christian Arnault  <arnault@lal.in2p3.fr> 21
864
865        -> Tag CMTv1r9p20010521
866
867        * src/cmt_use.cxx (show_sub_uses): Start the implementation of
868        version_alias and path_alias for equivalencing two version naming
869        policies.
870
871        * src/cmt_cvs.cxx (class CvsImplementation): Adding the -o offset
872        option to cmt checkout for specifying a global offset to the base
873        CVS repository. This offset will be prepended to all modules
874        during the various CVS operations.
875
876        the m_offset attribute is added to the CvsImplementation class.
877
878        (class CvsImplementation): Improve protection against CVS modules
879        not found.
880       
881        (class CvsImplementation): Added the --help option the cmt checkout.
882
8832001-07-10  Christian Arnault  <carnault@lxplus017.cern.ch> b-21
884
885        * mgr/requirements: add the -tag=$(tag) option to the
886        build_dependencies macro.
887
888        * fragments/dependencies: take the improvements into account.
889
890        * src/cmt_generator.cxx (build_dependencies): Improve the
891        dependency builder: re-generate all entries of the
892        <constituent>_dependencies.make that are missing from the complete
893        source list (thus regenerate it when it is empty).
894        Optimize the file scan for getting the new source list.
895
896        * src/cmt_parser.cxx (do_build_dependencies): Dynamically shifts
897        arguments of the build dependencies command to keep only the
898        new-source-list. The complete command being
899        "cmt <args> build dependencies <constituent-name> <new-source-list>"
900       
901        (do_config): drop all makefile fragments from the mgr/cmt
902        directory AND from the binary directory.
903
9042001-05-11  Christian Arnault  <arnault@lal.in2p3.fr> 20
905
906        Moving to v1r8
907       
908       
9092001-05-11  Christian Arnault  <arnault@lal.in2p3.fr> 19
910
911        * src/cmt_deps_builder.cxx ((istream& input,
912                               const cmt_string& dir_name,
913                               int current_path_index,
914                               const CmtSystem::cmt_string_vector& include_paths,
915                               const CmtSystem::cmt_string_vector& substitutions,
916                               CmtSystem::cmt_string_vector& all_deps,
917                               CmtSystem::cmt_string_vector& deps)): Augmented local internal
918        line buffer (from 1024 to 16384).
919
920        * doc/CMTDoc.html: document the new <package>_root macro
921
922        * src/cmt_parser.cxx (set_standard_macros) (get_best_form): Define
923        a new set of standard macros using the pattern <package>_root
924        similar to <PACKAGE>ROOT except that this new definition uses the
925        get_best_form, with a relative path to the package. The
926        <PACKAGE>ROOT macro is restored to the previous convention, that
927        it uses the absolute path.
928       
929        * src/cmt_use.cxx (fill_includes_macro): Adapt the
930        fill_includes_macro to use the new <package>_root standard macro
931
932
9332001-05-10  Christian Arnault  <arnault@lal.in2p3.fr> 18
934
935        * src/cmt_parser.cxx (do_broadcast): Add the -begin=<pattern>
936        option to start the broadcast loop from a given package. This
937        option can be combined with other options such as -select or
938        -exclude.
939
940        * src/cmt_generator.cxx (filter_paths): Suppress two unused
941        variables.
942
943        * src/cmt_use.cxx (add): Bug fixing: during the discovery of
944        versions requested for a given package, the discarded versions
945        were not correctly replaced by the finally selected version,
946        especially in the Use::get_paths method. The
947        Use::get_selected_version has been added to obtain the effective
948        replacement for a discarded version.
949
950        * fragments/check_application: suppress the ". setup.sh" before
951        application run.
952
9532001-05-04  Christian Arnault  <carnault@lxplus023.cern.ch> 17
954
955        * src/cmt_parser.cxx (set_standard_macros): The production of all
956        use_xxx standard macros now is based on a "macro_append" keyword
957        instead of "macro", since "macro" resets all previous
958        definitions. Therefore if the user's requirements did augment
959        those use_xxx macros, these specifications would be ignored.
960       
961        (do_broadcast): Set the -local option to broadcast the
962        default. Add the -global option to revert to the old default (with
963        no selection and to any depth)
964
9652001-05-03  Christian Arnault  <carnault@lxplus019.cern.ch> 17
966
967        * src/cmt_symbol.cxx (add_value_to_list): A new macro or set
968        keyword resets (discards) all previous definitions for the
969        corresponding symbol.
970
971        * src/cmt_symbol.h (class SymbolValueList): Added an attribute
972        discarded for symbol resetting.
973
974        * src/cmt_parser.cxx (print_macros): Exclude scripts from macros
975        defined in the $(tag).make file.
976
9772001-04-27  Christian Arnault  <carnault@lxplus022.cern.ch> 16
978
979        * src/cmt_parser.cxx (get_best_form): Validate the compression
980        algorithm for paths to packages (only for the macro <PACKAGE>ROOT
981        - this is still not true for the <PACKAGE>ROOT environment
982        variable) into a relative form when it is shorter than the
983        absolute form.
984
985        * src/cmt_system.cxx (compress_path): Fix the algorithm for
986        compressing the patterns "aaaa/xxxx/../bbbb" into aaaa/bbbb.
987
988        * src/cmt_generator.cxx (filter_paths): use
989        CmtSystem::compress_path instead of duplicating its algorithm for
990        erasing "/aaa/.." patterns
991
9922001-04-25  Christian Arnault  <carnault@lxplus022.cern.ch> 15
993
994        * src/cmt_parser.cxx (set_standard_macros): Prepare the production
995        of <PACKAGE>ROOT macros as relative paths rather than absolute
996        ones, when the relative expression is shorter than the absolute
997        one. Temporarily, trigger that feature by setting the
998        CMTTESTPREFIX environment variable until absence of side effects
999        is confirmed.
1000
10012001-04-18  Christian Arnault  <carnault@atlas009.cern.ch> 15
1002
1003        * src/cmt_generator.cxx (build_readme): bug when generating the
1004        readme_trailer fragment : the PACKAGE variable should be reset to
1005        current.
1006
10072001-04-11  Christian Arnault  <arnault@lal.in2p3.fr> 15
1008
1009        * src/cmt_generator.h (class Generator):
1010        * src/cmt_parser.cxx (do_build_readme):
1011        * src/cmt.h (class Cmt): do_build_readme now propagates argument list
1012
1013        * fragments/readme_trailer:
1014        * src/cmt_generator.cxx (build_readme): Added DATE and USER information when building the README.html file. readme_trailer fragment updated accordingly.
1015       
1016        (build_readme): Add the -url=<url> argument to the cmt build
1017        readme command. The specified URL will be used in place of the
1018        package path when generating the URL for used packages.
1019
10202001-04-18  Christian Arnault  <arnault@lal.in2p3.fr> 14
1021
1022        * src/cmt_symbol.cxx (build): In all builder objects, symbol value
1023        lists registered by discarded Uses are now ignored.
1024
1025        * src/cmt_symbol.h (class SymbolValue): cleanup a comment.
1026
1027        * src/cmt_symbol.cxx (print): protect setup script execution
1028        against missing files.
1029
10302001-04-10  Christian Arnault  <arnault@lal.in2p3.fr> 13
1031
1032        * src/cmt_generator.cxx (build_readme):
1033        * fragments/readme_use: building readme.html requires to know the
1034        mgr/cmt style of each used package. This fragment now requires a
1035        fourth variable MGRSTYLE which reflects the use->mgr_style
1036        attribute. Generator::build_readme fills in this new variable.
1037
10382001-04-06  Christian Arnault  <arnault@lal.in2p3.fr> 12
1039
1040        * src/cmt_parser.cxx
1041        (reach_current_package): Use CmtSystem::getenv instead of base getenv
1042       
1043        * src/cmt_symbol.cxx (action): Now really private stuff is
1044        selected when access is at UserMode and scope is Private.
1045
1046        * src/cmt_use.cxx (add): This method does not need to maintain
1047        current scope and access mode any longer.
1048
1049        * src/cmt_parser.cxx (parse_requirements): Cmt::parse_requirements
1050        now manages the AccessMode and Scope when recursing into
1051        requirements files of used packages.
1052
1053        Cmt::scope          handles the sticky state provided by private/public statements
1054        Cmt::current_access handles the access mode that reflects the situation of the user
1055
1056        * src/cmt_parser.h (enum): introduce the AccessMode to distinguish
1057        between DeveloperMode (when pwd is in the current package
1058        directory) and UserMode (otherwise).
1059
1060        * src/cmt.h (class Cmt): Cmt::current_mode is now current_access
1061        and is of type AccessMode
1062
1063        * src/cmt_parser.cxx (reach_current_package): Use
1064        CmtSystem::getenv instead of base getenv
1065
1066        * src/cmt_use.cxx (Use::get_paths):
1067        * src/cmt_pattern.cxx (Pattern::apply ()) : bug in computing the
1068        path between two Uses. The result now includes the current Use.
1069
10702001-04-05    <arnault@lal.in2p3.fr> 12
1071
1072        * src\cmt_tag.cxx (Tag::add(const cmt_string& name, int priority):
1073        clear a newly created Tag object (to deal with the reuse of old
1074        objects)
1075
1076        * src\cmt_pattern.cxx (Pattern::add) : clear a newly created
1077        pattern object (to deal with the reuse of old objects)
1078
1079        * src\cmt_use.h (class Use): Add Use::author_action and
1080        Use::manager_action to fill in the author and manager information.
1081
1082        * src\cmt_parser.cxx (select): fill in author and manager values
1083        with the complete line. When several author and manager statements
1084        are provided, fill in as several lines (separated with a new-line).
1085
1086        * src\cmt_generator.cxx (analyze_file (const Constituent&
1087        constituent, const cmt_string& file) : production of objects for
1088        libraries and applications is strictly identical.
1089
10902001-04-03  Christian Arnault  <arnault@lal.in2p3.fr> 11
1091
1092        * src/cmt_constituent.cxx (clear): constituent.parameters was not
1093        cleared in Constituent::clear
1094
1095        * src/cmt_symbol.cxx (build): add cleanup ValueList objects after
1096        their addition for ensuring a really new value (due to cmt_string
1097        optimizing)
1098
10992001-04-03  Christian Arnault  <carnault@atlas006.cern.ch> 10
1100
1101        * mgr/Makefile: Operate the demo targets on different make action
1102        lines
1103
1104        * src/Makefile.header: Added -tag=$(tag) to cmt actions
1105
1106        * fragments/generator_header: create the output directory if
1107        needed
1108
11092001-04-02    <arnault@lal.in2p3.fr> 9
1110
1111        * fragments\nmake\constituent: added the -tag=$(tag) option to cmt
1112        build actions
1113
1114        * src\cmt_parser.cxx (parser): show_constituentxxx recursively
1115        reads used requirements files
1116
1117        * src\cmt_pattern.cxx (Pattern::apply () const): protection added
1118        for the case where the pattern is applied to the package that
1119        defines it.
1120
11212001-03-29  Christian Arnault  <carnault@atlas005.cern.ch> 8
1122
1123        * src/cmt_use.cxx (get_paths):
1124        * src/cmt_use.h (class Use):
1125        * src/cmt_pattern.h (class IgnorePattern):
1126        * src/cmt_pattern.cxx (const apply): Bug in apply global patterns
1127        : a pattern defined in one package should only be applied to the
1128        Uses that are on one of the paths between the current Use and the
1129        one wher the pattern is defined (and not to the Uses that never
1130        pretend to inherit that pattern!!!)
1131
1132        This required to implement the Use::get_paths which fills in the
1133        inclusive list of all Uses that are between two Uses.
1134
11352001-03-27  Christian Arnault  <carnault@lxplus017.cern.ch> 7
1136
1137        * fragments/dependencies: protection against missing dependency
1138        make fragment during clean operations.
1139
1140        * src/cmt_constituent.cxx (class constituents_action_iterator):
1141        the -suffix= option was hidden by the user variable specification
1142        while parsing the constituent parameters.
1143
11442001-03-23  Christian Arnault  <carnault@atlas007.cern.ch> 6
1145
1146        * mgr/requirements: clean up WIN32 tag variants definitions
1147
1148        * src/Makefile.header (setup.make): Display of the target in case
1149        of target not found (.DEFAULT)
1150
1151        * fragments/make_setup (csh): few checks
1152
1153        * fragments/installer: add the creation of $(install_dir) if
1154        needed
1155
11562001-03-21  Christian Arnault  <arnault@lal.in2p3.fr> 5
1157
1158        * src/cmt_parser.cxx (parse_arguments): When the tag specified in
1159        the command line arguments (using -tag=<tag>) is the same as
1160        CMTCONFIG, then still validate the tag given by uname
1161
1162        * fragments/dependencies: generate
1163        ${CONSTITUENT}_dependencies.make into $(bin)
1164
1165        * fragments/constituent: generate ${CONSTITUENT}.make into $(bin)
1166
1167        * src/cmt_constituent.cxx (parse):
1168        * src/cmt_constituent.h (class Constituent): Added the two-step
1169        parsing of the constituents specifications : first stage during
1170        parsing of the requirements file, parameters are simply stored in
1171        the constituent object and not interpreted. Second stage : after
1172        building the standard macros (once requirements files have
1173        entirely been read) then constituent objects are parsed.
1174
1175        * src/cmt_parser.cxx: Add Constituent::parse_all in
1176        Cmt::set_standard_macros to finalize the constituent
1177        parsing. Install set_standard_macros in several additional actions
1178
1179
1180
11812001-03-16  Christian Arnault  <arnault@lal.in2p3.fr> 4
1182
1183        * src/cmt_cvs.cxx (class CvsImplementation): Get the files at the
1184        top directory when doing a cmt checkout. 
1185
1186        Only checkout at head for the top package (ie do not recurse at
1187        head) and when -r is not specified.
1188
1189        * src/cmt_symbol.cxx (resolve_value_for_macros): Perform the
1190        substitution of ${} to %% (or reverse) even if the env. var. is
1191        not defined in CMT.
1192
1193        * src/cmt_parser.cxx (install_setup_scripts): Setup scripts on
1194        Windows generate the temporary expansion script in
1195        %HOMEDRIVE%%HOMEPATH%.
1196
11972001-03-16  Christian Arnault  <carnault@atlas009.cern.ch> 3
1198
1199        * mgr/requirements: clean up variants for VisualC and
1200        VisualC/debug
1201
12022001-03-15    <arnault@lal.in2p3.fr> 2
1203
1204        * src\cmt_use.cxx (class use_action_iterator): Strange name
1205        conflict: the use_action_iterator::set method is in conflict with
1206        something else when the class is named "action_iterator" (is it a
1207        conflict with the same private class defined in Symbol.cxx ??)
1208
1209        * src\NMakefile.header (cmtexe): Fix for re-building cmt when
1210        cmt.exe does not exist.
1211
12122001-03-13  Christian Arnault  <arnault@lal.in2p3.fr> 1
1213
1214        * src/cmt_use.cxx (class action_iterator): Introducing the
1215        action_iterator class for managing the local expansion of macros
1216        in the syntax parser (similart to what was done in Symbol::action)
1217
1218        * src/cmt_generator.cxx (Generator::build_make_setup) when
1219        generating setup.make, the default value for constituents is
1220        extracted from the constituents macro.
1221
12222001-03-06  Christian Arnault  <arnault@lal.in2p3.fr>
1223
1224        * src/cmt_cvs.cxx (class CvsImplementation): Show both top tags
1225        and non-top tags in cmt cvstags.
1226
1227        * doc/CMT.htm: Addition of several slide shows (from Atlas)
1228
1229        * mgr/cmt_buildcvsinfos2.sh (error): The awk script had to be
1230        protected against multiple ocurrences of the /symbols/,/locks/
1231        pattern.
1232
1233        Implement both in python and in shell script the differntiated
1234        production of top tags and non-top tags. Top tags are the set of
1235        tags sharing the most recent CVS tagged version id (ie. the HEAD
1236        may be more recent)
1237
12382001-03-05    <arnault@lal.in2p3.fr>
1239
1240        * src\cmt_parser.cxx (do_build_library_links): Handle libraries
1241        specified as a full path in <package>_libraries
1242
1243        * src\cmt_parser.cxx (print_context):
1244        * src\cmt_symbol.cxx (all_print): Use one line per
1245        env. var. assignment when generating setup scripts (instead of ;
1246        separated instructions) . The latter style should be no longer
1247        needed since we use temporary files.
1248
1249        * src\cmt_parser.cxx (set_standard_macros): Add CMTCONFIG to the
1250        standard sets, so as to let it known as a plain "symbol"
1251
12522001-03-02    <arnault@lal.in2p3.fr>
1253
1254        * src\cmt_system.h: introduce the CmtSystem::ev_open () and
1255        CmtSystem::ev_close () to get the OS-dependent pattern for
1256        environment variable definition.
1257
1258        * src\cmt_symbol.cxx (resolve_value_for_macros): Substitute
1259        patterns ${xxx} or %xxx% to the appropriate OS-dependent pattern
1260        when producing "set" values only (this is only done when the
1261        pattern is not already the good one)
1262
1263        * src\cmt_parser.cxx (install_setup_scripts): Changed
1264        >>${tempfile} into >${tempfile} in setup scripts (fix a constraint
1265        in csh)
1266
12672001-02-26  Christian Arnault  <arnault@lal.in2p3.fr>
1268
1269        * src/cmt_parser.cxx (do_build_temporary_name): Add the build
1270        temporary_name command to supply that missing function on various
1271        shells.
1272        (install_test_setup_scripts): Apply this new build service to
1273        setup scripts generation.
1274
1275        * src/Makefile.header: Needed a trailing end-of-line
1276
12772001-02-15  Christian Arnault  <arnault@lal.in2p3.fr>
1278
1279        * src/cmt_cvs.cxx (class CvsImplementation): Fix misuse of
1280        checkout_package arguments (confusion between package path and
1281        checkout directory)
1282
12832001-02-26    <arnault@lal.in2p3.fr>
1284
1285        * src\cmt_parser.cxx (install_test_setup_scripts): use mktemp for
1286        setup scripts.
1287
1288        * mgr\requirements: Suppress local private configuration of
1289        MSVC++. It has to be done previously to operate on CMT (even
1290        before making the INSTALL.bat)
1291
12922001-02-26  Christian Arnault  <arnault@lal.in2p3.fr>
1293
1294        * src/cmt_deps_builder.cxx ((char* ptr,
1295                              state_def& state,
1296                              const cmt_string& dir_name,
1297                              int current_path_index,
1298                              const CmtSystem::cmt_string_vector& include_paths,
1299                              const CmtSystem::cmt_string_vector& substitutions,
1300                              CmtSystem::cmt_string_vector& all_deps,
1301                              CmtSystem::cmt_string_vector& deps)
1302        * src/cmt_generator.cxx ((const cmt_string& file_name)
1303
1304        Rollback recent change to work on cmt_strings rather than char* to
1305        restore speed.
1306
13072001-02-15  Christian Arnault  <arnault@lal.in2p3.fr>
1308
1309        * src/cmt_generator.cxx (build_dependencies): Restore the
1310        mechanism that takes into account the arguments, and the source
1311        list when -all_sources option is provided.
1312
1313        * mgr/requirements: change /machine:I386 into /machine:IX86 as
1314        link option for VisualC
1315
13162001-02-13    <arnault@lal.in2p3.fr>
1317
1318        * src\cmt_generator.cxx (build_dependencies): Do not require the
1319        source list from the arguments. Instead, get the sources directly
1320        from the constituents definition.
1321
1322        The "cmt build dependencies" now only requires the constituent name.
1323
1324        * src\cmt_deps_builder.cxx: Read files at once into a cmt_string
1325        and work from the text instead of reainf line by line from the file.
1326
1327        Install the detection of fortran include statements
1328
13292001-02-06    <arnault@lal.in2p3.fr>
1330
1331        * src\cmt_use.cxx: clean up space & tabs
1332
1333        * cmt_parser.cxx (parse_requirements_text): Abort the parser in
1334        case of error, but only for check configuration command.
1335
1336        * NMakefile.header (lex_echo): Add -quiet option to cmt command
1337        except cmt check configuration
1338       
1339        * constituents.nmake: Add -quiet option to cmt command
1340
13412001-01-30    <arnault@lal.in2p3.fr>
1342
1343        * all dsp fragments : suppress the Win32 Release
1344        configuration. Only keep the Win32 Debug. This makes possible the
1345        generation of msdev using the syntax cmt build msdev
1346        -tag=VisualCdbg
1347
13482001-01-30    <arnault@lal.in2p3.fr>
1349
1350        * Add cmt_buildcvsinfos.py first attempt to make the cvs script
1351        written in Python
1352
1353        * requirements: Consistently base Windows tag on VisualC rather
1354        than WIN32
1355
1356        upgraded setup.tcsh setup.zsh
1357
1358        introduced cmt show include_dirs
1359       
1360        introduced cmt show constituent <name>
1361
1362        bug in Pattern::add : overridden patterns were not cleared.
1363
1364        cmt config must recursively get used packages (at least to get patterns)
1365
1366        introduced cmt show pattern_names (at least for completion mechanisms) 
1367          new action : action_show_pattern_names
1368
1369        experimental work started on build triggers
1370       
1371          macro build_triggers
1372                implied_library_prefix
1373                implied_library_sufffix
1374
1375          new library option -triggers
1376          new constituent attribute build_triggers
1377          new fragment dependencies_and_triggers for libraries
1378
1379        bug in cmt_system.cxx::scan_dir
1380
1381        Recursively get all requirements file in cmt config action
1382
1383
1384        Changed strategy for argument parsing error detection
1385       
13862001-01-30    <arnault@lal.in2p3.fr>
1387
1388        * cmt_use.cxx ((const cmt_string& from_path) : bug in detection of
1389        "use pack " without version specification at all (ie equiv. to
1390        *). We needed to check we are on a real CMT package.
1391
1392        * cmt_constituent.cxx (class action_iterator): Expand the macros
1393        before acting upon a constituent specification. Each expanded word
1394        may then result in several words. Thus the line parser is
1395        re-implemented through a local operator class "action_iterator",
1396        in charge of filling up a new constituent object from the expanded
1397        statement. (Note that this mechanism could perfectly be reused for
1398        other statements eg "use" !!!)
1399
1400        * cmt_parser.cxx (set_standard_macros): Implement all_constituents
1401        and all_constituentsclean unconditionally.
1402
1403        * NMakefile.header (checkuses): if defined statements require that
1404        the macro to test is provided without quotes.
1405
1406        * cmt_generator.cxx: Apply the new convention of installing object
1407        files into $(bin)${CONSTITUENTS} also for applications (was only
1408        done for libraries)
1409
1410        * cmt_parser.cxx (print_context): Take the current CONFIG name
1411        from CmtSystem::get_cmt_config rather than recursively calling
1412        "cmt system", when generating setup scripts.
1413
1414        * cmt_cvs.cxx (class CvsImplementation): Use '/' ínstead of
1415        CmtSystem::file_separator for CVS-only file specs.
1416
14172000-12-26    <arnault@lal.in2p3.fr>
1418
1419        * cmt_fragment.h (class Fragment and FragmentHandle): Install all
1420        variants of (win)copy methods that act upon a cmt_string instead
1421        of a FILE*.
1422
1423        * cmt_model.cxx: Create the implementation file for CmtModel
1424
1425        * cmt_model.h (class CmtModel): Create the CmtModel class
1426
1427        * cmt_parser.cxx (do_expand_model): Add the new command verb :
1428        'expand model' and all associated features
1429        (do_expand_model): call the CmtModel::expand
1430
1431
Note: See TracBrowser for help on using the repository browser.