source: CMT/v1r19/ChangeLog@ 5

Last change on this file since 5 was 5, checked in by arnault, 21 years ago

dos2unix several files

File size: 175.6 KB
RevLine 
[5]12005-03-02 Christian Arnault <arnault@lal.in2p3.fr> 254
[3]2
3 * source/cmt_symbol.h (class Symbol): Add an optional argument to build_macro_value to switch display mode
4
5 * source/cmt_symbol.cxx (show_macro): Improve the display mode so as to display only once the macro construction steps
6
7 * source/cmt_parser.cxx (guess_current_project): Regenerate CMTPATH from the effective set of subprojects.
8
9 * source/cmt_commands.cxx (parse): Handle unexpected arguments
10
11 * source/cmt_error.cxx (class Error): Added unknown_command error
12 * source/cmt_error.h (class CmtError): Added unknown_command error
13
14 * source/cmt_commands.cxx (do_filter): Missing implementation for the filter command
15
[5]162005-03-01 Christian Arnault <arnault@lal.in2p3.fr> 254
[3]17
18 * source/cmt_tag.cxx (use_operand): Add way of checking internal structure of a tag
19 * source/cmt_tag.cxx (use_ref): Add way of checking internal structure of a tag
20
21 * source/cmt_tag.h (class Tag): Add way of checking internal structure of a tag
22
23 * source/cmt_symbol.h (class Symbol): Add way of checking if a tag is used by symbols.
24
25 * source/cmt_symbol.cxx (print): Suppress the "export" action after defining an alias in Sh mode
26
27 * source/cmt_project.cxx: Introduce use_action
28
29 * source/cmt_syntax.cxx (SyntaxParser): Add support to use statements in project files
30
31 * source/cmt_project.cxx (create_project): Add comments
32
[5]332005-02-14 Christian Arnault <arnault@lal.in2p3.fr> 253
34
35 * src/Makefile.header (common_target): mktemp refuses to create
36 subdirectory when TMPDIR specifies something different than /tmp
37 that does not exist yet.
38
392005-02-07 Christian Arnault <arnault@lal.in2p3.fr> 252
40
41 * source/cmt_system.cxx (scan_dir): Fix a bug that killed the cmt show packages command in some cases
42
432005-02-03 <arnault@lal.in2p3.fr> 251
44
45 * source/cmt_commands.cxx (do_cvstags): fix arg counting
46 * source/cmt_commands.cxx (do_cvssubpackages): fix arg counting
47
[3]482004-12-14 <arnault@lal.in2p3.fr> 250
49
50 * source/cmt_parser.cxx (class StandardMacroBuilder): Fix a bug
51 that caused a premature exit from the scan of constituents.
52
532004-12-13 <arnault@lal.in2p3.fr> 249
54
55 * source/cmt_constituent.cxx (parse): Add a specific behaviour for
56 documents generated for actions so as to keep the action_value
57 definition unparsed.
58
592004-12-03 <arnault@lal.in2p3.fr> 248
60
61 * mgr/fragments/nmake/library: apply patches from Pere about installing pdb files for Debug mode
62
632004-12-01 <arnault@lal.in2p3.fr> 247
64
65 * source/cmt_version.h (CMTVERSION): Prepare for tagging 20041201
66
67 * source/cmt.h (class Cmt): Fix typo
68
692004-12-01 Christian Arnault <arnault@lal.in2p3.fr> 246
70
71 * mgr/cmt_uninstall_action.sh: Better management of directory removal
72
732004-12-01 Christian Arnault <arnault@lal.in2p3.fr> 246
74
75 * mgr/fragments/application (install):
76 * mgr/fragments/library (install):
77 * mgr/fragments/library_no_share (install):
78 * mgr/fragments/install_includes_header (install):
79 * mgr/fragments/jar (install):
80 * mgr/fragments/java_header (install): Remove the connection
81 between uninstall and clean targets. So now when gmake clean is
82 run no uinstallation occurs in the installation area.
83
842004-11-11 <arnault@lal.in2p3.fr> 245
85
86 * source/cmt_parser.h:
87 * source/cmt_project.cxx:
88 * source/cmt_project.h:
89 * source/cmt_syntax.cxx:
90 * source/cmt_parser.cxx:
91 * doc/CMTDoc.xml: Suppress obsolete (and useless) makefile strategy
92
93 * source/cmt_parser.cxx (print_context): the setup strategy is
94 really used to generate the ROOT and CONFIG env. vars.
95
96 * source/cmt_parser.cxx (get_setup_strategy): Get the setup
97 strategy for each use so as to really build ROOT or CONFIG
98 according to the real project of the use
99
1002004-11-09 <arnault@lal.in2p3.fr> 244
101
102 * source/cmt_version.h: Preparing version tag for v1r18
103
104 * mgr/requirements:
105 * source/cmt_parser.h:
106 * source/cmt_projects.cxx: Change default build strategy to without_installarea
107
1082004-11-08 <arnault@lal.in2p3.fr> 243
109
110 * mgr/Makefile (docs): Do some cleanup
111
112 * source/cmt_parser.cxx (do_build_library_links): make use of the
113 new library_install_command macro
114
115 * mgr/requirements: Create a new macro library_install_command for
116 defining how to actually install libraries through the
117 <package>_libraries macro.
118
1192004-11-02 Christian Arnault <arnault@lal.in2p3.fr> 242
120
121 * source/cmt_commands.cxx (option_tag): When resetting tags one
122 need to also call again guess_current_project
123
124 (option_tag): In fact on can simply reset all active tags, and
125 regenerate activations rather than clearing all tags.
126
127 * source/cmt_parser.cxx (guess_current_project): Fix a typo
128
129 * source/cmt_tag.cxx (get_default): Make the tag Default a static
130 object to avoid killing it.
131
132
1332004-11-01 <arnault@lal.in2p3.fr> 241
134
135 * source/cmt_parser.cxx (guess_current_project): Implement the
136 detection of the current project
137
138 * source/cmt_parser.cxx (configure): Add the detection of the
139 current project through a project file above the current directory
140
1412004-10-30 Christian Arnault <arnault@lal.in2p3.fr> 240
142
143 * source/cmt_parser.cxx (class StandardMacroBuilder): Apply the
144 cmtpath_patterns before setting up the installarea parameters so
145 as to let the patterns really define the
146 <project>_installarea_prefix for instance.
147
148 (set_standard_macros): Remove this first setting of installarea
149 because it's better done only once.
150
151 * mgr/fragments/constituent: Remove a debug message
152
153 * mgr/requirements: Prepare for new tag v1r18
154
155 * mgr/cmt_uninstall_action.sh:
156 * mgr/cmt_install_action.sh: Late fixes
157
1582004-10-29 <arnault@lal.in2p3.fr> 239
159
160 * source/cmt_parser.cxx (set_standard_macros): Restructure the
161 StandardMacroBuilder to provide all steps. Move upward the
162 fill_for_install_area to make all cmtpath_patterns applied before
163 manging other macros. This caused the include_dirs installed in a
164 cmtpath_pattern useless.
165
166 * source/cmt_list.h (class cmt_list): few fixes for CYGWIN
167
168 * mgr/requirements: CYGWIN tag implies Linux
169
170 * mgr/fragments/install_includes_header (uninstall):
171 * mgr/fragments/java_header (install):
172 * mgr/fragments/jar (install):
173 * mgr/fragments/library_no_share (install):
174 * mgr/fragments/library (install):
175 * mgr/fragments/application (install):
176 * mgr/cmt_install_action.sh:
177 * mgr/cmt_uninstall_action.sh: Improve the argument passing scheme
178 to make it more flexible. Add an argument to get cmtpath, to check
179 it against pwd. However this should never occur since cmt itself
180 is supposed to never generate CMTNSTALLAREA when this is not
181 appropriate.
182
183 * source/cmt_install_area.cxx (setup_current_installarea): Consider <project>_installarea_prefix
184
185 * source/cmt_system.cxx (compress_path): Fix a bug: when detecting
186 the aaa/bbb/../ccc pattern, "bbb" cannot be ".." nor "." nor
187 contain a macro reference.
188
1892004-10-25 <arnault@lal.in2p3.fr> 238
190
191 * source/cmt_parser.cxx (do_run): Force the settings of EVs
192 before launching the run action
193
194 * source/cmt_parser.cxx (do_broadcast): Force the settings of EVs
195 before launching the bro action
196
197 * source/cmt_commands.cxx (do_run): The run command now transmits all arguments
198
199 * source/cmt_list.h: Prepare a list class for future use. This be
200 used to handle the constituent order mechanisms.
201
202 * mgr/Makefile:
203 * mgr/NMake (post_build): Add a post_build step to re-generate the
204 cmt_dependencies.[n]make file (one version in mgr without the
205 stamps and one version in $(bin) with them)
206
207 * source/cmt_generators.h (class DependencyGenerator):
208 * source/cmt_generators.cxx (build): Add an option -no_stamps to
209 buid dependencies so as to generate a version of the dependency
210 files without the extra stamps specifications and with no stamp
211 file generation. This is need to generate the bootstrap dependency
212 file for cmt itself.
213
214 * source/cmt_generators.cxx:
215 * source/cmt_generators.h (class DependencyGenerator):
216 * source/cmt_generator.h (class CmtGenerator): Revisit the construction of dependencies files:
217 The dependencies file is split as one file fragment per dependency line (ie per file)
218 This dep fragment is installed into $(bin)/<constituent>/*.stamp
219 a dep to this stamp file is installed in the dependency line
220 the stamps file is only touched when it changes
221 All this to ensure that recompilations are done when anythin in th configuration is changed
222
223 * source/cmt_map.h (cmt_vmap): Introduce cmt_vmap to construct
224 maps of objects by value
225
226 * source/cmt.h (class Cmt): Restart of set settings can be
227 manually triggered. Typically to ensure that they are really set
228 just before launching an action
229
230 * mgr/cmt_make_shlib_common.sh (temp_shlib): Suppress the
231 automatic construction of bundles on Darwin
232
233 * source/cmt_system.cxx (add_cmt_path): Adding protections of
234 validity of CMTPATH entries
235
236 * source/cmt.h:
237 * source/cmt_parser.h:
238 * source/cmt_parser.cxx:
239 * source/cmt_command.h:
240 * source/cmt_command.cxx: Introducing classes for command line parsing
241 All decoding of the cmt command line arguments are transfered there.
242 The decoding is also rationalized.
243 actions can be seen as cmt command extensions
244 better preparing of EVs before running actions
245 prepare the Makefile default file before running actions
246 improve the generic management of options
247 * cmt.h: Introduction of the CmtContext class to hold global state variables
248 for Cmt. The Cmt class now only contains static functions.
249
250 * src/source: Major restructuring of the directories:
251 All real sources of cmt now go to ../source
252 ../src only contains stuff that need to be exported
253 ../fragments is transfered to mgr/fragments.
254
255 * doc/gendoc.py (Book.book_start): Produce the revision date of the documentation
256 Install the real version tag in the doc.
257
258 * doc/CMTDoc.xml: Improving the doc
259
2602004-10-17 <arnault@lal.in2p3.fr> 238
261
262 * mgr/cmt_make_shlib_common.sh: Suppress the systematic creation
263 of a bundle in Darwin context
264
2652004-09-28 <arnault@lal.in2p3.fr> 237
266
267 * src/cmt_system.cxx (compress_path): The algorithm must ignore
268 the following pattern: xxxx/$(mmm)/../yyyy which cannot be reduced
269 to xxxx/yyyy. In fact it nows expands the path when macros are in it
270
2712004-09-27 <arnault@lal.in2p3.fr> 237
272
273 * src/NMakefile.header (check_config): Ensure that configuration
274 checking is performed first.
275
276 * src/Makefile.header (check_config): Ensure that configuration
277 checking is performed first.
278
279 * src/cmt_use.cxx (need_new): Only display the incompatible case.
280
281 * src/cmt_use.cxx (reach_package): IncompatibleMajorIds is no
282 longer considered. Id comparison is no longer rejected in any
283 case.
284
285 * src/cmt_use.cxx (compare_versions): Really compare major ids. No
286 longer produce IncompatibleMajorIds
287
288 * src/cmt_use.cxx (enum): Add cases to completely analyze the major ids
289
290 * src/cmt_use.cxx (operate):
291
292 * src/cmt_system.cxx (get_cmt_paths): Suppress the systematic
293 addition of $CMTROOT in CMTPATH items!
294
295 * src/cmt_awk.cxx (scan_path): really stop the too deep recursion
296
2972004-09-01 <arnault@lal.in2p3.fr> 236
298
299 * src/cmt_version.h (CMTVERSION): v1r16p20040901
300
301 * doc/ReleaseNotes.html: Prepare next tagging
302
303 * mgr/Makefile: Adapt for the new CMTBIN convention
304
305 * src/cmt_model.cxx (filter): Substitute <cmt:null/> only just
306 before printing for empty vector elements
307
3082004-08-31 <arnault@lal.in2p3.fr> 235
309
310 * doc/CMTDoc.xml: Improve the doc.
311
312 * src/cmt_model.cxx (strict_expand): Support parameter values enclosed in simple quotes
313 Only display endl at the very end or recursion.
314
315 * src/cmt_project.cxx (configure): Fix typo in tag excludes
316
3172004-08-30 Christian Arnault <arnault@lal.in2p3.fr> 234
318
319 * mgr/requirements: Keep 3 digits for the compiler version
320 * mgr/Makefile: augment support for SLC3 machines
321 * mgr/cmt_linux_version.sh: idem
322
3232004-08-30 <arnault@lal.in2p3.fr> 233
324
325 * doc/CMTDoc.xml:
326 * doc/table.html: Install the reference to CeCILL licences
327 * doc/download.html:
328 * doc/intro.html:
329 * doc/copyright.html:
330
331 * fragments/dependencies: Trigger the reconstruction of dependency
332 file when the setup changes.
333
334 * fragments/constituents_header (first): Do not ovverride
335 <package>_setup.make when identical. This permits its use as a
336 real stamp file to trigger reconstruction of dependency files.
337
338 * mgr/Makefile (cpp): Take into account the new convention for
339 CMTBIN (suffixed with `uname -m`)
340
341 * mgr/cmt_system.sh: improve the default value of CMTCONFIG on Cygwin
342
343 * mgr/requirements: Improve the cleaning and setting of PATH
344 vaiables WRT installation area strategy
345
346 * src/cmt_parser.cxx (dos_script_prefix): Standalone packages
347 don't need ..\.. in the -path option of DOS setup scripts
348
349 * src/setup.sh (CMTBIN): Suffix CMTBIN with `uname -m` on Unix machines
350 * src/setup.csh: idem
351
3522004-08-26 <arnault@lal.in2p3.fr> 232
353
354 * src/setup.bat: Suppress the rem--- lines
355 * src/demo/demoA/init.bat: Suppress the rem--- lines
356 * src/demo/demoB/init.bat: Suppress the rem--- lines
357
3582004-08-25 Christian Arnault <arnault@lal.in2p3.fr> 231
359
360 * src/setup.tcsh: Fix typo
361
362 * src/cmt_license.sh: Add template file to include in a various sources (commented by hash signs)
363 * src/cmt_license.h: Add template file to include in a C++ source
364
365 * src/cmt_parser.cxx (do_expand_model): Add a -test internal
366 option to the expand model command to test regular expressions.
367
368 * src/cmt_regexp.cxx (match): a or_node matches the longest
369 matching alternate patterns, instead of the first one.
370
371 * src/cmt_system.cxx (split): Detect \" and \' patterns and ignore
372 them as word separators. So a text containing "a b c" d e \"x\" will result in 4 fields
373 a b c
374 d
375 e
376 \"x\"
377
378 * src/cmt_model.cxx (strict_expand): Implement the strict model
379 expansion. The new syntax for definning model is:
380
381 <cmts:name att="value" ... /> for a single expansion
382 <cmtv:name att="v1 v2 v3 ..." ... /> for a multiple expansion
383
384 The element <cmt:null/> may be used in a vector value to specify an empty value.
385
386 name is the name of a declared make_fragment as usual.
387
388
3892004-08-23 Christian Arnault <arnault@lal.in2p3.fr> 230
390
391 * src/cmt_regexp.h (class cmt_regexp): Adding comparison operator
392 and extraction operator to regexp::iterator
393
394 * src/cmt_parser.cxx (do_expand_model): Parse the -strict option
395
396 * src/cmt_model.h (class CmtModel): Start designing the support
397 for stricter model expansion (to support model files in XML)
398
399 * src/cmt_license.txt: First introduction of the license text (obtained from CeCILL)
400
401 * src/Makefile.header (all): Evaluate the result of the cmt check
402 configuration and stop Make if it terminates in error.
403
404 * src/cmt_generators.cxx (analyze_file): Evaluate if the file
405 exists. Only generate its SourceFile if it exists or can be built
406 (build): Accumulate the file names only if they can be built.
407
408 * src/cmt_generators.h (class DocumentGenerator): Make
409 analyze_file return if the file is not found.
410 (class LibraryGenerator): idem
411
412 * src/cmt_parser.cxx (parser): Make the configure_error a fatal error.
413
414 * src/Makefile.header (common_target): Improve the tmpdir mechanisms. Support ${TMPDIR}
415
416 * src/cmt_parser.cxx (dos_script_prefix): Suppress the -quiet
417 option in the setup scripts now that errors are sent to stderr
418 instead of stdout.
419
420 * src/cmt_constituent.cxx (class constituents_action_iterator): Use cerr instead of cout
421
422 * src/cmt_fragment.cxx (copy): Use cerr instead of cout
423
424 * src/cmt_generators.cxx (java_file_action, build, build): Use cerr instead of cout
425
426 * src/cmt_parser.cxx (do_awk): typo
427 (do_filter, parse_arguments, parser): Use cerr instead of cout
428
429 * src/cmt_use.cxx (install_library, get_all_clients, operate): Use cerr instead of cout
430
431 * src/cmt_system.cxx (remove_file, remove_directory): Use cerr instead of cout
432
433 * src/cmt_tag.cxx (action_apply): Use cerr instead of cout
434
435 * src/cmt_symbol.cxx (create, build): Use cerr instead of cout
436
437 * src/cmt_pattern.cxx (action): Use cerr instead of cout
438
439 * src/cmt_syntax.cxx: general substitution of cout to cerr
440
441 * src/cmt_error.cxx (get_error_name): format text only
442 (print): Use cerr instead of cout
443
444 * src/cmt_lock.cxx (check): format text only
445
4462004-08-20 Christian Arnault <arnault@lal.in2p3.fr> 229
447
448 * mgr/requirements: Protect the cmt_installare_linkopts against
449 ambiguous tag settings
450
451 * src/cmt_awk.cxx (scan_path): First compress the path before
452 calling the actual recursive scanner
453 (scan_path): Completely revisit the scan algorithm to better
454 account for directory structures and version.cmt files and package
455 statements.
456
457 * src/cmt_project.cxx (create_project): The project file parsing
458 must occur after setting the project chain. This caused wrong tag
459 propagation across the Project chain.
460
4612004-08-04 Christian Arnault <arnault@lal.in2p3.fr> 228
462
463 * src/cmt_parser.cxx (do_create): use only compressed paths
464 (do_remove): idem
465
466 * src/cmt_use.cxx (get_cmtpath_and_offset): Need to compress the cmtpath to suppress .. patterns
467
468 * src/cmt_system.cxx (compress_path): Compress the pattern /xxx/.. or xxx/.. instead of xxx/../
469
4702004-07-01 <arnault@lal.in2p3.fr> 227
471
472 * src/cmt_version.h: Prepare tagging v1r16p20040701
473
474 * src\cmt_parser.h: idem
475
476 * src\cmt.h (class Cmt): Suppress version strategy
477
478 * src\cmt_parser.cxx (do_show_strategies): Suppress version strategy
479
4802004-06-30 <arnault@lal.in2p3.fr> 226
481
482 * src\cmt_version.h (CMTVERSION): Prepare tagging v1r16p20040630
483
484 * src/cmt_generator.cxx (class WinDefAwk): Better generation of .def files for DATA
485
4862004-06-24 <arnault@lal.in2p3.fr> 225
487
488 * src/cmt_use.cxx (need_new): fix a bug that impacted on the order of
489 compatible use requests with different specifications.
490
491 * src\cmt_symbol.cxx (build): Add a debug print
492 (SymbolValueList::show): only display actions with a non empty value
493
494 * src\cmt_use.cxx (add): improve the debug statements (no change to algo)
495
496 * mgr\requirements: Improve the removal operations for Windows in the cmtpath_patterns
497
4982004-06-12 <arnault@lal.in2p3.fr> 225
499
500 * src\cmt_parser.cxx (need_prototypes): Fix access to prototype mask of build strategy
501
5022004-05-28 Christian Arnault <arnault@lal.in2p3.fr> 224
503
504 * Tagging v1r16p20040527
505
506 * src/demo/demo1.cmt: Add a test for -target_tag option
507
508 * src/cmt_parser.cxx (do_build_library_links): Transfered the code
509 to install a lib symlink into cmt_use.cxx
510
511 * src/cmt_use.cxx (same_dirs): Add a local helper function to
512 check if two directory specifications point to the same location
513 (install_library): Common local function to really create a
514 symlink to a file either into ../$(tag) or into $(CMTINSTALLAREA)/$(tag)/lib
515 (build_library_links): Build all the library links for a Use.
516
517 * src/cmt_use.h (class Use): Add a function to build the library links (the code is
518 extracted from Cmt::do_build_library_links () )
519
5202004-05-27 <arnault@lal.in2p3.fr> 223
521
522 * src\cmt_version.h (CMTVERSION): Prepare for real tagging v1r16p20040527
523 * doc\download.html: idem
524
525 * doc\CMTDoc.xml: Update the doc for the new -target_tag option
526
527 * src\cmt_constituent.cxx (add_for_action): Actions always have a target tag.
528
529 * src\demo\demoA\requirements: Add a -target_tag option to demoA target to test this feature.
530
531 * fragments\constituent: Construct or not a local tag makefile according to has_target_tag
532 * fragments\nmake\constituent: id
533 * fragments\make_header: id
534 * fragments\nmake\make_header: id
535
536 * src\cmt_generators.cxx (LibraryGenerator::build):
537 (DocumentGenerator::build): Transmit m_HASTARGETTAG
538
539 * src\cmt_generator.cxx (reset): Initialize the new m_HASTARGETTAG variable.
540
541 * src\cmt_generator.h (class CmtGenerator): Add a m_HASTARGETTAG
542 Variable to propagate the target_tag ability of the constituents
543
544 * src\cmt_constituent.cxx (show): Display the -target_tag option
545 (class constituents_action_iterator): Parse the -target_tag option
546
547 * src\cmt_constituent.h (class Constituent): Add support for the
548 new -target_tag option, to control the per-constituent generation
549 of the target tag. So add a field has_target_tag
550
551
5522004-05-25 Christian Arnault <arnault@lal.in2p3.fr> 222
553
554 * mgr/requirements: Use $(tag) instead of ${CMTCONFIG} in all cmtpath_pattern s
555
556 * src/NMakefile.header (tags): idem
557 * src/Makefile.header (tags): idem
558 * fragments/nmake/make_header: idem
559 * fragments/nmake/constituents_header (tags): idem
560 * fragments/make_header (tags): idem
561 * fragments/constituents_header (tags): prefix the tags macro with $(tag)
562
5632004-05-25 <arnault@lal.in2p3.fr> 221
564
565 * src\cmt_version.h (CMTVERSION): Prepare for tagging v1r16p20040525
566
567 * mgr\NMake (gendoc): Add a new target to generate html from xml
568
5692004-05-25 <arnault@lal.in2p3.fr> 220
570
571 * mgr\NMake (cmttag): Convert VisualC.nmake into VisualC_cmt.nmake
572 * fragments\nmake\constituent: Generate tag file for the target
573
5742004-05-18 <arnault@lal.in2p3.fr> 219
575
576 * mgr\requirements: Add cmt_log.cxx in the source list
577
578 * src\cmt_tag.cxx (add): First replacements of debug messages using log
579 * src\cmt_parser.cxx (configure_tags): idem
580
5812004-05-18 <arnault@lal.in2p3.fr> 219
582
583 * src\cmt_log.h (class CmtLog): Introducing a centralized log message facility
584 * src\cmt_log.cxx: first implementation
585
5862004-05-18 Christian Arnault <arnault@lal.in2p3.fr> 218
587
588 * fragments/nmake/make_header (tags): idem
589
590 * fragments/nmake/constituent: Update to generate the target_XXX tag
591
592 * src/cmt_parser.cxx (parse_arguments): Activate the tag target_<action> when "cmt do <action>" is run
593
594 * fragments/constituent: Generate the target_${CONSTITUENT} tag
595
5962004-05-17 Christian Arnault <arnault@lal.in2p3.fr> 218
597
598 * fragments/constituent: Propagate cmt_lock_pid for temporary files
599 Generate a tag makefile specific to the constituent
600
601 * fragments/constituents_header (first): Improve the printout for CMTCONFIG
602
603 * fragments/make_header (tags): Generate the target_${CONSTITUENT} tag
604
605 * mgr/requirements: Don't generate the tags macro from CMT. Only do it from the Makefile fragments.
606
607 * src/cmt_generators.cxx (build): Add PACKAGE variable to individual constituent fragment
608
6092004-05-13 Christian Arnault <arnault@lal.in2p3.fr> 217
610
611 * fragments/constituent: idem
612
613 * fragments/constituents_header (cmt_final_setup): Implement a READONLY mode that generates all intermediate files in /tmp/CMT_*
614
615 * src/Makefile.header (tags): Implement a READONLY mode that generates all intermediate files in /tmp/CMT_*
616 (common_target): Make use of the new -out=file option of the cmt build constituents_makefile command
617
618 * src/cmt_generator.cxx (build_constituents_makefile): idem
619
620 * src/cmt_generator.h (class Generator): Add the argument list to the build_constituents_makefile function
621
622 * src/cmt_generators.cxx (build): idem
623
624 * src/cmt_generators.h (class ConstituentsMakefileGenerator): Add the argument list to the build function
625
626 * src/cmt_parser.cxx (configure): Chain configure_home, configure_user_context and configure_cmtpat
627 (do_build_constituents_makefile): Propagate arguments to the Generator::build_constituents_makefile method
628 (parse_arguments): Accumulate extra-arguments for build constituents_makefile command
629 (parse_arguments): Restore the home,user_context and cmtpath configurations for the -tag=xxx option
630
631 * src/cmt_project.cxx (set_build_strategy): Get tags from their names rather than from their pointer to fix a pointer bug
632 (set_setup_strategy): idem
633
634 * src/cmt_tag.cxx (action_apply): Adding several debug printouts
635
6362004-05-10 <arnault@lal.in2p3.fr> 216
637
638 * doc\CMTDoc.xml: Add a section on package semantics
639
6402004-05-07 Christian Arnault <arnault@lal.in2p3.fr> 215
641
642 * mgr/requirements: Improve support for CEL
643 Upgrade system_version_query_command for Darwin
644
6452004-05-06 Christian Arnault <arnault@lal.in2p3.fr> 215
646
647 * src/cmt_tag.cxx (action_apply): apply_tag now supports the tag
648 name given through a symbol expression
649
650 * mgr/cmt_linux_version.sh: Support for Entreprise Linux
651
652 * mgr/requirements: Create automatic tags from cmt_hardware
653 cmt_system_version and cmt_compiler_version.
654 Set the macro shlibsuffix for Win32
655
656 * mgr/cmt_filter3_version.sh: Add a filtering procedure to keep 3 digits in the compiler version
657
6582004-05-05 Christian Arnault <arnault@lal.in2p3.fr> 214
659
660 * src/cmt_syntax.cxx (parse_requirements): Close all scope sections once the requirements file is parsed.
661
662 * src/cmt_use.cxx (close_scope_sections): Implement by clearing the vector of scope sections.
663
664 * src/cmt_use.h (class Use): Add close_scope_sections to be called
665 at the end of parsing a requirements file.
666
6672004-05-03 Christian Arnault <arnault@lal.in2p3.fr> 213
668
669 * doc/ReleaseNotes.html: Fix typo
670
671 * src/cmt_system.cxx (is_version_directory): Misunderstands
672 version specifications of the form v1r2p (without a trailing
673 number)
674
6752004-05-03 Christian Arnault <arnault@lal.in2p3.fr> 212
676
677 * src/cmt_parser.cxx (configure): Configure home and user_context
678 before configuring cmtpaths to associate projects with CMTHOME and
679 CMTUSERCONTEXT
680 (configure_cmt_path): Reset the project factory before creating all projects
681 (configure_user_context): Add a debugging printout
682
683 * src/cmt_system.cxx (get_cmt_paths): Remove the initialization of
684 the project factory from there to transfer it to the caller (eg
685 cmt_parser::configure_cmt_path)
686
687 * src/cmt_parser.cxx (use_special_requirements): Expects a
688 statically defined version "v0" for all special uses.
689
690 (configure_cmt_path): Associate a project with CMTHOME and CMTUSERCONTEXT to manage strategies.
691
692 * src/cmt_use.cxx (show_all): Adapt to new naming convention:
693 display the static version explicitly.
694
695 * src/cmt_system.cxx (get_home_package): Convert CMTHOME package
696 name from "CMTHOME context" to CMTHOME and manage a version
697 through standard mechanisms (version is statically defined as v0)
698 (is_home_package): Adpat to new naming convention
699 (get_user_context_package): Idem for CMTUSERCONTEXT
700 (is_user_context_package): Adapt to new naming convention
701
7022004-04-30 Christian Arnault <arnault@lal.in2p3.fr> 211
703
704 * mgr/cmt_install_action.sh: Use /bin/pwd instead of raw pwd [Thanks to Traudl]
705 * mgr/cmt_uninstall_action.sh: idem
706 * mgr/cmt_make_shlib.sh: idem
707 * mgr/cmt_make_shlib_common.sh: idem
708 * fragments/install_includes_header: idem
709
710 * mgr/requirements: Perform path_remove all before path_prepend in
711 the cmtpath_pattern. Thus state two separate cmtpath_patterns.
712
7132004-04-02 <arnault@lal.in2p3.fr> 210
714
715 * src\cmt_project.cxx (scan_paths): Late patch for LynxOS limitation
716
717 * src\cmt_version.h: Prepare for v1r16
718
7192004-03-29 <arnault@lal.in2p3.fr> 209
720
721 * mgr/Makefile: Set compiler options for CYGWIN
722
7232004-03-27 Christian Arnault <arnault@lal.in2p3.fr> 208
724
725 * src/cmt_syntax.cxx (class KwdSetupStrategy): Implement setup strategy decoding for projects
726
7272004-03-27 Christian Arnault <arnault@lal.in2p3.fr> 207
728
729 * src/cmt_system.h (class IProjectFactory): Suppress the configure entry point
730
731 * src/cmt_system.cxx (get_cmt_paths): see below
732
733 * src/cmt_project.h (class ProjectFactory): No longer need to configure from ProjectFactory
734
735 * src/cmt_project.cxx (configure): Fix typo mixing prototypes and no_prototypes tags
736 (add): Systematically create tags just after naming the project.
737
738 * src/cmt_project.h (class Project): Only create tags once
739
740 * src/cmt_syntax.h (class SyntaxParser): Introduce the different
741 syntax parsing schemes for requirements files and projects files.
742 (class SyntaxParser): Rename do_parse_requirements_text and
743 do_parse_requirements_text into do_parse_text and do_parse_line.
744
7452004-03-27 Christian Arnault <arnault@lal.in2p3.fr> 206
746
747 * src/cmt_syntax.cxx (action): Define a default implementation for project actions
748 (class KwdBuildStrategy): Define a project action
749 (class KwdProject): idem
750 (class KwdSetupStrategy): idem
751
752 * src/cmt_syntax.h (class Kwd): Introduce an action for project files (simply virtual)
753 (class SyntaxParser): Restructure, cleanup and sort the entry points
754 (class SyntaxParser): Introduce a map of project keywords
755
756 * src/cmt_project.cxx (class ProjectReader): Start support for more statements in the project file
757
758 * src/cmt_pattern.cxx (action): Augment the decoding logic to be more fault tolerant
759 (add): Temporarily force the word quoting
760 Add various debuggin printouts
761
762 * src/cmt_parser.cxx (parser): Force the Use* argument type
763
764 * src/cmt_cvs.cxx (class CvsImplementation): Install a constructor for setting default values
765 (class CvsImplementation): Set default verse mode to false
766
7672004-03-24 Christian Arnault <arnault@lal.in2p3.fr> 206
768
769 * src/cmt_cvs.cxx (class CvsImplementation): Reset default verbose mode to off.
770
7712004-03-23 Christian Arnault <arnault@lal.in2p3.fr> 205
772
773 * src/cmt_pattern.cxx (class PatternCache): Introduce a cache for
774 the get_paths operation. To save recursive executions.
775
776 * src/cmt_pattern.h (class PatternList): Navigate in pattern list through PatternList
777
778 * src/cmt_vector.h (cmt_vector): Trying to optimize vector by changing the frame size
779
780 * doc/cmt-mode.el (cmt-mode-map): Revert completion key to <Esc>-<tab>
781
7822004-03-22 Christian Arnault <arnault@lal.in2p3.fr> 205
783
784 * src/cmt_symbol.cxx (resolve_value): Optimize by checking if $%` exist in the text to expand.
785 (create): Missing "alias" case
786
787 * src/cmt_parser.cxx (do_show_action): Missing "alias" case
788 (do_show_macro): idem
789
790 * src/cmt_project.cxx (clear): Improve the clear function to
791 ensure a proper initialization
792
793 * src/cmt_system.cxx (get_home_directory): Use ::getenv rather than CmtSystem::getenv.
794
7952004-03-19 Christian Arnault <arnault@lal.in2p3.fr> 205
796
797 * doc/emacs.html: doc on the new emacs mode for CMT
798 * doc/table.html: include emacs.html
799
8002004-03-19 Christian Arnault <arnault@lal.in2p3.fr> 204
801
802 * src/cmt_symbol.cxx (all_set): Only set non empty environment variables
803
8042004-03-22 <arnault@lal.in2p3.fr> 203
805
806 * src\cmt_parser.cxx (get_build_strategy): Create a local helper
807 function to retrieve the build strategy from the current project.
808 (get_setup_strategy): Idem for the setup strategy
809 (parse_arguments): Add a protection against the killing -tag= with empty argument.
810 (reach_current_package): Specify the use object (current use)
811 (class StandardMacroBuilder): Isolate the construction of the CMTVERSION macro into a function
812 (class StandardMacroBuilder): Setting of basic standard macros
813 specific to packages is transfered to Use::fill_standard_macros
814 (set_standard_macros): Apply all cmtpath_patterns independently of the build strategy.
815
816 * src\cmt_symbol.cxx (action): Expand the tag name to permit tag
817 expressions containing macros.
818
819 * src\cmt_syntax.cxx (parse_requirements): Define the standard
820 macros before reading the requirements file.
821
822 * src\cmt_use.cxx (fill_standard_macros): Implement it (move code from cmt_parser.cxx)
823 * src\cmt_use.h (class Use): Add fill_standard_macros function to
824 fill in all standard macros for a given use before reading its
825 requirements file.
826
827 * mgr\requirements: Add exclusions between basic tags
828 Adapt cmtpath_pattern to new strategy management
829
830 * fragments\nmake\constituents_header (tags): id.
831 * fragments\nmake\constituent: id.
832 * fragments\constituent: Add -quiet to CMT command.
833
8342004-03-19 <arnault@lal.in2p3.fr> 203
835
836 * src\cmt_parser.cxx (get_build_strategy): Install a local
837 accessor function to get the build strategy either from the
838 current project or from m_current_build_strategy.
839
8402004-03-16 <arnault@lal.in2p3.fr> 202
841
842 * src/cmt_parser.cxx (fill_for_branches): Add a protection against empty current project
843
844 * src\cmt_system.cxx (get_cmt_paths): Make use of the new
845 CmtSystem::get_home_directory function
846
847 * src\cmt_parser.cxx (class CmtMountFilterParser): Create a FAwk
848 parser to decode mout_filter files.
849 (configure_current_dir): Make use of the CmtMountFilterParser
850 class to parse cmt_mount_filter and .cmtrc files.
851
852 * src\cmt_system.cxx (get_home_directory): Implementation.
853
854 * src\cmt_system.h (class CmtSystem): Introduced to get ${HOME} in
855 a portable way
856
8572004-03-03 Christian Arnault <arnault@lal.in2p3.fr> 201
858
859 * src/cmt_parser.cxx (print_context): Use the new projet based setup strategy
860
861 * src/cmt_cvs.cxx: suppress some verbose printouts
862
8632004-02-25 <arnault@lal.in2p3.fr> 200
864
865 * src\cmt_pattern.cxx (action): add use to warning messages
866
867 * doc\CMTDoc.xml: improvements
868
869 * doc\gendoc.py (Book.book_start): Set a padding on top of every rule
870
871 * src\cmt_cmtpath_pattern.h (class CmtPathPattern): No need to duplicate the vector of words.
872
873 * src\cmt_cmtpath_pattern.cxx (add): Construct the cmt statement as a one line statement
874
875 * src\cmt_cmtpath_pattern.h (class CmtPathPattern): Add an expansion line in the class
876
877 * src\cmt_pattern.cxx (add): Construct the cmt statement as a one line statement
878 (expand): Create a temporary replacement for full line
879 (action): relax the syntax by permitting spaces around the "=" sign.
880 Add checks for the template name to be expected by the pattern.
881
882 * src\cmt_pattern.h (class Pattern): Add an expansion line in the class
883
8842004-02-19 <arnault@lal.in2p3.fr> 200
885
886 * src\cmt_project.cxx (configure): Preset the tags of the default strategies
887
888 * src\cmt_tag.cxx (show_definition): Suppress the display of the internal Default tag
889
8902004-02-13 <arnault@lal.in2p3.fr> 200
891
892 * src\cmt_parser.cxx (class StandardMacroBuilder): Fill <package>_project macro
893 (class StandardMacroBuilder): Fill <package>_project macro
894
895 * src\cmt_project.cxx (get_current): No need to cd
896
8972004-02-13 Christian Arnault <arnault@lal.in2p3.fr> 199
898
899 * src/cmt_symbol.cxx: implement the XxxRemoveRegexp
900
901 * src/cmt_parser.cxx: idem
902 * src/cmt_constituent.cxx: idem
903 * src/cmt_symbol.cxx: idem
904 * src/cmt_symbol.h (class Symbol): Change the action stored in Symbol into a new enum SymbolType.
905
906 * src/cmt_symbol.cxx: idem
907 * src/cmt_syntax.cxx (SyntaxParser): idem
908 * src/cmt_parser.h (enum): Introduce regexp-based remove operations for symbols
909
9102004-02-10 Christian Arnault <arnault@lal.in2p3.fr> 198
911
912 * src/cmt_parser.cxx (actor): Rename PackageCollector into ClientCollector
913
9142004-02-09 Christian Arnault <arnault@lal.in2p3.fr> 198
915
916 * fragments/installer: add a / everywhere for consistency
917
918 * src/cmt_symbol.cxx (build): Restrict warning on symbol overriding to show macro and show set
919
9202004-02-13 <arnault@lal.in2p3.fr>
921
922 * doc\CMTDoc.xml: Work on the doc towards v1r16
923
924 * doc\gendoc.py (Book.plain_char_data): Keep space characters from raw text
925 (Book.book_start): Introduce style sheet.
926
9272004-02-06 Christian Arnault <arnault@lal.in2p3.fr> 197
928
929 * src/cmt_cvs.cxx (class CvsImplementation): use -quiet for all internal cmt commands
930
931 * src/cmt_string.cxx (erase): Replace strcpy by an explicit loop
932
933 * src/cmt_cvs.cxx: Added -n and -v options to support simulation and verbose modes
934
935 * src/cmt_system.cxx (execute): Change the status value. Back to the Unix standard 0 = ok
936
937 * fragments/nmake/library: idem
938 * fragments/library: Install the dependency to the ${CONSTITUENT}stamps macro like for application
939
940 * src/cmt_system.cxx (reduce_file_separators): Improve the reduction algorithm
941
9422004-02-05 <arnault@lal.in2p3.fr> 196
943
944 * src\cmt_parser.cxx: Remove cmtpath database from Cmt class
945 Rename FileScanner into PathScanner and transfer it to CmtSystem
946 (configure_cmt_path): Use the ProjectFactory to create Projects from CMTPATH
947 (do_broadcast): Projects now fill the selections.
948 (do_show_clients): Projects used to search clients
949 (do_show_packages): idem
950 (do_show_path): idem
951 (do_show_strategies): Projects reached to get strategies
952 (do_show_versions): Projects used to search versions
953 (parse_arguments): +path managed by adding a project
954 (reach_current_package): Definitively suppress "current package" source of CMTPATH
955
956 * src\cmt_use.cxx (class UseProjectAction): Intoduce an action
957 pattern to iterate into Project database
958 (move_to): Use the Project::broadcast mechanism to locate the package.
959
960 * src\cmt_use.h (class Use): Make UseProjectAction friend of class Use
961
962 * src\cmt_system.cxx (add_cmt_path):
963 (add_cmt_paths_from_text):
964 (add_cmt_paths):
965 (get_cmt_paths): Use IProjectFactory
966
967 * src\cmt_system.h (class IProjectFactory): Add abstract interface
968 for creating projects form cmtpath entries
969 (class CmtSystem): Change the API to using IProjectFactory
970
971 * src\cmt_project.cxx: Implement project management
972
973 * src\cmt_syntax.cxx (class KwdBuildStrategy):
974 (class KwdSetupStrategy): Change strategies from new masks and into Projects
975
976 * src\cmt_parser.h (enum): Change the masks for strategies to
977 improve the reliability of exclusive options, and inheritance
978 between projects.
979
980 * src\cmt_cmtpath_pattern.cxx (class CmtPathPatternProjectAction):
981 Introduce new actor pattern for broadcasting to project
982 database. Used to apply all cmtpath_patterns
983 (apply): Expand the <project> parameter
984 (expand): idem
985
986 * src\cmt_cmtpath_pattern.h (class CmtPathPattern): Add project argument to expand
987
988 * src\cmt_awk.h (class PathScanner): Add the PathScanner class (imported from cmt_parser.cxx)
989 * src\cmt_awk.cxx (PathScanner):
990
991 * src\cmt.h (class Cmt): Transfer cmtpath management to Project
992
993 * doc\CMTDoc.xml:
994 * src\cmt_syntax.cxx (class KwdBuildStrategy):
995 * src\cmt_project.h (class Project):
996 * src\cmt_project.cxx (set_build_strategy):
997 * src\cmt_parser.cxx (set_standard_macros): Rename X_install_area symbols into X_installarea
998 * src\cmt_install_area.cxx: Rename X_install_area symbols into X_installarea
999 * src\cmt_install_area.h: Rename X_install_area symbols into X_installarea
1000
1001 * mgr\requirements: Setting Project-oriented settings for installation area patterns.
1002
10032004-01-27 <arnault@lal.in2p3.fr> 195
1004
1005 * fragments\nmake\installer: Fixes from Pere.
1006
10072004-01-20 <arnault@vmlinux> 194
1008
1009 * Try on CVStrac ticket #1
1010
1011 * src/cmt_symbol.cxx (action): Ensure that the constituents macro is always private.
1012
1013 * src/cmt_parser.cxx (reach_current_package): Fix missing configuration bit.
1014 Cures the bug of missing <PACKAGE>VERSION when using cmt -use=...
1015
10162004-01-17 <arnault@lal.in2p3.frARNAULT@NB-ARNAULT> 193
1017
1018 * src\cmt_syntax.cxx (CommandParser): Add helps for create_project command
1019
1020 * src\cmt_parser.h (enum): Add action_create_project
1021
1022 * src\cmt.h (class Cmt): Add do_create_project function
1023
10242004-01-13 <arnault@vmlinux> 192
1025
1026 * src/cmt_parser.cxx (dos_script_prefix): Suppress spaces before
1027 continuation character in DOS format
1028
10292004-01-13 Christian Arnault <arnault@lal.in2p3.fr> 191
1030
1031 * src/cmt_symbol.cxx (add_value_to_list): Fix for not discarding too much value_lists
1032
10332004-01-10 <arnault@vmlinux> 190
1034
1035 * src/cmt_syntax.cxx (class KwdBuildStrategy): Start getting the
1036 strategy from project(experimental??)
1037
1038 * src/cmt_project.cxx (find_by_cmtpath): We also accept paths specified using a substring
1039 (configure): Configure in reverse order
1040 (action): Add experimental -index and -select options
1041
1042 * src/cmt_install_area.cxx (setup_current_install_area): Make CMTINSTALLAREA a macro instead of a set
1043
10442004-01-08 Christian Arnault <arnault@lal.in2p3.fr> 189
1045
1046 * src/cmt_use.cxx (reach_package): Fix bug in version comparison when working in non-version-directory mode
1047 * mgr/requirements: use $(CMTCONFIG) instead of $(tag) for setting PATH etc.. in cmtpath_pattern
1048
10492003-12-19 Christian Arnault <arnault@lal.in2p3.fr> 188
1050
1051 * src/cmt_use.h (class Use): Remove the project relationship between Use and Project
1052
10532003-12-18 <arnault@lal.in2p3.fr> 187
1054
1055 * src\cmt_constituent.h (class Constituent):
1056 * src\cmt_constituent.cxx (add_for_action): Implement the constituent equivalent to actions
1057 (parse_all): Generate the constituent equivalents for all macros
1058
1059 * fragments\cmt_action_runner:
1060 * fragments\cmt_action_runner_header:
1061 * fragments\nmake\cmt_action_runner_header: The new generic make fragment for running actions
1062
1063 * fragments\nmake\dependencies:
1064 * fragments\dependencies: Suppress dependency computation when the
1065 QUICK macro is defined
1066
1067 * fragments\nmake\library:
1068 * fragments\library:
1069 * fragments\application:
1070 * fragments\nmake\application: Add dependency to requirements to rebuild application
1071
1072 * src\cmt_parser.cxx (do_config): Suppress install area cleanup action from cmt config
1073 (do_setup): idem
1074
10752003-12-16 <arnault@lal.in2p3.fr> 187
1076
1077 * src\cmt_constituent.cxx (class constituents_action_iterator):
1078 Added syntax check on -xxx options for constituents
1079
1080 * src\cmt_parser.cxx: Implement Action support.
1081 Added: (to support Actions)
1082 do_do
1083 do_show_action
1084 do_show_action_names
1085 do_show_action_value
1086 do_show_actions
1087 removed: (after introducing Scope Sections)
1088 get_scope
1089 set_scope
1090 m_scope
1091
1092 * src\cmt_parser.h (enum): Added
1093 CommandAction
1094 CommandEndPrivate
1095 CommandEndPublic
1096
1097 action_show_action_xxx
1098
1099 * src\cmt_constituent.cxx (class constituents_action_iterator):
1100 Added a syntax checking action.
1101
1102 * src\cmt_use.cxx:
1103 * src\cmt_use.h (class Use): Support Scope Section concept.
1104 A Use object holds a vector of ScopeSections
1105 Added functions
1106 push_scope_section
1107 pop_scope_section
1108 get_current_scope
1109 Changed attributes:
1110 scope -> initial_scope
1111
1112 * src\cmt_syntax.cxx (class KwdAction): New keyword
1113 (class KwdEndPrivate): new keyword
1114 (class KwdEndPublic): new keyword
1115 (class KwdPrivate): Ignore this pattern on current use
1116 (class KwdPublic): Ignore this pattern on current use
1117 (CommandParser): Update help texts for new action concepts
1118
1119 * src\cmt_symbol.cxx (class ActionBuilder): new Action objects are
1120 implemented as a new category of symbols. Therefore all mechanisms
1121 have been extended to support the new concept.
1122
1123 old scope attribute is replaced by accesses to Scope Sections from
1124 the Use objects.
1125
1126 * src\cmt_symbol.h (class Symbol): Suppress useless scope attribute and valid () function
1127
1128 * src\cmt_scope_section.cxx: New Support for Scope Sections
1129
1130 * src\cmt_scope_section.h: New Support for Scope Sections
1131
1132 * src\cmt_fragment.cxx (action): Switch to using Scope Sections
1133
1134 * src\cmt.h (class Cmt): Added: (to support Actions)
1135 do_do
1136 do_show_action
1137 do_show_action_names
1138 do_show_action_value
1139 do_show_actions
1140 removed: (after introducing Scope Sections)
1141 get_scope
1142 set_scope
1143 m_scope
1144
1145 * mgr\requirements: Adding support for Scope sections to handle
1146 private or public sections. Now private and public sections can be
1147 ended with the new keywords end_private and end_public. Ending
1148 keywords switch back to the previous scope active before the most
1149 recent opening keyword.
1150
1151 Adding cmt_scope_section.cxx to the sources of the cmt application.
1152
1153
11542003-12-12 Christian Arnault <arnault@lal.in2p3.fr> 186
1155
1156 * mgr/cmt_install_action.sh (a): Improve checking of pwd WRT CMTINSTALLAREA
1157 * mgr/cmt_uninstall_action.sh (a): idem
1158
1159 * mgr/cmt_mount_filter: Restore definitions
1160
1161 * src/cmt_syntax.cxx (do_parse): Evolution of the requirements
1162 file syntax: apply_pattern can be omitted (ie. pattern names are
1163 understood as extensions to the basic CMT language)
1164
1165 * src/cmt_pattern.cxx (action): Add error detection when applying the wrong pattern name
1166 Prepare for the next change of the syntax which accepts pattern names as plain CMT keywords
1167
1168 * src/cmt_parser.cxx (find_in_cmt_paths): Fix construction of the
1169 <package>_cmtpath when symlinks exist along pwd
1170
11712003-12-08 Christian Arnault <arnault@lal.in2p3.fr> 186
1172
1173 * src/cmt_parser.cxx (do_build_library_links): Fix : should make
1174 use of the library_prefix and suffix.
1175
11762003-12-06 Christian Arnault <arnault@lal.in2p3.fr> 185
1177
1178 * src\cmt_syntax.cxx (do_parse): When a keyword is not found,
1179 expect an implicit pattern application.
1180
1181 * src\cmt_pattern.cxx (action): Add a protection against pattern not found
1182 Support lines starting with pattern-name or with apply_pattern.
1183
11842003-11-21 Christian Arnault <arnault@lal.in2p3.fr> 185
1185
1186 * mgr/cmt_install_action.bat: Typo
1187
1188 * mgr/requirements: Typo in macro cmt_uninstalldir_action
1189
11902003-11-20 Christian Arnault <arnault@lal.in2p3.fr> 184
1191
1192 * src/cmt_version.h (CMTVERSION): Preparing new tag v1r14p20031120
1193
1194 * src/cmt_syntax.cxx (CommandParser): Help on cmt build CMT_pacman
1195
1196 * src/cmt_parser.cxx (parse_arguments): Implement cmt build
1197 CMT_pacman command to generate the effective pacman manifest file
1198 for CMT.
1199
1200 * src/cmt.h (class Cmt): Add Cmt::do_build_CMT_pacman function
1201
1202 * src/cmt_parser.h (enum): Add cmt build CMT_pacman command
1203
1204 * src/setup.zsh: Upgrade zsh completion settings
1205
1206 * src/setup.tcsh: Upgrade tcsh completion settings
1207
1208 * fragments/group (all_groups): Add a new standard macro
1209 $(<group>_dependencies) to specify global dependencies for a
1210 group.
1211
1212 * fragments/constituents_trailer (binclean): Dont remove *.make* when cleaning.
1213 Add a message for binclean.
1214
1215 * src/cmt_use.cxx (add): Improve the warning message for package not found
1216 (reduce_path): Display the package path using a reusable format (used by show fragments)
1217
12182003-11-19 Christian Arnault <arnault@lal.in2p3.fr> 183
1219
1220 * src/cmt_constituent.cxx (class constituents_action_iterator): Empty group means no group.
1221
1222 * src/cmt_parser.cxx (install_library): Factor out the basic
1223 operation for installing a library
1224 (do_build_library_links): Make use of the new install_library
1225 operation. Add special operation for Darwin to install bundles
1226
1227 * src/cmt_syntax.cxx (class KwdBuildStrategy): Fix cumulative settings of the strategies
1228 (class KwdSetupStrategy): idem
1229
1230 * mgr/cmt_make_shlib_common.sh: Add support to generate bundles for Darwin
1231
12322003-11-14 Christian Arnault <arnault@lal.in2p3.fr> 182
1233
1234 * src/cmt_install_area.cxx (setup): Continue setup even without current installation area
1235 (config): Apply all cmtpath_patterns even without current installation area
1236 (build_current_install_area): Make use of Cmt::find_in_cmt_paths
1237
1238 * src/cmt_parser.cxx (configure_current_cmtpath): Make use of the
1239 new find_in_cmt_paths function
1240 (do_setup): Always call CmtInstallAreaMgr::setup even if current installation area is empty
1241 (find_in_cmt_paths): first implementation
1242 (get_cmt_path_pwds): first implementation
1243 (class StandardMacroBuilder::fill_for_use_cmtpath): Make use of the
1244 new find_in_cmt_paths function
1245
1246 * src/cmt.h (class Cmt): Adding find_in_cmt_paths to locate a path
1247 from all specified CMTPATH entries (considering the dual flavours
1248 of each entry)
1249 Adding get_cmt_path_pwds to access alternal values of cmtpath entries
1250
12512003-11-12 Christian Arnault <arnault@lal.in2p3.fr> 181
1252
1253 * fragments/nmake/constituents_trailer (binclean): Fix typo for Windows
1254
12552003-11-06 Christian Arnault <arnault@lal.in2p3.fr> 180
1256
1257 * mgr/CMT.pacman: Add generic pacman file.
1258 All instances of the "<version>" pattern need to be substituted by
1259 the effective version of CMT to make it a real pacman file
1260
12612003-10-29 Christian Arnault <arnault@lal.in2p3.fr> 179
1262
1263 * tagging v1r14p20031027
1264
1265 * mgr/cmt_build_release.sh (version): Add the rebuilding of Linux
1266 version at Lyon (without getting the result back)
1267
1268 * doc/documents.html: Install release notes from the documents page
1269
1270 * doc/ReleaseNotes.html: Create ReleaseNotes web page (suppress ReleaseNotes.txt)
1271
1272 * mgr/Makefile (docs):
1273 Add installation of ReleaseNotes.html
1274
12752003-10-27 Christian Arnault <arnault@lal.in2p3.fr> 178
1276
1277 * src/cmt_version.h (CMTVERSION): prepare tagging of v1r14p20031027
1278
1279 * mgr/requirements: cmt_installarea_prefix must be defined
1280 externally to the cmtpath_pattern.
1281
12822003-10-22 Christian Arnault <arnault@lal.in2p3.fr> 177
1283
1284 * src/cmt_version.h (CMTVERSION): prepare tagging of v1r14p20031022
1285
1286 * mgr/cmt_installdir_excludes.txt: New file containing the list of
1287 patterns to exclude in installing a directory
1288
1289 * fragments/nmake/install_includes_header (install): Add support for exclude files
1290
1291 * mgr/cmt_installdir_action.bat: Add support for exclude files
1292 * mgr/cmt_uninstalldir_action.bat: Add tests
1293 * mgr/cmt_uninstall_action.bat: Add tests
1294 * mgr/cmt_install_action.bat: Add tests
1295
1296 * src/cmt_parser.cxx (set_standard_macros): First define the
1297 current installation area before defining all other standard
1298 symbols (and making the final parsing of constituents)
1299
1300 * src/cmt_install_area.cxx (setup_current_install_area): Implement
1301 the definition of the CMTINSTALLAREA symbol
1302 (setup): Differentiate the setting of CMTINSTALLAREA symbol from
1303 applying cmtpath patterns
1304
1305 * src/cmt_install_area.h (class CmtInstallAreaMgr): Split setup in
1306 two parts : first define the CMTINSTALLAREA symbol, then apply all
1307 cmtpath patterns
1308
13092003-10-21 Christian Arnault <arnault@lal.in2p3.fr> 176
1310
1311 * mgr/cmt_build_release.sh: Start a procedure for remotely building a CMT release
1312
1313 * mgr/cmt_installdir_action.bat: Added test on existing result.
1314
1315 * fragments/nmake/install_includes_header (install_dir): Use $() instead of ${}
1316
1317 * mgr/requirements: Add definition for cmt_installdir_action
1318
1319 * src/cmt_parser.cxx (class StandardMacroBuilder): Generate
1320 <package>_cmtpath and <package>_offset macros also for the current
1321 package
1322
1323 * src/cmt_system.cxx (remove_directory): Add a # for error messages
1324 (remove_file): idem
1325
13262003-10-14 <arnault@vmlinux> 175
1327
1328 * src/cmt_version.h (CMTVERSION): Prepare tagging v1r14p20031014
1329
1330 * src/cmt_use.cxx (compare_versions): Add a function to compare
1331 two version strings.
1332 (reach_package): Add the effective version checking for
1333 no_version_directory style when version.cmt exists.
1334
1335 * doc/CMTDoc.xml: Suppress version strategy documentation since
1336 this mechanism is not really maintained.
1337
1338 * src/cmt_use.cxx (reach_package): Add effective check of version
1339 even in no_version_directory style
1340
13412003-10-13 <arnault@vmlinux> 175
1342
1343 * fragments/* : Add start and end markers to all make fragments.
1344
13452003-10-09 <arnault@lal.in2p3.fr> 175
1346
1347 * src\cmt_parser.cxx (do_broadcast): Suppress the catching of
1348 return status=2 for last executed command
1349
13502003-10-02 Christian Arnault <arnault@lal.in2p3.fr> 175
1351
1352 * src/cmt_system.cxx (cd): putenv requires that the string is static !!
1353
13542003-10-01 <arnault@vmlinux> 174
1355
1356 * src/cmt_use.cxx (class use_action_iterator): Force auto_imports
1357 to On when context is unspecified.
1358
1359 * src/cmt_use.h (class Use): Add a new set_selected_version
1360 function for switching from one use to another one, better wrt
1361 various criteria. When switching, m_index and auto_imports are
1362 transfered from the unselected to the newly selected.
1363
13642003-09-26 <arnault@vmlinux> 173
1365
1366 * src/cmt_system.cxx (cd): Change the PWD environment variable, in
1367 case it's not done by the underlying OS
1368
13692003-09-24 Christian Arnault <arnault@lal.in2p3.fr> 172
1370
1371 * src/cmt_use.cxx (show_cycles): optimizing a bit
1372 (find_index): idem
1373 (set_auto_imports_state): idem
1374 (move): idem
1375 (reorder): idem
1376 (unselect_all): idem
1377 (get_selected_version): idem
1378 (get_paths): Improve the algorithm to save multiple vector manipulations
1379
1380 * src/cmt_parser.cxx: Follow all symbol->build_macro_value by
1381 Symbol::expand to really expand all possible macro
1382 references. This caused a bug when inline re-confirguring
1383 CMTUSERCONTEXT (etc.) with a value containing a ref to another
1384 symbol.
1385
1386 * mgr/Makefile (cpp): Add -O2 option for Linux platform
1387 (cpp): Add support for profiling setup for LinuxProf platform
1388
13892003-09-18 <arnault@vmlinux>
1390
1391 * mgr/cmt_uninstall_action.sh (a): Fix the consistency check of pwd vs CMTINSTALLAREA
1392 * mgr/cmt_install_action.sh (a): idem
1393
13942003-09-18 Christian Arnault <arnault@lal.in2p3.fr> 171
1395
1396 * mgr/Makefile (cpp): Set IGNORE_PWD for OSF1 and LynxOS
1397
1398 * src/cmt_system.cxx (pwd): Add an option to ignore PWD since on
1399 some machines this does not work well with the chdir function.
1400
1401 * doc/CMTDoc.xml: improvements
1402
14032003-09-17 Christian Arnault <arnault@lal.in2p3.fr> 170
1404
1405 * src/cmt_parser.cxx (class StandardMacroBuilder): Add the
1406 production of the new macros <package>_cmtpath <package>_offset
1407 (class StandardMacroBuilder): Implement the generation of
1408 <package>_cmtpath <package>_offset macros
1409
1410 * fragments/constituent: Add the same dependency list onto
1411 constituent makefile fragment than onto the constituent itself so
1412 as to enforce the build order also for make fragments.
1413
1414 * src/cmt_use.cxx (get_paths, get_selected_version): Remove static
1415 declaration for a local variable (caused a serious bug !!)
1416 Lots of debug prints improved.
1417
14182003-09-16 Christian Arnault <arnault@lal.in2p3.fr> 170
1419
1420 * src/cmt_symbol.cxx (action): fix setup_script calling mechanism
1421 in no_version style : should get it from ../cmt rather than ../mgr
1422
14232003-09-16 <arnault@vmlinux> 169
1424
1425 * mgr/cmt_uninstall_action.sh (full_source_name): idem
1426
1427 * mgr/cmt_install_action.sh: add a protection when current
1428 directory is outside any installation area
1429
1430
1431 * mgr/NMake (CMTINSTALLAREA): idem
1432 (cmttag): Improve the filter for VisualC tag file generation
1433 (required to remove all location specific info)
1434 Change the target from cmt to cmttag (ie this is NO LONGER done by default!!)
1435
1436 * mgr/Makefile (CMTINSTALLAREA): Inhibit all INSTALLAREA mechanism
1437 when rebuilding cmt itself
1438
1439 * src/cmt_parser.cxx (get_current_style): First Implementation
1440 (dos_script_prefix): Use current_style rather than
1441 current_structuring_style to select path pattern
1442
1443 * src/cmt.h (class Cmt): Add get function to access m_current_style
1444
14452003-09-16 Christian Arnault <arnault@lal.in2p3.fr> 168
1446
1447 * src/cmt_use.cxx (find_index): Add a protection when a package
1448 was not found
1449
14502003-08-14 Christian Arnault <arnault@lal.in2p3.fr> 168
1451
1452 * src/cmt_generators.cxx (LibraryGenerator::build): new syntax for get_all_files
1453 (DocumentGenerator::build): idem
1454 (MSDEVGenerator::build_project): idem
1455 (VSNETGenerator::build_project): idem
1456 (DependencyGenerator::build): idem
1457
1458 * src/cmt_generator.h (class CmtGenerator): Add an argument for
1459 selection patterns.
1460
1461 * src/cmt_generator.cxx (get_all_files): Apply the selection
1462 patterns. Support wilcarded suffixes (*.*)
1463
1464 * src/cmt_generators.cxx (DocumentGenerator::build): Add path
1465 compression when analyzing file names.
1466 (ConstituentsMakefileGenerator::build): suppress unused declarations
1467
1468 * src/cmt_constituent.cxx (show): display select paterns
1469 (class constituents_action_iterator): Handle the new -k= option for selection pattern
1470 (clear): clear selection patterns
1471
1472 * src/cmt_constituent.h (class Constituent): Add select regexps similar to excludes
1473
14742003-08-13 Christian Arnault <arnault@lal.in2p3.fr> 168
1475
1476 * src/cmt_use.cxx (show_all): Standardize the output format of
1477 show uses to ensure that we always have in the last part:
1478
1479 use <package> <version> [<offset>] (<path>) (<qualifier>) (...)
1480
1481 or (with -quiet)
1482
1483 use <package> <version> [<offset>]
1484
1485 Also fix a bug when trying to remove offset from real_path...
1486
1487
14882003-08-11 Christian Arnault <arnault@lal.in2p3.fr> 167
1489
1490 * mgr/Makefile (bintar): Dynamically gets the list of binaries
1491 available of this machine. Then constructs CMTDownload.html
1492 accordingly.
1493
1494 * doc/CMTDownload1.html: First part of CMTDownload.html
1495 * doc/CMTDownload2.html: Last part of CMTDownload.html
1496
1497 * doc/installations.doc: upgrade list of porting machines
1498
1499 * src/cmt_version.h (CMTVERSION): new patch tag v1r14p20030811
1500
1501 * src/cmt_use.cxx (show_sub_uses): Display the original request
1502 instead of the registered sub use (which may be different than the
1503 request)
1504
1505 * src/cmt_use.h (class Use): Add context_use in the argument list
1506 to display the use that created this request
1507
1508 (class Use): Add a vector of the real requests (well only those that ended up in a sub use)
1509
1510 * src/cmt_use.cxx (need_new): Dispay the incompatibility message
1511 in need_new rather than in the BestFitSelector, since
1512 corresponding uses may have been discarded then.
1513
1514 * src/cmt_system.cxx (is_version_directory): return all -1 values
1515 when version specification is just '*'
1516
15172003-08-08 <arnault@lal.in2p3.fr> 166
1518
1519 * mgr\requirements: Tuning pour CYGWIN
1520
15212003-08-06 Christian Arnault <arnault@lal.in2p3.fr> 165
1522
1523 * src/cmt_symbol.cxx (create): Same reasons (LynxOS) => convert a
1524 static array of strings into a switch statement (not quite
1525 elegant). May move back in some future if problem is solved on
1526 LynxOS.
1527
1528 * src/cmt_syntax.cxx (CommandParser): Initialze the new help_texts
1529 by filling in a vector rather that from a static array of
1530 cmt_string (too bad...)
1531
1532 * src/cmt_syntax.h (class CommandParser): Need to redefine the
1533 management of static arrays of objects due to a bug in c++
1534 compiler on LynxOS... A Workaround is found by transfering static
1535 arrays into the singleton => m_helps and m_help_texts
1536
15372003-08-06 <arnault@lal.in2p3.fr> 164
1538
1539 * src\cmt_parser.cxx (dos_script_prefix): Adapt the generation of
1540 setup.bat scripts so as to account for the new DOS device constructs
1541 \\xxx\aaa
1542
1543 * src\setup.bat: Add /D to the cd command to support CMT on a
1544 different device
1545
15462003-08-05 <arnault@lal.in2p3.fr> 163
1547
1548 * src/cmt_parser.cxx (dos_script_prefix): remove device from path
1549 when device takes the conventional form. new form (\\xxx\) is not
1550 yet handled.
1551
1552 * src/cmt_install_area.cxx (config): Don't produce output messages in quiet mode
1553
15542003-08-05 Christian Arnault <arnault@lal.in2p3.fr> 163
1555
1556 * src/cmt_system.cxx (pwd): Make use of the PWD environment
1557 variable when it is defined to detect current directory in place
1558 of getcwd (keep gettcwd when PWD is not defined or on WIN32)
1559
1560 * fragments/install_includes_header (install): Avoid useless
1561 re-installation of include file area
1562
1563 * src/cmt_use.cxx (add): When m_index is exchanged between two
1564 uses, the discarded flag must be upgraded accordingly
1565 (class use_action_iterator): Suppress trailing slash characters on
1566 package offset specifications.
1567
1568 * src/cmt_parser.cxx (class StandardMacroBuilder): Define
1569 package_cmtpath instead of just cmtpath as the standard macro, in
1570 order to avoid conflict with CMTPATH env. var. on Windows.
1571 (do_broadcast): Define the pattern <package_cmtpath> instead of
1572 <cmtpath> for broadcast command templates
1573
1574 * src/cmt_use.cxx (need_new): first consider the already registered use
1575 (add): Fix a bug in the algorithm for checking registrations of uses.
1576 (class use_action_iterator): Remove trailing slashes from prefix specifications
1577
15782003-06-20 Christian Arnault <arnault@lal.in2p3.fr> 162
1579
1580 * src/cmt_version.h: new patch id 20030620
1581
1582 * mgr/Makefile (gendoc): Add a target to convert XML doc into HTML
1583 (so far only available at CERN)
1584
1585 * doc/gendoc.py (Book.plain_char_data): improvements.
1586
1587 * src/cmt_parser.cxx (do_broadcast): Fix evaluation of <cmtpath>
1588 <package_offset> in -global mode
1589
15902003-06-19 <arnault@lal.in2p3.fr> 161
1591
1592 * src/cmt_system.cxx (add_cmt_path): Fix cmtpath checking for
1593 devices on Windows
1594
15952003-06-19 Christian Arnault <arnault@lal.in2p3.fr> 160
1596
1597 * fragments/nmake/library_no_share: Use the @<< syntax of nmake to
1598 cope with long list of OBJS
1599 * fragments/nmake/application: idem
1600 * fragments/nmake/library: idem
1601
16022003-06-18 Christian Arnault <arnault@lal.in2p3.fr> 159
1603
1604 * mgr/requirements: Use ln -s for the cmt_install_area_command
1605
1606 * fragments/application (install_dir): Use $(tag) instead of $(CMTCONFIG)
1607 * fragments/library (install_dir): Use $(tag) instead of $(CMTCONFIG)
1608 * fragments/library_no_share (install_dir): Use $(tag) instead of $(CMTCONFIG)
1609 * fragments/nmake/application (install_dir): Use $(tag) instead of $(CMTCONFIG)
1610 * fragments/nmake/library (install_dir): Use $(tag) instead of $(CMTCONFIG)
1611 * fragments/nmake/library_no_share (install_dir): Use $(tag) instead of $(CMTCONFIG)
1612
1613 * mgr/requirements: use cp -s and not cp -l to create symlinks
1614
16152003-06-16 Christian Arnault <arnault@lal.in2p3.fr> 158
1616
1617 * src/cmt_version.h (CMTVERSION): New Tag 20030616
1618
1619 * src/Makefile.header (common_target): Make use of the mktemp
1620 shell function
1621
1622 * doc/CMTDoc.xml: Doc
1623
1624 * src/cmt.h (class Cmt): Add get_current_cmtpath and
1625 get_current_offset functions.
1626
1627 * src/cmt_parser.cxx (configure_current_cmtpath): Implement (set
1628 m_current_cmtpath and m_current_offset)
1629
1630 * src/cmt.h (class Cmt): Add configure_current_cmtpath function
1631
1632 * src/cmt_parser.cxx (class StandardMacroBuilder): Add standard
1633 macros cmtpath and package_offset
1634 (do_broadcast): Add substitutions of <package>, <version>, <cmtpath>, <package_offset>
1635 (class StandardMacroBuilder): Set m_current_cmtpath and m_current_offset
1636
1637 * src/cmt.h (class Cmt): Adding current value for cmtpath and offset
1638
1639 * mgr/requirements: Use symlink instead of cp as default transfer
1640 action into installation area
1641
16422003-06-12 Christian Arnault <arnault@lal.in2p3.fr> 157
1643
1644 * src/cmt_pattern.cxx : fix a bug in ApplyPattern::action: macros
1645 should NOT be expanded when parsing the statement. Only the
1646 pattern name may be expanded.
1647 Second fix: when a pattern is re-defined, the Pattern object must be
1648 properly reset.
1649
16502003-06-04 <arnault@vmlinux> 156
1651
1652 * src/cmt_version.h (CMTVERSION): Tag the version to v1r14p20030605
1653
1654 * mgr/build_from_rpm.sh (tempdir): Add a shell script for testing
1655 the source kit (not complete)
1656
1657 * mgr/install_from_rpm.sh: Add a shell script for testing the
1658 generated binary RPM.
1659
1660 * mgr/Makefile (rpm): Add the rpm target to build RPMs into ../rpm
1661
1662 * mgr/CMT.spec: Add an RPM spec file for CMT. Only the binary kit
1663 has been tested successfully
1664
1665 * doc/install.html: Document the usage of the CMT RPM
1666
1667 * src/cmt_parser.cxx (dos_script_prefix): Use %TEMP% instead of
1668 %HOMEDRIVE%%HOMEPATH% for temporary setup files on Windows
1669
16702003-06-04 Christian Arnault <arnault@lal.in2p3.fr> 155
1671
1672 * fragments/install_includes_header (install): Fixed wrong test on
1673 CMTINSTALLAREA
1674
1675 * src/cmt_syntax.cxx (parse_requirements): Transfer the scoping
1676 algorithm to parse_requirements_text so that patterns supplying
1677 private statements will work nicely.
1678 (parse_requirements_text): see above
1679
16802003-05-23 Christian Arnault <arnault@lal.in2p3.fr> 154
1681
1682 * src/Makefile.header: removing apparently obsolete MAKEFLAGS
1683 filtering mechanisms on -j option
1684
1685 * src/setup.zsh: Add cmt show cycles zsh expansion
1686
1687 * src/cmt_parser.cxx (parser): Add cmt show cycles parsing and support
1688
1689 * src/cmt_syntax.cxx (CommandParser): Add show_cycles info
1690
1691 * src/cmt_parser.h (enum): Add action_show_cycles
1692
1693 * src/cmt.h (class Cmt): Add cmt show cycles command to display use cycles
1694
16952003-05-22 Christian Arnault <arnault@lal.in2p3.fr> 153
1696
1697 * src/cmt_std.h: Suppress include ios for new header style
1698
1699 * src/cmt_parser.cxx (parse_arguments): Install a -private option to
1700 the show_use_paths action. When -private is present on the command
1701 line then the private uses are reached.
1702 (parse_arguments): Make the --private or --public option a global
1703 option to control on all CMT commands whether we reach or not the
1704 private uses.
1705
1706 * src/cmt_use.cxx (class use_action_iterator): Detect the new
1707 scope filtering mode to actually reach the private uses
1708
1709 * src/cmt_parser.cxx: Set the scope filtering mode when
1710 appropriate (cmt_show_uses, cmt_show_use_paths, cmt_broadcast,
1711 cmt_set_versions, cmt_show_setup)
1712
1713 * src/cmt.h (class Cmt): Add m_scope_filtering_mode attribute
1714
1715 * src/cmt_parser.cxx (get_scope_filtering_mode): Implement the new function
1716 (set_scope_filtering_mode): Implement the new function
1717
1718 * src/cmt.h (class Cmt): Add set_scope_filtering_mode function
1719 (class Cmt): Add get_scope_filtering_mode function
1720
1721 * src/cmt_parser.h (enum): Add a scope filtering mode to block or
1722 reach private uses
1723
17242003-05-21 Christian Arnault <arnault@lal.in2p3.fr> 153
1725
1726 * src/cmt_use.cxx (get_all_clients): Public interface to private
1727 get_all_clients
1728 (get_all_clients): Actual recursive implementation for getting all
1729 paths to a given client
1730
1731 * src/cmt_use.h (class Use): Implement two new get_all_clients
1732 functions to acquire all paths to a given client of a package (one
1733 public with simple interface and one private with temporary
1734 storage).
1735
1736 * src/cmt_use.cxx (class use_action_iterator): traverse complete
1737 use graph for action_show_use_paths
1738
1739 * src/cmt_std.h: Set new C++ header style on Linux
1740
1741 * src/setup.zsh: Add cmt show use_paths to auto-expansion definition
1742
1743 * src/cmt_syntax.cxx (CommandParser): Add help for cmt show use_paths
1744 (get_help_texts): idem
1745
1746 * src/cmt_parser.cxx (do_show_use_paths): implement do_show_use_paths function
1747 (parse_arguments): parse cmt show use_paths <package>
1748 (parser): idem
1749
1750 * src/cmt.h (class Cmt): add do_show_use_paths function
1751
1752 * src/cmt_parser.h (enum): Start implementing a new feature: cmt
1753 show use_paths <package> to display all possible paths between the
1754 current package and the specified package.
1755
17562003-05-19 <arnault@lal.in2p3.fr> 152
1757
1758 * mgr\cmt_linux_version.sh: add a script for querying linux
1759 version for various distributions (contribution from Clark McGrew
1760 <clark.mcgrew@sunysb.edu>)
1761
1762 * src\cmt_symbol.cxx (show_macro): re-apply suppress_OS_delimiter
1763 when generating the tag makefile, but only on WIN32 context.
1764
1765 * src\cmt_pattern.cxx (class apply_pattern_action_iterator): Add
1766 action iterator to expand macros before parsing line.
1767
1768 * src\cmt_fragment.cxx (class fragment_action_iterator): Add
1769 action iterator to expand macros before parsing line.
1770
1771 * src\cmt_fragment.cxx (action): Hide make_fragments in private
1772 sections like macros
1773
1774 * mgr\requirements: Introduce the generic Unix tag for all Unix platforms
1775
1776 * src\cmt_parser.cxx (dos_script_prefix): Factor out the writing
1777 of DOS setup and cleanup scripts.
1778
1779 * mgr\INSTALL.bat: No longer need nmake to generate the setup.bat
1780 script of CMT, thanks to the %~d0%~p0 mechanism (copy from src is enough).
1781
1782 * src\setup.bat: Install a generic mechanism for finding the
1783 current drive letter (unfortunately this mechanism does not work
1784 in any possible Unix shell)
1785
1786 * src\cmt_parser.cxx (install_setup_scripts): Apply the drive
1787 letter mechanism to setup scripts
1788
17892003-05-17 <arnault@lal.in2p3.fr> 151
1790
1791 * mgr\requirements: Typo in the cmtpath_pattern : use_includes
1792
17932003-05-14 <arnault@lal.in2p3.fr> 150
1794
1795 * src\cmt_parser.cxx (restore_all_tags): Bug in managing
1796 -tag=<taglist> argument due to the separator in m_extra_tags :
1797 force a separator before and after all tags in the list
1798 (parse_arguments): idem
1799 (print): idem
1800
18012003-05-13 <arnault@lal.in2p3.fr> 149
1802
1803 * fragments/tex: install correction from Marie Anne
1804
18052003-05-12 <arnault@lal.in2p3.fr> 148
1806
1807 * mgr/cmt_linux_version.sh: Adding a script to retrieve Linux version and distribution
1808
1809 * mgr/requirements: Add declaration of install_includes fragments
1810
1811 * fragments/install_includes_header: Make fragment for installing
1812 include directory but only for those following the standard
1813 pattern of ../<package>
1814
1815 * fragments/install_includes:
1816 * fragments/nmake/install_includes_header:
1817
1818 * mgr/cmt_installdir_action.bat: Special treatment of directory
1819 installation
1820 * mgr/cmt_uninstalldir_action.bat:
1821
1822 * fragments/constituents_trailer (remove_library_links): Add a
1823 remove_library_links target
1824 * fragments/nmake/constituents_trailer: idem
1825
1826 * fragments/constituent (uninstall): Suppress dependencies for
1827 uninstall target
1828 * fragments/nmake/constituent (uninstall): idem
1829
18302003-05-11 <arnault@lal.in2p3.fr> 147
1831
1832 * mgr\requirements: Add search libpath to installarea for WIN32
1833
1834 * fragments\nmake\library (install): bug (typo) in target names
1835
1836 * mgr\cmt_install_action.bat: use rem comments instead of #
1837 * mgr\cmt_uninstall_action.bat: idem
1838
1839 * mgr\NMake (cmt): Filter out the include and lib definitions in
1840 VisualC.nmake for cmt itself.
1841
1842 * src\cmt_parser.cxx (scan_path): Suppress unused variable
1843
1844 * src\cmt_std.h (OLD_HEADERS): Adopt new header style for WIN32
1845
1846 * mgr\requirements: Add compiler option for exception handling in VisualC
1847
18482003-05-05 Christian Arnault <arnault@lal.in2p3.fr> 146
1849
1850 * src/cmt_use.cxx (add): Set the warning for package not found a real warning.
1851
1852 * src/cmt_parser.cxx (do_setup): Change the info message to be
1853 displayed only when appropriate
1854
18552003-05-05 <arnault@lal.in2p3.fr> 145
1856
1857 * src/cmt_version.h: v1r14
1858
1859 * doc/CMTDoc.xml: Improve the doc
1860
1861 * doc/gendoc.py (Book.syntax_start): Add an attribute name in
1862 syntax for avoiding name conflicts
1863
1864 * fragments/nmake/jar (install):
1865 * fragments/nmake/java_header (install):
1866 * fragments/nmake/library_no_share (install):
1867 * fragments/nmake/library (install):
1868 * fragments/nmake/application (install):
1869
1870 * fragments/jar (install):
1871 * fragments/java_header (install):
1872 * fragments/library_no_share (install):
1873 * fragments/library (install):
1874 * fragments/application (install): apply the centralized scripts
1875
1876 * mgr/cmt_uninstall_action.bat:
1877 * mgr/cmt_install_action.bat:
1878 * mgr/cmt_uninstall_action.sh:
1879 * mgr/cmt_install_action.sh: Scripts for doing
1880 (un)installation into the current installation area
1881
18822003-05-02 Christian Arnault <arnault@lal.in2p3.fr> 144
1883
1884 * fragments/application (uninstall, install):
1885 * fragments/library (uninstall, install):
1886 * fragments/library_no_share (uninstall, install):
1887 * fragments/java_header (uninstall, install):
1888 * fragments/jar (uninstall, install):
1889 * fragments/constituent (install, uninstall): Add (un)install actions
1890 idem for nmake
1891
1892
18932003-05-02 <arnault@lal.in2p3.fr> 143
1894
1895 * doc/gendoc.py : Create a new mechanism for generating HTML
1896 documentation from an XML representation.
1897
18982003-04-30 Christian Arnault <arnault@lal.in2p3.fr> 142
1899
1900 * src/cmt_parser.cxx (do_show_strategies): Display the Setup strategy
1901
1902 * src/cmt_syntax.cxx (class KwdSetupStrategy): Decode the
1903 [no_]cleanup option for the setup_strategy in requirements file
1904
1905 * src/cmt_parser.cxx (parse_arguments): Decode the -no_cleanup option
1906 (do_setup): Apply the cleanup only when the setup strategy permits it
1907 (do_config): idem
1908
1909 * src/cmt_parser.h (enum): Add NoCleanup possibility to the SetupStrategy
1910
19112003-04-16 Christian Arnault <carnault@lxplus051.cern.ch> 141
1912
1913 * src/cmt_parser.cxx (run): Bug in PackageCollector::run current
1914 directory missed the package name. (for cmt show clients)
1915
19162003-04-12 <arnault@lal.in2p3.fr> 140
1917
1918 * src\cmt_generators.cxx: Add excludes to all calls to get_all_files
1919
1920 * src\cmt_generator.h (class CmtGenerator): Add exclude expressions
1921
1922 * src\cmt_constituent.cxx (class constituents_action_iterator):
1923 Implement the -x=<pattern> option to the constituent to exclude
1924 patterns. Create regexps for each pattern.
1925 (show): Show excludes
1926
1927 * src\cmt_constituent.h (class Constituent): Add a vector of
1928 regexp for exclude specs.
1929
1930 * src\cmt_regexp.cxx (set): Implement the set function.
1931
1932 * src\cmt_regexp.h (class cmt_regexp): Introduce a default
1933 constructor and a set function
1934
1935 * src\cmt_generators.cxx:
1936 * src\cmt_generator.cxx: Strong restruring of generator architecture:
1937 + create a CmtGenerator basic class for all generators
1938 + create derived classes for all categories of generators
1939 ApplicationGenerator
1940 LibraryGenerator
1941 DocumentGenerator
1942 ReadmeGenerator
1943 PrototypeGenerator
1944 DefaultMakefileGenerator
1945 MSDEVGenerator
1946 VSNETGenerator
1947 MakeSetupGenerator
1948 ConstituentsMakefileGenerator
1949 DependencyGenerator
1950 + transfer new stuff in cmt_generators.h/.cxx
1951 + transfer all utility functions (get_all_files etc...) into the base class
1952 + optimize handling of Variable and FragmentHandle objects per Generator class
1953
1954
1955 * src\cmt_install_area.cxx (config): suppress echo in quiet mode
1956
1957 * src\cmt_parser.cxx (install_test_setup_scripts): Protect tempfile against spaces in paths
1958 (install_test_cleanup_scripts): idem
1959 (install_setup_scripts): idem
1960 (install_cleanup_scripts): idem
1961
19622003-04-11 Christian Arnault <carnault@lxplus051.cern.ch> 139
1963
1964 * src/cmt_parser.cxx (do_run_sequence): Sequences are removed from
1965 cmt.cxx and implemented in a dedicated source file.
1966
1967 * src/cmt_sequence.h (class SequenceRunner): Adding cmt_sequence.h
1968 (defining sequences)
1969
1970 * src/cmt_sequence.cxx (filter): Adding cmt_sequence.cxx (extracted
1971 from cmt.cxx)
1972
1973 * src/cmt_generator.cxx (get_all_files): Return a count of non
1974 empty file names.
1975 (build_library_makefile): Ensure that get_all_files is done only
1976 once.
1977 (build_document_makefile): Ensure that get_all_files is done only
1978 once (not completed yet)
1979 (class DocumentMakefileGenerator): Start creating an object model
1980 for makefile generators. Create derived classes of
1981 MakefileGenerator for Application, Library, document
1982
1983 * src/cmt_constituent.h (class Constituent): Add excludes vector
1984 of exclusions
1985
1986 * src/cmt_constituent.cxx (class constituents_action_iterator):
1987 Start implementing exclusion mechanisms on constituent sources.
1988 We add a -x=<pattern> cumulative option to the constituent syntax
1989
19902003-04-07 <arnault@lal.in2p3.fr> 138
1991
1992 * src\cmt_generator.cxx: Add DIRNAME Variable
1993 Add new fragments for vcproj
1994
19952003-04-05 <arnault@lal.in2p3.fr> 138
1996
1997 * mgr\requirements: define VC7 VC7debug tags for vsnet
1998
1999 * src\cmt_generator.cxx (class MakefileGenerator): Add vsnetdir variable
2000 Add declarations for vsnet fragments
2001 (reset): Install vsnetdir as ..\VisualC
2002 (pseudoGUID): Implement an algorithm for creating GUIDs
2003 (build_vsnet_workspace):
2004 (build_vsnet):
2005
2006 * src\cmt_generator.h (class Generator): Declare
2007 build_vsnet_workspace and build_vsnet methods
2008
2009 * src\cmt_constituent.cxx (build_all_vsnet_files): Implement for vsnet
2010 (build_vsnet_file): Implement for vsnet
2011
2012 * src\cmt_constituent.h (class Constituent): Add build_all_vsnet_files
2013 (class Constituent): Add build_vsnet_file
2014
2015 * src\cmt_parser.cxx (class StandardMacroBuilder): Add macro
2016 <constituent>_GUID for vsnet.
2017 (parser): Implement cmt build vsnet actions
2018
2019 * src\cmt_syntax.cxx (CommandParser): Add help about cmt build vsnet
2020
2021 * src\cmt_parser.h (enum): Add action_build_vsnet
2022
2023 * src\cmt.h (class Cmt): Add Visual Sudio.Net support (From Toby Burnett)
2024
20252003-04-03 Christian Arnault <carnault@lxplus051.cern.ch> 137
2026
2027 * src/cmt_parser.cxx (do_setup): Do a config action to the
2028 installation area in order to perform a cleanup operation during
2029 the source setup
2030
2031 * src/cmt_install_area.cxx (config): Display a message when doing
2032 cleanup of installation areas.
2033
2034 * mgr/requirements: Rename cmt_(un)install_command to cmt_(un)install_area_command
2035 Prepare CMTr14 tag from CMTr13
2036
2037 * fragments/java_header (install_java_bin_dir): idem
2038 * fragments/library_no_share (install_lib_dir): idem
2039 * fragments/jar (install_java_lib_dir): idem
2040 * fragments/library (install_lib_dir): idem
2041 * fragments/application (install_bin_dir): idem
2042
20432003-04-02 Christian Arnault <carnault@lxplus051.cern.ch> 136
2044
2045 * src/cmt_symbol.cxx (build): Bug : the macro_prepend was NOT really prepending.
2046
20472003-03-28 Christian Arnault <carnault@lxplus051.cern.ch> 136
2048
2049 * src/cmt_parser.cxx (class StandardMacroBuilder): Add CMTVERSION standard macro
2050
20512003-03-28 <arnault@lal.in2p3.fr> 135
2052
2053 * src\cmt_parser.cxx (configure_version_tag): Create three new predefined tags:
2054 CMTv<n>
2055 CMTr<n>
2056 CMTp<n>
2057 to describe the current version, release and patch of CMT.
2058
2059 * src\cmt_parser.h (enum): Adding PriorityVersion for marking the
2060 priority of the new automatic version tag
2061
2062 * src\cmt_parser.cxx (configure_version_tag): Implement
2063 configure_version_tag method to create a tag for the version of
2064 CMT
2065
2066 * src\cmt.h (class Cmt): Adding configure_version_tag method to
2067 create a tag for the version of CMT
2068
2069 * src\cmt_symbol.cxx (all_set): Ensure that all path separators
2070 are back-slash on windows.
2071
2072 * fragments\nmake\jar: Adapt for the new convention (subdirectory for the CONSTITUENT)
2073 (install_java_lib_dir): Add installation area mechanisms
2074
2075 * fragments\nmake\java: Adapt for the new convention (subdirectory for the CONSTITUENT)
2076
2077 * fragments\nmake\java_header (install_java_bin_dir): Add installation area mechanisms
2078
20792003-03-21 Christian Arnault <carnault@lxplus051.cern.ch> 134
2080
2081 * src/cmt_parser.cxx (parser): cmt run must be recursive for used
2082 packages (in order to get all environment variables set)
2083
20842003-03-20 Christian Arnault <carnault@lxplus051.cern.ch> 133
2085
2086 * src/cmt_symbol.cxx (show): Implement common SymbolValueList::show method.
2087
2088 * src/cmt_symbol.h (class SymbolValueList): Factor out printing SymbolValues
2089
2090 * src/cmt_symbol.cxx (create): Give use context in warning message
2091
2092 * src/cmt_symbol.h (class Symbol): Add Use* argument to print
2093 context in warning messages
2094
2095 * src/cmt_parser.cxx (vector_to_string): Ignore empty entries to
2096 avoid duplicate separators
2097
20982003-03-20 Christian Arnault <carnault@lxplus051.cern.ch> 132
2099
2100 * src/cmt_error.cxx (print): Consistently set the prefix "#CMT> "
2101 to all error messages and print outs
2102 * src/cmt_triggers.cxx (filter): idem
2103 * src/cmt_use.cxx (add): idem
2104 * src/cmt_generator.cxx (build_default_makefile): idem
2105 * src/cmt_symbol.cxx (create): idem
2106 * src/cmt_parser.cxx (do_show_macro): idem
2107
2108 * src/cmt_symbol.cxx (create): Handle the unconsistent multiple
2109 declarations of sets as macros (and vice versa)
2110
2111 * src/cmt_error.cxx (class Error): Add warning error text
2112 * src/cmt_error.h (class CmtError): Add warning error code
2113
2114 * src/cmt_parser.cxx (reach_current_package): Suppress error print
2115 when requirements file is not found
2116 (do_show_macro): Improve the error message in the
2117 "cmt show macro/set" command
2118
21192003-03-20 Christian Arnault <carnault@lxplus051.cern.ch> 131
2120
2121 * src/cmt_parser.cxx (reach_current_package):
2122 * src/cmt_install_area.h (class CmtInstallAreaMgr): Factor out the
2123 construction of the current installation area
2124
2125 * src/cmt_install_area.cxx (setup): Filters out "default path" for
2126 constructing the current installation area
2127 (config): idem
2128
2129 * src/cmt_cmtpath_pattern.cxx (apply): Suppress "default path" (ie
2130 CMTPATH of CMT) from application of cmtpath_patterns
2131
2132 * src/cmt_parser.cxx (get_cmt_path_sources): Add accessor to cmtpath_sources
2133
2134 * src/cmt.h (class Cmt): Add accessor to cmtpath_sources
2135
21362003-03-18 Christian Arnault <carnault@lxplus051.cern.ch> 130
2137
2138 * src/cmt_cmtpath_pattern.cxx (apply): Optimize the substitution
2139 of "<path>" in cmtpath_patterns by avoiding a loop over path items
2140 when the pattern does not contain "<path>" at all
2141
21422003-03-13 Christian Arnault <carnault@lxplus051.cern.ch> 130
2143
2144 * mgr/requirements: Add -classpath $(src) to java compilation
2145
2146 * src/cmt_generator.cxx (analyze_file): Default copy action for
2147 files with no language is applied only to java contexts
2148
21492003-03-12 Christian Arnault <carnault@lxplus051.cern.ch> 130
2150
2151 * fragments/java_copy: Use this fragment for default action on
2152 sources with no language
2153
2154 * src/cmt_generator.cxx (module_file_action): Install default
2155 (copy) action for source files with no language.
2156
2157 * fragments/java_header: Building jar files with * rather than *.class
2158
2159 * fragments/jar: Building jar files with * rather than *.class
2160
2161 * fragments/java_header: Syntax fix for generating manifest file
2162
21632003-03-11 Christian Arnault <carnault@lxplus051.cern.ch> 129
2164
2165 * src/setup.zsh: Add show cmtpath_patterns option
2166
2167 * src/cmt_generator.cxx (analyze_file): Add constituent sub
2168 directory to output for java files
2169
2170 * fragments/jar: Add constituent sub directory to ../classes to
2171 store *.class and jar files
2172
2173 * fragments/java_header (install_java_bin_dir): Apply installation
2174 area mechanisms for java application
2175
2176 * mgr/requirements: Need both share/bin and share/lib for installarea
2177
21782003-03-10 Christian Arnault <carnault@lxplus051.cern.ch> 129
2179
2180 * src/cmt_cmtpath_pattern.cxx (apply): CMTPATH patterns should be
2181 applied in revers order
2182
2183 * mgr/requirements: bug fix (missing backslash)
2184
2185 * src/cmt_install_area.cxx (config): Bug fix
2186
21872003-03-09 <ARNAULT@lal.in2p3.fr> 128
2188
2189 * src\cmt_install_area.cxx (setup): Make use of the cmt_installarea_prefix macro
2190 (config): idem
2191
21922003-03-08 <ARNAULT@lal.in2p3.fr> 128
2193
2194 * mgr\requirements: Define the cmt_installarea_prefix macro to
2195 parameterize the common prefix to be added to all CMTPATH entries
2196 for installation areas
2197
21982003-03-06 <ARNAULT@lal.in2p3.fr> 127
2199
2200 * src\cmt_install_area.cxx (config): Introduce the new macro
2201 cmt_installarea_paths used to declare all PATHS inside the
2202 installareas that will need to be checked for consistency when
2203 doing cmt config
2204
2205 * src\cmt_install_area.h (class CmtInstallAreaMgr): Remove
2206 set_path, add_path_pattern, apply_path_patterns function since
2207 they are all managed through cmtpath_patterns
2208
2209 * src\cmt_parser.cxx (do_show_cmtpath_patterns): Do set_standard_macros
2210
2211 * src\cmt_install_area.cxx (setup): Launch the CmtPathPattern::apply_all ()
2212
2213 * src\cmt_parser.cxx (parser): Add parsing of cmt show cmtpath_patterns
2214
2215 * src\cmt_syntax.cxx: Add parsing of cmt show cmtpath_patterns
2216
2217 * src\cmt_parser.h (enum): Add action_show_cmtpath_patterns
2218
2219 * src\cmt_database.cxx (cmtpath_patterns): Add CmtPathPatternVector object
2220
2221 * src\cmt_database.h (class Database): Add CmtPathPatternVector
2222
2223 * src\cmt_cmtpath_pattern.cxx: Install partial reproduction of cmt_pattern.cxx
2224
2225 * src\cmt_cmtpath_pattern.h: Create cmt_cmtpath_pattern.h
2226 (class CmtPathPattern): Install partial reproduction of cmt_pattern.h
2227
2228 * mgr\requirements: Add the source file cmt_cmtpath_pattern.cxx
2229
2230 * src\cmt_syntax.cxx (class KwdCmtPathPattern): add parser object
2231 for the new CommandCmtPathPattern.
2232
2233 * src\cmt_parser.h (enum): Add CommandCmtPathPattern to declare
2234 CMTPATH patterns to be applied onto all CMTPATH items.
2235
22362003-03-06 <ARNAULT@lal.in2p3.fr> 126
2237
2238 * src\cmt_symbol.cxx (all_set): Add debug informattion
2239
2240 * src\cmt_parser.cxx (do_run): Do set_standard_macros before
2241 running
2242
22432003-03-06 Christian Arnault <carnault@lxplus051.cern.ch> 125
2244
2245 * src/cmt_system.h (class CmtSystem): Adding putenv to set environment variables
2246 * src/cmt_system.cxx (putenv): idem
2247
2248 * src/cmt_symbol.cxx (class SetBuilder): The build and clean
2249 function should return string object rather that referencing the
2250 string object attribute (protection against recursive calls)
2251 (class PathBuilder): idem
2252 (class MacroBuilder): idem
2253 (class ScriptBuilder): idem
2254 (resolve_value): Add comments and improve variable naming
2255 (resolve_value): idem
2256 (resolve_value_for_macros): idem
2257 (suppress_OS_delimiters): idem
2258
2259 * src/Makefile.header (common_target): Use /tmp to
2260 create temporary (and disposable) make fragments. Rearrange
2261
2262 * mgr/Makefile (cpp): Provide support to build on LinuxDebug
2263
2264 * fragments/constituents_header (cmt_lock_setup): Use /tmp to
2265 create temporary (and disposable) make fragments. Rearrange
2266 statements in the building of $(tag).make so as to ensure that
2267 echo statements are only done when things are ok.
2268
2269 * src/cmt_parser.cxx (install_cleanup_scripts): Define CMTROOT
2270 only if it is NOT defined yet. Goal is to keep user defined
2271 version of CMT.
2272 (install_setup_scripts): idem
2273 (install_test_cleanup_scripts): idem
2274 (install_test_setup_scripts): idem
2275
22762003-02-27 Christian Arnault <carnault@lxplus051.cern.ch> 125
2277
2278 * src/cmt_symbol.h (class ValueBuilder): due to recursivity,
2279 Builder function cannot share the temporary string value
2280
22812003-02-26 Christian Arnault <carnault@lxplus051.cern.ch> 125
2282
2283 * src/cmt_parser.cxx (do_run): Add Symbol::all_set
2284 (do_broadcast): idem (before the loop over packages)
2285
2286 * src/cmt_symbol.cxx (all_set): Install the mechanism to set
2287 environment variables (using putenv) into CMT. This function is
2288 called before running the CmtSystem::execute function.
2289
2290 * src/cmt_symbol.h (class Symbol): Remove the tabs argument of the
2291 print and print_clean methods (obsolete)
2292
2293 * src/cmt_symbol.cxx (resolve_value): rename the argument for the
2294 symbol name (it applies for any symbol, not just for macros)
2295 (resolve_value): Improve comments
2296 (resolve_value_for_macros): Improve comments
2297 (resolve_macro_value): factor out at least one of the resolve macro algorithms
2298
22992003-02-24 Christian Arnault <carnault@lxplus051.cern.ch> 124
2300
2301 * src/cmt_generator.cxx (build_dependencies): Surrounding
2302 dependencies by quotes does not please gmake. We have to check
2303 what happens on Darwin (ie what about path names with spaces?)
2304
23052003-02-14 <ARNAULT@lal.in2p3.fr> 123
2306
2307 * mgr\requirements: Use XCOPY instead of copy for the install
2308 commands to support the directory copy
2309
2310 * fragments\installer: Suppress the need to specify install_dir
2311 with trailing slash
2312
2313 * fragments\nmake\installer: Add installer for Windows
2314
2315 * src\cmt_generator.cxx (build_dependencies): Add double quotes to
2316 support file names with non standard characters (eg spaces) (not
2317 only on Windows).
2318 (filter_path): Add the filter operation to work on one sigle
2319 file. The filter_paths function becomes obsolete and is removed.
2320 (analyze_document_file): Use filter_path instead of filter_paths
2321 (proto_file_action): idem
2322 (module_file_action): idem
2323 (build_library_makefile): idem
2324 (build_document_makefile): idem
2325 (build_dependencies): idem
2326 (build_document_makefile): Support sources being directories
2327 (module_file_action): idem
2328
2329 * mgr\cmt_install_action.bat: idem
2330 * mgr\cmt_uninstall_action.bat: idem
2331 * fragments\nmake\library_no_share (install_lib_dir): idem
2332 * fragments\nmake\library (install_lib_dir): idem
2333 * fragments\nmake\application (install_bin_dir): idem
2334
23352003-02-11 Christian Arnault <carnault@lxplus051.cern.ch> 122
2336
2337 * src/cmt_cvs.cxx (class CvsImplementation): Adding explicit error
2338 message when base directory cannot be created during the checkout.
2339
23402003-02-06 Christian Arnault <carnault@lxplus051.cern.ch> 121
2341
2342 * src/Makefile.header (clean): Remove the pseudo config target for
2343 the clean target
2344
23452003-02-04 Christian Arnault <carnault@lxplus051.cern.ch> 120
2346
2347 * src/cmt_use.cxx (add): Add protection against recursive use
2348 statement to current_use
2349
23502003-02-04 <ARNAULT@lal.in2p3.fr> 119
2351
2352 * src\cmt_use.cxx (need_new): Add protection against recursive use
2353 statement to current_use
2354
23552003-01-31 Christian Arnault <carnault@lxplus051.cern.ch> 118
2356
2357 * mgr/requirements : library_prefix should be empty for WIN32
2358
2359 * src/cmt_parser.cxx (install_setup_scripts): Protect the setup
2360 script generation against cases where : structuring style is set
2361 to without_version_directory and verion tag cannot be determined
2362 (eg. if the version file does not exist). Then, the -version=xxx
2363 option is suppressed from the setup script generation.
2364 (install_test_cleanup_scripts): idem
2365
2366 * src/Makefile.header (common_target): Suppress a debug settings
2367
23682003-01-28 <ARNAULT@lal.in2p3.fr> 117
2369
2370 * src\cmt_install_area.cxx (instance): Suppress the production of
2371 LD_LIBRARY_PATH installation specs for WIN32
2372
2373 * fragments\nmake\library_no_share (install_lib_dir):
2374 * fragments\nmake\library (install_lib_dir):
2375 * fragments\nmake\application (install_bin_dir): Add install area mechanisms for WIN32
2376
23772003-01-24 Christian Arnault <carnault@lxplus032.cern.ch> 116
2378
2379 * src/cmt_install_area.cxx (instance): The constuction of the
2380 instance also declares the path patterns.
2381
2382 (setup): Make use of the path_patterns to generate CMT statements
2383
2384 (get_install_area): The current install area is preserved in the
2385 InstallAreaMgr instance (singleton).
2386
2387 (set_path): (only used internally) build a path expression from a pattern
2388
2389 (setup): Provide additional -L... options towards the install area
2390 for use_linkopts ad shlibbuilder
2391
2392 (config): Perform the cleanup operation onto the current installation area:
2393 check the all ref-files still refer to existing files.
2394 if not erase the corresponding installed file.
2395
2396 * src/cmt_install_area.h (class CmtInstallPathPattern): New class
2397 for storing generic patterns for (PATH/directories) duets
2398 generation and management inside install area mechanisms. The
2399 point is to describe special conventions for things to be
2400 installed within the installation area.
2401
2402 We describe that in terms of a set of :
2403
2404 o path-like variable names
2405 o subdirectory patterns bellow $CMTINSTALLAREA
2406
2407 All those patterns will be used to configure the installation area
2408 and to expand the specified PATH-like variables.
2409
2410 Ex:
2411 PATH is associated with ${CMTCONFIG}/bin
2412 LD_LIBRARY_PATH is associated with ${CMTCONFIG}/lib
2413 CLASSPATH is associated with share/bin
2414
2415 we could think of having those patterns defined in the
2416 requirements file.
2417
2418 * src/cmt_parser.cxx (do_remove_library_links): Handle symlinks
2419 induced by the <package>_libraries macros through INSTALLAREA
2420 mechanisms
2421 (do_build_library_links): (idem)
2422 (set_standard_macros): Setup operations for InstallArea have been
2423 grouped using InstallPathPatterns
2424 (do_config): Add cleanup of install area
2425
24262003-01-23 Christian Arnault <carnault@lxplus032.cern.ch> 115
2427
2428 * src/cmt_syntax.cxx (class KwdBuildStrategy): Support extension
2429 of build_strategy with install_area mechanisms.
2430
2431 * src/cmt_system.cxx (mkdir): Suppress the error message when one
2432 cannot create a directory
2433
2434 * fragments/application (install_bin_dir):
2435 * fragments/library_no_share (install_lib_dir):
2436 * fragments/library (install_lib_dir): Use CMTINSTALLAREA instead of INSTALLAREA
2437
2438 * src/cmt_parser.cxx (do_build_library_links): Use install area
2439 mechanisms when the build_strategy is active rather than
2440 symlinking into the binary directory of the package.
2441
2442 (set_standard_macros): Add the generation of CMTINSTALLAREA
2443 environment variable, the prepending of PATH, LD_LIBRARY_PATH,
2444 CLASSPATH when install_area is active
2445
2446 * src/cmt_install_area.cxx:
2447 * src/cmt_install_area.h (class CmtInstallAreaMgr): New class for
2448 managing install area mechanisms.
2449
2450 * src/cmt_parser.h (enum): Add InstallArea in BuildStrategy
2451
24522003-01-22 Christian Arnault <carnault@lxplus032.cern.ch> 114
2453
2454 * src/cmt_use.cxx (find_index): Bad use of a static local variable
2455 implying wrong management of -import= options
2456 (get_index): Adding accessor function to m_index private attribute
2457
2458 * src/Makefile.header (.DEFAULT): Remove temporary debugging action
2459
24602003-01-21 Christian Arnault <carnault@lxplus032.cern.ch> 113
2461
2462 * src/cmt_symbol.cxx (all_print): Restore two-steps process for
2463 generating setenv calls (first normal env. variables then path-like)
2464 (all_print_clean):
2465
24662002-12-20 Christian Arnault <carnault@lxplus032.cern.ch> 112
2467
2468 * src/cmt_parser.cxx (do_show_strategies): put a space character
2469
2470 * mgr/Makefile (cpp): Add the -O2 compiler option on default platforms
2471
2472 * mgr/requirements: Privately try the construction of the new CMTCONFIG
2473
2474 * src/cmt_parser.cxx (parse_arguments): Add cmt --version equivalence to cmt version
2475
24762002-12-19 Christian Arnault <carnault@lxplus032.cern.ch> 111
2477
2478 * mgr/requirements: Change the name of cmt_cc_version.sh to
2479 cmt_dcc_version.sh for case insentivity of Darwin file system
2480
2481 * fragments/application (install_lib_dir):
2482 * fragments/library (install_lib_dir):
2483 * fragments/library_no_share (install_lib_dir):
2484
24852002-12-18 Christian Arnault <carnault@lxplus032.cern.ch> 110
2486
2487 * src/cmt_symbol.cxx (resolve_value_for_macros): We have to
2488 suppress the conversion from %xxx% to $(xxx) on non-windows
2489 platform, since there were some occurrences of %xxx% patterns,
2490 which have a meaning in unix world!!
2491
2492 * src/Makefile.header (.DEFAULT): Only run once sub-makefile
2493
2494 * src/cmt_symbol.cxx (all_print_clean): Keep order of generation
2495 of sets and paths (instead of sets then paths)
2496
2497 * mgr/cmt_cc_version.sh: Helper scripts for compiler query commands
2498 * mgr/cmt_cxx_version.sh:
2499 * mgr/cmt_CC_version.sh:
2500 * mgr/cmt_gcc_version.sh:
2501
2502 * mgr/cmt_filter_version.sh:
2503
2504 * fragments/constituents_header (first): Make use of cmt show setup
2505
2506 * src/cmt_parser.cxx (do_show_setup): Display sections rather than from the Makefile
2507
2508 * src/cmt_use.cxx (class use_action_iterator): action_show_setup
2509 traverses the private subtrees (like show_uses)
2510
2511 * src/cmt.h (class Cmt):
2512 * src/cmt_parser.cxx (do_show_setup):
2513 * src/cmt_parser.h (enum): Add action_show_setup for grouping show uses,tags,path
2514
2515 * mgr/requirements: Manage a common (sh/csh) style for output
2516 redirection for system query commands
2517
2518 * fragments/library_no_share (install_lib_dir):
2519 * fragments/library (install_lib_dir):
2520 * fragments/application (install_bin_dir): Use cmt_install_command
2521 instead of install_command for install area mechanisms to avoit
2522 conflicts with the installer document generator
2523
25242002-12-18 <ARNAULT@lal.in2p3.fr> 109
2525
2526 * src\cmt_parser.cxx (do_show_strategies): Add display of setup strategy
2527 (print_context): Apply the build strategy
2528
2529 * src\cmt.h (class Cmt): Add get/set current_setup_strategy methods
2530 (class Cmt): Add m_current_setup_strategy attribute
2531
2532 * src\cmt_parser.h (enum): Add SetuStrategy enumeration
2533
2534 * src\cmt_syntax.cxx (class KwdSetupStrategy): Add SetupStrategy class
2535
2536 * src\cmt_parser.h (enum): Add setup_strategy keyword to control
2537 the production of <PACKAGE>CONFIG and <PACKAGE>ROOT env. variables
2538
2539 * src\cmt_parser.cxx (class StandardMacroBuilder): Add few debug printouts
2540
2541 * src\cmt_use.cxx (find_index): The returned index must be the
2542 m_index attribute of the Use object rather than the index in the
2543 use list of the package!!
2544
25452002-12-16 Christian Arnault <carnault@lxplus032.cern.ch> 108
2546
2547 * src/Makefile.header (binclean): Add a quick binclean target
2548 (all): prepend a systematic config target
2549
2550 * fragments/constituents_header (all): Suppress dummy messages in gmake all and config
2551
25522002-12-16 <ARNAULT@lal.in2p3.fr> 107
2553
2554 * src\cmt.h (class Cmt): do_help remembers of the current action
2555 being parsed to have cmt help action
2556
2557 * src\cmt_syntax.h (class CommandParser): Command parsing
2558 mechanisms. So far only the help is handled. General map-based
2559 parsing mechanism is foreseen
2560
2561 * src\cmt_parser.h (enum ActionType): Add global actions for
2562 build, check, show only for error and help management
2563
2564 * src\cmt_syntax.cxx (show): Command Help management introduced (will be improved)
2565
2566 * src\cmt_parser.cxx (parse_arguments): Improve command help with SyntaxParser
2567
2568 * mgr\requirements: Adding specs for query commands on WIN32
2569
25702002-12-12 Christian Arnault <carnault@lxplus032.cern.ch> 106
2571
2572 * mgr/Makefile: Remove the mail sending after CMT rebuild... (!!!)
2573
2574 * src/cmt_symbol.cxx (resolve_macro_value): Detects patterns like:
2575 `$(macro-name)` within symbol definitions. The specified macro is expected
2576 to contain a shell command that will then be executed when expanding
2577 the macro.
2578
2579 * mgr/requirements: Add some system information queries:
2580 hardware
2581 system_version
2582 compiler_version
2583
2584 * mgr/cmt_filter_version.sh: Add a filtering script for system version
2585 informations.
2586
25872002-12-12 <ARNAULT@lal.in2p3.fr> 105
2588
2589 * mgr\requirements: make use of SyntaxParser
2590 * src\cmt_triggers.cxx: idem
2591 * src\cmt_use.cxx: idem
2592 * src\cmt_parser.cxx: idem
2593 * src\cmt_pattern.cxx: idem
2594
2595 * src\cmt_syntax.cxx:
2596 * src\cmt_syntax.h (class Kwd): Introduce the new syntax parsing
2597 mechanism. It is based on a cmt_map of keyword objects. All requirements parsing
2598 operations are now implemented in the SyntaxParser singleton.
2599
2600 * src\cmt_parser.cxx (do_build_library_links): Introduce the
2601 cmt_symlink_cmd macro to override the internal management of
2602 symlink creation in case this is unavailable (eg on Windows)
2603
26042002-12-11 Christian Arnault <arnault@lal.in2p3.fr> 104
2605
2606 * src/cmt_parser.cxx (do_set_versions): Make use of cmt broadcast
2607 to install version files in all packages. Inherit broadcast syntax.
2608
2609 (do_broadcast): Add possibility to use template like in patterns
2610 Start with <version>.
2611
2612 * mgr/Makefile (cpp): Add profiling option
2613
2614 * fragments/check_java (check): Add run options
2615
2616 * src/cmt_use.cxx (find): Use Package grouping of uses
2617 (find_index): Use index registration information
2618 (move): Use index registration information
2619 (reorder): idem
2620 (need_new): Revisit the algo to avoid useless multiple reading of requirements files
2621 (add): Use index registration information
2622 (operate): Improve for without version directory style
2623 (Package): Introduce Package grouping of Use objects
2624
2625 * src/cmt_parser.cxx (do_set_versions): Use Package::is_cmt feature.
2626
2627 * src/cmt_string.cxx (replace): Optimize by reducing the calls to strlen.
2628
2629 * src/cmt_generator.cxx (build_dependencies): Use Package::is_cmt feature.
2630
2631 * src/cmt_include.cxx (print_all): Use Package::is_cmt feature.
2632
2633 * src/cmt_script.cxx (all_print_clean): Use Package::is_cmt feature.
2634
2635 * src/cmt_database.cxx (pattern_list_map): Discard dump features
2636
2637 * src/cmt_database.h (class Database): Restore tag management.
2638 Introduce PatternList and Package management
2639
2640 * src/cmt_project.cxx (class ProjectMgr): Suppress tag management
2641 from projects. Make it back to global management (from Database)
2642
2643 * src/cmt_pattern.h (class PatternList): Introduce PatternList
2644 class to group pattern by names. This class contains a list of
2645 Patterns of the same name but originating from different uses.
2646
2647 * src/cmt_use.h (class Use): renaming uses() to get_ordered_uses() and
2648 all_uses() to get_instances ()
2649
26502002-12-10 Christian Arnault <arnault@lal.in2p3.fr> 103
2651
2652 * src/cmt_project.h (class Project): Add a tag_map to manage tags
2653
2654 * src/cmt_tag.cxx (add): Add a tag_map to manage tags
2655
2656 * src/cmt_tag.h (class Tag): Introduce a map of tags
2657
2658 * src/cmt_database.cxx (symbol_map): install a map of symbols
2659
2660 * src/cmt_database.h (class Database): install a map of symbols
2661
2662 * src/cmt_symbol.cxx (create): Use symbol map to find existing symbols
2663 (find): idem
2664 (symbol_map): access to the map of symbols from the database
2665 (clear_all): clear the database and the map
2666
2667 * src/cmt_symbol.h (class Symbol): Introduce the new typedef
2668 SymbolMap for a cmt_map of Symbols
2669
2670 * src/cmt_map.h: Introduce cmt_map.h implementing a map (binary tree)
2671
2672 * src/cmt_regexp.cxx (cmt_regexp): Rename cmt_node to cmt_regexp_node
2673 * src/cmt_regexp.h: Rename cmt_node to cmt_regexp_node
2674
26752002-12-09 Christian Arnault <arnault@lal.in2p3.fr> 102
2676
2677 * fragments/check_java (check): Add run options (global and local)
2678
26792002-12-09 Christian Arnault <carnault@lxplus032.cern.ch> 101
2680
2681 * mgr/requirements: Fix typo (trailing backslash)
2682
2683 * src/cmt_parser.cxx (parser): Add set versions operation to perform a
2684 global set version onto all used packages.
2685 (do_set_versions): Start implementing a draft scenario
2686 (parser): the set versions action require parsing the use graph.
2687
2688 * src/cmt.h (class Cmt): idem.
2689
2690 * src/cmt_parser.h (enum): idem
2691
2692 * src/cmt_parser.cxx (configure_current_package): Set the default
2693 version expression in absence of both version directory AND
2694 version file to "v*" (instead of "v0")
2695
2696 * src/Makefile.header (binclean): Add new standard target for
2697 erasing at once the $(bin) directory
2698
26992002-12-08 <ARNAULT@lal.in2p3.fr> 100
2700
2701 * src\cmt_parser.cxx (do_set_version):
2702 (scan_path): Improving the management of various structuring styles for the FileScanner.
2703 (do_show_strategies): Displays structuring style in show_strategies
2704 (reach_current_package): Prepare the removal of automatic addition of the
2705 current package area to CMTPATH...
2706 (do_config): Fix discovery of structuring style
2707 (configure_current_package): Fix discovery of structuring style
2708 (class SequenceRunner): Accept version argument in sequence files
2709
2710 * src\cmt.h (class Cmt):
2711 * src\cmt_parser.h (enum): Add set version command to install version.cmt file
2712
2713 * src\cmt_system.cxx (is_version_directory): Handle wild cards in
2714 version ids detection
2715
2716 * mgr\requirements: Add Darwin definitions
2717
2718 * mgr\cmt_make_shlib_common.sh (temp_shlib): Protect against
2719 module files with space in their names
2720
2721 * mgr\requirements: try to remove CMT/v from PATH rather then CMT
2722 only so as to keep subpackages of CMT
2723
2724 * src\cmt_use.cxx (set_auto_imports_state): fix a bug on use pointer comparisons.
2725
2726 * fragments\nmake\constituent:
2727 * fragments\nmake\constituents_header (dirs): fix naming scheme : only .nmake
2728
2729 * mgr\NMake (cmt): protect VisualC.nmake generation against
2730 reminder of the physical location of the rebuild
2731
2732 * src\demo\demoA\requirements: Add PATH towards java on Windows
2733
2734 * mgr\NMake: Add a target to re-generate VisualC.nmake inside CMT
2735 so as to have proper nmake demo
2736
2737 * mgr\requirements: provide debug_option for WIN32 platform
2738
2739 * fragments\nmake\make_header (tags): Suppressed
2740 $(CMTCONFIG),$(CMTEXTRATAGS) and only keep $(CMTEXTRATAGS)
2741
2742 * fragments\nmake\constituents_trailer: added to NMake family
2743 * fragments\nmake\group: added to NMake family
2744
27452002-12-05 <ARNAULT@lal.in2p3.fr> 99
2746
2747 * src\cmt_vector.h (cmt_vector): replace static int frame_size by
2748 enum {frame_size} to C++ ANSI compliance.
2749
2750 * src\cmt_use.cxx (BestFitSelector::operate): When structurig
2751 style is withut-version-directory, the version field of the
2752 package may still contain wild cards. This has to be considered
2753 when checking compatibility.
2754
27552002-12-04 Christian Arnault <carnault@lxplus032.cern.ch> 98
2756
2757 * src/cmt_use.cxx (set_auto_imports_state): bug fix (corresponding to v1r12p20021129)
2758
27592002-10-30 Christian Arnault <carnault@lxplus032.cern.ch> 97
2760
2761 * src/cmt_vector.h (cmt_vector): define frame_size as a static
2762 const int instead of enum
2763
27642002-10-15 Christian Arnault <carnault@lxplus032.cern.ch> 96
2765
2766 * src/cmt_use.cxx: Protect against use objects badly recorded
2767 within auto_imports_state vectors
2768
2769 * src\cmt_parser.cxx (scan_path): Fix algo to scan packages to
2770 cope with no-version style
2771 (class StandardMacroBuilder): Fix no-auto-imports algo
2772
27732002-09-24 Christian Arnault <arnault@lal.in2p3.fr> 95
2774
2775 * mgr/ChangeLog.php: Introduce the online filter for ChangeLog file
2776
2777 * doc/documents.html: Use PHP to filter out ChangeLog
2778
2779 * mgr/Makefile (docs): Install ChangeLog and ChangeLog.php into web site
2780
2781 * src/setup.zsh: Add an empty leading line to avoid shell problems...
2782
2783 * src/Makefile.header (config): force the rebuild of $(tag).make
2784
27852002-08-06 Christian Arnault <arnault@lal.in2p3.fr> 94
2786
2787 * fragments/library: Split action list so as to force the rebuild
2788 of shared libraries when it has been lost while shstamp is still
2789 there.
2790
27912002-06-21 <arnault@lal.in2p3.fr> 93
2792
2793 * src/cmt_parser.cxx (class SequenceRunner): Add support for comments in the sequence files
2794 (do_show_macro_names):
2795 (do_show_set_names):
2796 (print_symbol_names):
2797
2798 (class StandardMacroBuilder): prepare the production of
2799 <constituent>_use_linkopts but let it unsused for the time being
2800
2801 (class StandardMacroBuilder): fix a typo
2802
2803 (class StandardMacroBuilder): fix a bug
2804
2805 * src/cmt_parser.h (enum):
2806 * src/cmt.h (class Cmt): Adding do_show_macro_names,
2807 do_show_set_names, print_symbol_names functions
2808
2809 * src/setup.tcsh:
2810 * src/setup.zsh: move the -quiet option before verb to avoid confusion with new syntax for show xxxs
2811
2812 * src/demo/tprivate.cmt:
2813 * src/demo/demo1.cmt: improve test sequences
2814
2815 * mgr/requirements: add the macro preproc to prepare new scheme
2816 for dependency generation using cpp -MD
2817
2818 * mgr/Makefile (cpp): Specialize default cpp according to the platform
2819 (hosts): we don't need BOOL hosts anymore
2820 (demo): the demo sequence now exploits the sequence runner of CMT
2821 (tprivate): new test sequence on private uses.
2822
2823 * mgr/ChangeLog.awk: Adding this awk script to convert the ChangeLg file int HTML format
2824
2825 * doc/CMTDownload.html:
2826 * doc/download.html:
2827 * doc/install.html: doc improvements
2828
2829 * fragments/application: Temporarily stop using $(${CONSTITUENT}_use_linkopts)
2830
2831 * src/NMakefile.header (tag):
2832 * src/Makefile.header (tags):
2833 * fragments/nmake/constituents_header (tag):
2834 * fragments/nmake/make_header (tag):
2835 * fragments/constituents_header (tag):
2836 * fragments/make_header (tag): Add $CMTCONFIG to tags
2837
28382002-05-29 <arnault@lal.in2p3.fr> 92
2839
2840 * src\cmt_database.cxx:
2841 * src\cmt_database.h:
2842 * src\cmt_project.h (class Project):
2843 * src\cmt_project.cxx (Project): Introduce Project management
2844
2845 * mgr\requirements: Define the default project CMT
2846
2847 * src\cmt_parser.h (enum):
2848 * src\cmt_parser.cxx (select):
2849 Introduce apply_tag statements<br>
2850 Introduce first iteration on project management
2851
2852 * src\cmt_symbol.cxx (action): replace direct access to member of
2853 tag objects by accessor functions.
2854
2855 * src\cmt_tag.cxx (add):
2856 * src\cmt_tag.h (class Tag):
2857 Clean up the for private members only<br>
2858 introduce action_apply to activate a tag from a requirements file<br>
2859 introduce tag expressions -> this defines primary tags versus
2860 computed ones. Selection is either obtained from m_selected for
2861 primary tags or computed from operands otherwise.
2862 so far only AND expressions are available.
2863
28642002-05-28 Christian Arnault <arnault@lal.in2p3.fr> 91
2865
2866 * src/cmt_symbol.cxx (select_last): Make use of Tag::is_selected
2867
2868 * src/cmt_tag.cxx (is_selected):
2869 * src/cmt_tag.h (class Tag): Add and_operands for defining tags
2870 from a bool expression of primary tags. Move selected to private
2871 area to ensure usage of is_selected which may compute the
2872 selection state from operands. The embedded state is now reserved
2873 to primary tags.
2874
28752002-05-28 Christian Arnault <carnault@lxplus040.cern.ch> 90
2876
2877 * src/cmt_awk.cxx (class Parser): Replace the basic parsing engine
2878 by the local Parser class. It takes care of both EOL styles (Unix
2879 and Win) and of trailing backslashes for continuations.
2880
2881 * src/cmt_awk.h (class Awk): Added a function inc_line_number to
2882 increment the line number from the external text parser.
2883
2884 * src/cmt_cvs.cxx (filter): Added debug messages
2885
2886 * src/cmt_parser.cxx (do_awk):
2887 * src/cmt_parser.h (enum): Added action_awk
2888 * src/cmt.h (class Cmt): Added do_awk function for testing the Awk operator.
2889
28902002-05-27 <arnault@lal.in2p3.fr> 89
2891
2892 * doc\todo.html: Adding entries
2893
28942002-05-24 Christian Arnault <carnault@lxplus012.cern.ch> 88
2895
2896 * src/cmt_cvs.cxx (class CvsImplementation): fix few problems with
2897 no_version_directory.
2898
28992002-05-23 Christian Arnault <arnault@lal.in2p3.fr> 87
2900
2901 * src/demo/scenario.awk: Adapt to handle without_version_directory style
2902
2903 * src/demo/demo1.cmt: fix a typo
2904
2905 * src/cmt_parser.cxx (parse_requirements): Fixing bug on private
2906 macros for without_version_directory style
2907
2908 * mgr/Makefile (demo): Improving the demo scenario manager
2909
29102002-05-22 Christian Arnault <arnault@lal.in2p3.fr> 86
2911
2912 * doc/download.html:
2913 * doc/CMTDownload.html:
2914 * src/cmt_version.h (CMTVERSION): preparing tagging for v1r13...
2915
2916 * src/cmt_use.h (class Use): new helpers
2917
2918 * src/cmt_use.cxx (class use_action_iterator): re-design the scope
2919 hiding for private uses (was buggy for first level private uses)
2920 (reach_package): structuring style
2921 (get_full_path): new helper for centralizing the full package path
2922 computation
2923 (reduce_path): new helper to normal form with $<PACKAGE>ROOT
2924 (get_paths): add debug prints
2925 (show_sub_uses): structuring style
2926
2927 * src/cmt_system.h (class CmtSystem):
2928 * src/cmt_system.cxx (reduce_file_separators): helper to reduce
2929 multiple file separators into one
2930 (is_package_directory): structuring style
2931
2932 * src/cmt_pattern.cxx (apply): add debug prints
2933
2934 * src/cmt_parser.h (enum): Add CmtStructuringStyle options
2935
2936 * src/cmt_parser.cxx:
2937 Introducing support for structuring style.
2938 m_current_structuring_style global variable
2939 (scan_path):
2940 (scan_package):
2941 (run):
2942 (PackageCollector::run):
2943 (configure): calling configure_current_structuring_style
2944 (configure_current_package):
2945 (configure_current_structuring_style): new method
2946 (do_broadcast): use Use::get_full_path
2947 (do_config):
2948 (do_create):
2949 (do_help):
2950 (do_lock): suppress unused local variable
2951 (do_remove):
2952 (do_show_macros): add pattern for selection instead of default '*'
2953 (do_show_sets): idem
2954 (do_unlock): suppress unused local variable
2955 (get_current_strategy): new method
2956 (install_cleanup_scripts): install cleanup scripts on windows
2957 (load):
2958 (parse_arguments): re-number argument array
2959 (parse_arguments): support arguments for cmt show macros
2960 (parse_arguments): support arguments for cmt show sets
2961 (parse_arguments): -with_version_directory option
2962 (parse_arguments): -without_version_directory option
2963 (parse_requirements):
2964 (parser): support arguments for cmt show macros
2965 (parser): support arguments for cmt show sets
2966 (print_context): use Use::get_full_path
2967 (print_macros): selection pattern (reg. expression) on symbols
2968 (reach_current_package):
2969 (set_standard_macros): add getting pwd
2970 (set_standard_macros): structuring style
2971
2972 * src/cmt_generator.cxx
2973 (SourceFile::set): use CmtSystem::reduce_file_separators
2974 (prepare_use_context): idem
2975 (prepare_use_context): use Use::get_full_path
2976 (set_full_name): idem
2977 (build_make_setup): idem
2978
2979 * src/cmt_fragment.cxx
2980 (print): use Use::reduce_path factorization
2981 (locate): use Use::get_full_path factorization
2982 (locate): Support structuring style options
2983
2984 * src/cmt_cvs.cxx:
2985 + need cmt.h for accessing structuring style
2986 + support for structuring style
2987
2988 * src/cmt.h (class Cmt):
2989 Adding support for structuring style
2990
2991 do_show_macros now accepts arguments
2992
2993 do_show_sets now accepts arguments
2994
2995 print_macros now accepts a pattern for selecting symbols
2996
2997 * src/demo/tprivate.cmt: Scenario for testing private uses and
2998 -no_auto_imports
2999
3000 * src/demo/demo1.cmt: Scenario for the general test/demo sequence.
3001
3002 * src/demo/scenario.awk: Add a script for installing
3003 scenarios. This script can
3004 - create packages
3005 - install text files relatively to the packages.
3006
3007 * mgr/Makefile (demo): Replace the copy operations for the demo
3008 targets by an awk-based mechanism (only for Unix -> keep old
3009 mechanism for Windows). The scenario.awk script is able to create
3010 packages and install text files into the newly created packages.
3011
3012 Add a target (a scenario) for testing private uses and
3013 -no_auto_imports
3014
3015 Add an help target describing all special targets.
3016
3017 * fragments/constituents_header (first): Differentiate setup.make
3018 with the package name when $(bin) is common.
3019
30202002-05-17 unknown <arnault@lal.in2p3.fr> 85
3021
3022 * doc/todo.html: Adding a web page for ToDo list, and bug reports.
3023
3024 * src/cmt_parser.cxx (install_test_setup_scripts):
3025 * src/cmt_parser.cxx (install_test_cleanup_scripts): Fix the bug
3026 to "source setup" standalone with a current directory outside the
3027 package itself.
3028
30292002-05-15 Christian Arnault <arnault@asc.lal.in2p3.fr> 84
3030
3031 * src/cmt_version.h (CMTVERSION): Preparing the new tag v1r12p20020515
3032
3033 * doc/CMTDoc.html: Upgrade the documentation.
3034
3035 * src/setup.tcsh:
3036 * src/setup.zsh: Add all_tags to the list of know show options
3037
3038 * src/cmt_tag.cxx (show_definition):
3039 * src/cmt_tag.h (class Tag): Added Tag::show_definition
3040 (unfiltered show method wrt the selected state)
3041
3042 * src/cmt_parser.cxx (do_help): Implement the new cmt show all_tags command.
3043
3044 * src/cmt.h (class Cmt): Added Cmt::do_show_all_tags ()
3045
3046 * src/cmt_parser.h (enum): Added action_show_all_tags
3047
3048 * mgr/requirements: remove -I$(inc) from default value of ccomp
3049 macro (no longer needed and has side effects)
3050
3051 * src/cmt_use.cxx (add): Protect against null use pointer when not found.
3052
3053 * src/cmt_tag.cxx (action): do increase the tag ref list when
3054 overridden. It used to be un-overridden...
3055
3056 * fragments/constituents_trailer (clean): add a semi-colon between the two shell commands.
3057
3058 * src/cmt_system.cxx (create_symlink): Explicit .c_str() in system calls.
3059
3060 * doc/table.html: setup a direct URL to CVSWeb rather than through
3061 an intermediate page
3062
30632002-04-12 Christian Arnault <carnault@lxplus030.cern.ch> 84
3064
3065 * doc/CMTDoc.html:
3066 * src/setup.zsh:
3067 * src/setup.tcsh:
3068 * src/cmt_parser.cxx (do_help):
3069 * src/cmt.h (class Cmt):
3070 * src/cmt_parser.h (enum): introduce action_show_all_tags do
3071 display all defined tags (while action_show_tags only shows all
3072 active tags)
3073
3074 * fragments/constituents_trailer (clean): typo in the clean target.
3075
30762002-04-11 <arnault@lal.in2p3.fr> 83
3077
3078 * src\cmt_parser.cxx (print_clean): Suppress the unset of CMTCONFIG
3079
30802002-04-10 <arnault@lal.in2p3.fr> 82
3081
3082 * fragments\library:
3083 * fragments\library_no_share: Suppress the experimental change for
3084 erasing the object files after filling the library
3085
30862002-04-10 Christian Arnault <carnault@lxplus044.cern.ch> 81
3087
3088 * src/cmt_version.h: preparing tagging for v1r12
3089
3090
3091
3092 * mgr/requirements: Adapt to Darwin
3093
3094 * src/cmt_symbol.cxx (action):
3095 * src/cmt_use.cxx (action):
3096 * src/cmt_use.h (class Use): Introduce m_has_native_version
3097
3098 * mgr/requirements: Add standard $(library_prefix) and $(library_suffix) macros
3099
3100 * mgr/cmt_make_shlib_common.sh (temp_shlib): Set verbose mode to
3101 the linker command and control it through the QUIET macro. Fix the
3102 temporary expansion directory
3103
3104 * mgr/cmt_make_shlib_common.sh (temp_shlib):
3105 * fragments/library_header:
3106 * fragments/cleanup_library: Add standard $(library_prefix) and $(library_suffix) macros
3107
3108 * fragments/constituents_trailer (makefilesclean):
3109 * fragments/constituent: remove specific makefile fragments for
3110 the constituents (instead of *.make)
3111
3112 * fragments/library_no_share:
3113 * fragments/library: erase *.o files after filling the library
3114
3115 * src/cmt_use.h (class Use): Add use::sub_use_auto_imports to save
3116 specifications on sub uses. Add Use::set_auto_imports to possibly
3117 promote auto_imports to sub uses when it is changed from Off to
3118 On.
3119
3120 * src/cmt_parser.h (enum):
3121 * src/cmt_pattern.cxx (show_all_applied_patterns):
3122 * src/cmt_pattern.h (class Pattern): adding Pattern::show_all_applied_patterns ()
3123 * src/setup.tcsh:
3124 * src/setup.zsh:
3125 * src/cmt_parser.cxx (do_help):
3126 * src/cmt.h (class Cmt): Adding Cmt::do_show_applied_patterns for
3127 the new command "cmt show applied_patterns"
3128
31292002-04-04 Christian Arnault <carnault@lxplus044.cern.ch> 80
3130
3131 * src/cmt_use.cxx (add): Protect against duplicated registration of
3132 current_use.
3133
3134 * src/cmt_parser.cxx (install_setup_scripts): Append an empty line
3135 at the end of the generated setup script (problem on some shells)
3136
3137 * src/cmt_parser.cxx (do_create):
3138 * src/cmt.h (class Cmt): Change the signature of the do_create
3139 function to receive its arguments from the "arguments" list rather
3140 than changing current_package etc...
3141
3142 * src/Makefile.header: Add a systematic config target (for backward compatibility)
3143
3144 * fragments/constituents_trailer (binclean): added the binclean
3145 target to completely remove the binary directory at once.
3146
3147 * fragments/make_header:
3148 * fragments/constituents_header:
3149 * fragments/nmake/make_header (CMTEXTRATAGS):
3150 * fragments/nmake/constituents_header (CMTEXTRATAGS): Remove the settings of CMTCONFIG
3151
31522002-03-22 Christian Arnault <carnault@lxplus037.cern.ch> 79
3153
3154 * src/cmt_symbol.cxx (suppress_OS_delimiters): operate on %...%
3155 patterns only on Windows machines.
3156
31572002-03-20 Christian Arnault <carnault@lxplus042.cern.ch> 78
3158
3159 * mgr/Makefile (Atlas): Suppress HP rebuild for Atlas group
3160
3161 * src/cmt_cvs.cxx (filter): Improve the recursive passes and
3162 handle the new qualifiers of the use statements.
3163
3164 * fragments/cleanup_header (clean): Fix bad insertion of the .DEFAULT target
3165
3166 * src/cmt_symbol.cxx (suppress_OS_delimiters): Introduce this new
3167 function to ensure that only $() syntax is used in tag makefiles
3168 (ie suppress ${} and %% syntaxes)
3169 (show_macro): apply this new function for action_build_tag_makefile
3170
3171 * src/cmt_generator.cxx (reset): Do not generate the Visual
3172 directory on non-windows machines
3173
3174 * fragments/group (clean): Suppress one echo on gmake clean
3175
31762002-03-14 Christian Arnault <carnault@lxplus037.cern.ch> 77
3177
3178 * src/cmt_parser.cxx (set_standard_macros): Cleanup management of m_current_tag
3179
31802002-03-07 Christian Arnault <carnault@lxplus048.cern.ch> 76
3181
3182 * src/cmt_parser.cxx (print_context): Suppress the automatic
3183 settings of CMTEXTRATAGS
3184
3185 * src/Makefile.header: Do not change CMTCONFIG
3186 * src/NMakefile.header: Do not change CMTCONFIG
3187
31882002-02-27 Christian Arnault <carnault@lxplus042.cern.ch> 75
3189
3190 * fragments/jar: Adding removal of jar file for clean target
3191
3192 * src/cmt_use.cxx (show_sub_uses): show no_auto_imports status
3193
3194 * src/cmt_parser.cxx (reach_current_package): reapply global
3195 pattern at once until side effects are solved in user projects.
3196
3197 * fragments/jar: Apply an old fix to Unix fragments (was applied
3198 to Windows only)
3199
32002002-02-26 Christian Arnault <carnault@lxplus016.cern.ch> 74
3201
3202 * src/cmt_use.cxx (move_to): select_alternate must be applied
3203 after reach_package for searches against an absolute path or
3204 against the current directory.
3205
32062002-02-25 <arnault@lal.in2p3.fr> 73
3207
3208 * fragments/cleanup_header (clean): Add default action
3209
3210 * src/Makefile.header (common_target): Remove debug print
3211
3212 * src\cmt_parser.cxx (parse_requirements): Apply global patterns
3213 right after parsing a requirements file, and only considering the
3214 Use context, one at a time (rather than applying all global
3215 patterns to all Uses at once after reading all requirements file)
3216
3217 * src\cmt_pattern.cxx (apply_all_globals):
3218 * src\cmt_pattern.h (class Pattern): Add a method to apply all
3219 global patterns in the context of only one Use object.
3220
32212002-02-24 <arnault@lal.in2p3.fr> 72
3222
3223 * src\cmt_system.cxx (command_separator): New method for getting
3224 the shell command separator (& or ;)
3225
3226 * src\cmt_cvs.cxx (class CvsImplementation): Add
3227 CmtSystem::command_separator() between cvs co of each branch
3228 (instead of newlines).
3229
3230 * src\cmt_system.cxx (has_device): Accepts the \\xxx\ syntax as a
3231 device name in file paths on windows.
3232
3233 * src\cmt_parser.cxx (configure_cmt_path): Hide show_set action
3234 when recursive definition of CMTCONFIG
3235
3236 * src\cmt_use.cxx (need_new): Some optimizations
3237
3238 * src\cmt_use.cxx (move_to): Exchange the priority of CMTPATH
3239 versus version when selecting the best version.
3240
3241 * src\cmt_parser.cxx (use_cmt): Hide CMTDEBUG while parsing the
3242 requirements of CMT itself
3243
32442002-02-20 Christian Arnault <arnault@lal.in2p3.fr> 71
3245
3246 * src/cmt_parser.cxx (do_broadcast): Fix a bug for setting the
3247 style the the Current use. This effect was induced by the new
3248 mechanism for constructing the Current Use object, now a singleton
3249 of the Use class.
3250
32512002-02-07 <arnault@lal.in2p3.fr> 70
3252
3253 * src\cmt_use.cxx (change_path): Add a m_located flag in Use class
3254 to record the success of the package localization. Test against
3255 this info instead of real_path to allow for package found in
3256 current directory (where real_path stays empty)
3257
3258 * src\cmt_parser.cxx (configure):
3259
3260 * src\cmt_use.cxx (show_sub_uses): Ensure that the cmt show uses
3261 displays the correct scoping information for uses and
3262 sub-uses. cmt show uses also displays the full tree even when it
3263 contains private uses.
3264
32652002-02-06 <arnault@lal.in2p3.fr> 69
3266
3267 * src\cmt_use.cxx (class use_action_iterator): Install UseContext
3268 to manage proper propagation of -no_auto_imports
3269
32702002-01-30 <arnault@lal.in2p3.fr> 68
3271
3272 * src/cmt_parser.cxx (parse_arguments): Fix the bug of private
3273 environment variables which could not be set even within the
3274 package (bug in the management of the -pack= -version= -path=
3275 options).
3276
3277 * src/cmt.h : Install all attributes of the Cmt class as private
3278 attributes, and make them follow the convention : m_xxx. This
3279 implies to install few accessor methods.
3280
32812002-01-29 <arnault@lal.in2p3.fr> 67
3282
3283 * src/cmt_use.cxx (class use_action_iterator): The private uses
3284 are accessed for
3285 - broadcast operations
3286 - show uses operations
3287
3288 * src/cmt_symbol.cxx (action): Expands the specified script name
3289 for the setup_script and cleanup_script statement.
3290 Protect against empty script names.
3291
32922002-01-11 Christian Arnault <carnault@lxplus035.cern.ch> parallelbuilds
3293
3294 * src/Makefile.header: Reorganize basic Makefile fragment
3295 generation to permit better support for parallel & concurrent
3296 builds. Mimize also the number of makefile fragments generated
3297 and kept : only $(tag).make remains in ../cmt . All other are
3298 thrown away after use.
3299
3300 Make those changes a branch "parallelbuilds"
3301
3302
33032002-01-09 Christian Arnault <carnault@lxplus001.cern.ch> 66
3304
3305 * src/NMakefile.header (tags): Apply the fix for tags onto
3306 NMakefile.header
3307
33082002-01-07 <arnault@lal.in2p3.fr> 65
3309
3310 * src/Makefile.header (tags): Attempt to fix the continuity break
3311 between v1r9 and v1r10, by re-installing the possibility to use
3312 gmake tag=<...> rather than having to use source setup.[c]sh
3313 -tag=<...>
3314
3315 (This fix has to be tested before any validation)
3316
33172001-11-26 Christian Arnault <carnault@atlas50.cern.ch> 64
3318
3319 * Tagging v1r10p20011126
3320
3321 * src/Makefile.header: tag is now ${CMTCONFIG} and tags ${CMTEXTRATAGS}
3322
3323 * mgr/requirements: Provide the macro tags as ${CMTEXTRATAGS}
3324
3325 * src/cmt_tag.cxx: Various changes in strategy for tags:
3326 - tag inclusion (defined by the "tag" statement) transmits the priority.
3327 - tag selection can be discarded by exclusion specifications. Exclusion
3328 qualifies a set of contradictory tags. Contradictory tags will be selected
3329 according to their priority or to their declaration order in case of
3330 equal priority.
3331
3332 * src/cmt_parser.h (enum Priority): Change the priority list:
3333 Arguments get highest priority
3334 then CMTCONFIG
3335 then user tags (those defined in requirements)
3336
3337 * fragments/make_setup: produce uses.make and tags.make
3338
3339 * src/cmt_parser.cxx (parse_arguments):
3340 * src/cmt.h (class Cmt): Suppress the mechanism of
3341 primary_tag. CMTCONFIG is enough.
3342
33432001-11-21 Christian Arnault <carnault@lxplus040.cern.ch> 63
3344
3345 * src/cmt_symbol.cxx (add_value_to_list): fix protection on
3346 value_list.size () to start at 1 (not at 2)
3347
3348 * src/cmt_symbol.cxx (build): Reflective values of Sets should
3349 consider previous setenv settings.
3350
3351 * src/cmt_generator.cxx (build_dependencies): Using ../$(tag) for
3352 output base of the dependencies fragment rather then
3353 Cmt::current_tag
3354
3355 * src/Makefile.header (CMTPRIMARYTAG): tag=... argument of gmake
3356 will override CMTPRIMARYTAG. However internal tag macro is only
3357 replaced with ${CMTCONFIG}
3358
3359 * fragments/make_setup (config): create a tags.log (for cmt show
3360 tags)
3361
3362 * mgr/cmt_make_shlib_common.sh: Add the ${lib} prefix to the
3363 temporary expansion directory. Fix a bug in sed filter for all
3364 module files.
3365
3366 * src/cmt_parser.cxx (configure_tags): Add a protection against
3367 absence of CMTPRIMARYTAG
3368
3369 * src/cmt_system.cxx (create_symlink):
3370 * src/cmt_system.h (class CmtSystem): Adding the create_symlink
3371 function.
3372
3373 * src/cmt_parser.cxx (do_build_library_links): Using direct system
3374 calls to create symlinks.
3375
33762001-11-13 Christian Arnault <carnault@lxplus010.cern.ch> 62
3377
3378 * Tagging v1r10p20011113
3379
3380 * mgr/requirements:
3381 * src/constituents.make (build_library_links): Define macros for
3382 build_library_links and remove_library_links
3383
3384 * fragments/make_setup (config): Add build_library_links target
3385
3386 * src/cmt_parser.cxx (set_standard_macros): Fix bad production of
3387 use_includes when private is used.
3388
3389 * src/cmt_parser.cxx (do_broadcast): Fix -begin=<pattern> error
3390
33912001-11-08 Christian Arnault <carnault@lxplus028.cern.ch> 61
3392
3393 * src/cmt_version.h: tagging v1r10
3394
3395 * src/cmt_system.cxx (add_cmt_path): Get cwd alias to each selected path.
3396
3397 * src/cmt.h (class Cmt): Add cmt_path_cwd vector of all CMTPATH
3398 entries normalized to getcwd.
3399
3400 * src/cmt_generator.cxx (java_file_action):
3401 * src/cmt_generator.cxx (proto_file_action):
3402 * src/cmt_generator.cxx (module_file_action): Pass reference to the constituent in order
3403 to transmit constituent variables to the fragment.
3404
3405 * src/cmt_parser.cxx (set_standard_macros): Insert a space
3406 character for all generated macro_append operations.
3407
3408 * src/cmt_fragment.cxx (xxxcopy):
3409 * src/cmt_fragment.h (class Variable): Adding the expansion of
3410 fragments variables using both the ${} syntax AND the $() syntax.
3411
3412 * src/cmt_tag.h :
3413 * src/cmt_tag.cxx (is_selected): Change the Tag::selected attribute to bool.
3414
34152001-11-07 Christian Arnault <carnault@lxplus006.cern.ch> 60
3416
3417 * src/cmt_symbol.cxx (build): Implement the possibilty to have
3418 reflexive asignment to symbols: when a symbol value is exactly
3419 specified (from set, macro or path statements) using $(<name>) or
3420 ${<name>} or %<name>% then the old value is preserved for all
3421 corresponding selectors.
3422
3423 * src/cmt_parser.cxx (set_standard_macros): Re-activate -import
3424 options (that had been discarded!)
3425
3426 * src/cmt_use.cxx (add): Generate an error when a package is not
3427 found (the error was only generated at "cmt show uses")
3428
3429 * src/cmt_constituent.cxx (show): Display -import options
3430
3431 * fragments/dependencies: Force checking $(bin)
3432
3433 * fragments/constituent: Adding some printout to display when
3434 constituent fragment is rebuilt
3435
3436 * src/cmt_parser.cxx (set_standard_macros): Re-validate
3437 -no_auto_imports option for use and -import options for
3438 constituents.
3439
34402001-11-06 Christian Arnault <carnault@lxplus038.cern.ch> 59
3441
3442 * src/cmt_generator.cxx (build_document_makefile): protect against
3443 missing files (causing infinite loops in Make)
3444
34452001-11-05 Christian Arnault <carnault@lxplus005.cern.ch> 58
3446
3447 * mgr/Makefile (application_suffix): Define application_suffix in
3448 the CMT's Makefile
3449
3450 * src/cmt_parser.cxx (print_context): Do not generate ROOT and
3451 CONFIG for cmt_standalone packages.
3452
3453 * mgr/requirements: Reomving the cmt_selector.cxx source file.
3454
3455 * src/constituents.make: Force the dirs target for
3456 build_library_links
3457
3458 * src/cmt_parser.cxx (restore_all_tags): Get the value of
3459 CMTPRIMARYTAG to configure Cmt::primary_tag.
3460
3461 Leave unchanged the primary_tag and the extra_tags except if
3462 overridden through the -tagxxx= options
3463
3464 * src/cmt_parser.h (enum): Add PrioritySite in the list of
3465 possible priorities.
3466
3467 * src/cmt.h (class Cmt): Add the restore_all_tags function. Add
3468 the extra_tags attribute . Change the strategy of tag persistency:
3469
3470 o CMTPRIMARYTAG always contains what had been specified using
3471 the -tag= option,
3472
3473 o CMTEXTRATAGS contains what had been manipulated by -tag_add=
3474 and -tag_remove= options.
3475
3476 o CMTCONFIG is setup independently of the primary tag.
3477
3478 * src/Makefile.header (primary_tag): Propagate tags using
3479 CMTPRIMARYTAG instead of CMTCONFIG (except when CMTPRIMARYtAG is
3480 not yet defined)
3481
3482 * src/cmt_constituent.cxx (parse): Fix the word parsing for
3483 constituent specification...
3484
34852001-11-02 Christian Arnault <arnault@asc.lal.in2p3.fr> 57
3486
3487 * src/cmt.h
3488 * src/cmt_database.cxx
3489 * src/cmt_database.h
3490 * src/cmt_parser.cxx
3491 * src/cmt_parser.h
3492 * src/cmt_selector.cxx
3493 * src/cmt_selector.h
3494 * src/cmt_symbol.cxx
3495 * src/cmt_symbol.h
3496 * src/cmt_tag.cxx
3497
3498 * src/cmt_tag.h:
3499 Suppressing cmt_selector objects (only tags are needed!!)
3500 Add tag_exclude keyword for building tag-exclusions.
3501
35022001-10-31 Christian Arnault <carnault@atlas50.cern.ch> 56
3503
3504 * mgr/requirements: Don't need to explicitly declare make_fragment
3505 headers (automatically declared in the -header= option)
3506
3507 * src/cmt_symbol.cxx (print_clean): Cleaning up path variables may
3508 be either unsetenv when the result is empty or setenv if not.
3509
3510 * fragments/application_launcher: evolution
3511
3512 * src/cmt_parser.cxx (configure_tags): protect against empty
3513 declaration of CMTCONFIG : by default will take uname...
3514
35152001-10-30 Christian Arnault <carnault@atlas50.cern.ch> 55
3516
3517 * src/cmt_symbol.cxx (clean): Implement the cleanup correctly,
3518 with in particular the cleanup of the path variables.
3519
3520 * src/cmt_parser.cxx (print_context): improve output of cmt show tags
3521
3522 * src/cmt_symbol.h (class Symbol): Add clean_macro_value for
3523 building the result of the clean operations induced by this symbol
3524 (only implemented for path_xxx)
3525
3526 * src/cmt_parser.cxx: New post-context requirements file :
3527 user_context in addition to home package. Added Use* use
3528 arguments to configure_xxx functions to transfer.
3529
3530 * src/cmt_parser.cxx(configure_cmt_path): Attempt to make use of
3531 CMTPATH definitions from requirements files.
3532
3533 * src/cmt_parser.cxx(configure_config_selector): Install context
3534 information for tag creation
3535
3536 * src/cmt_parser.cxx(configure_home): Attempt to make use of
3537 CMTHOME definitions from requirements files.
3538
3539 * src/cmt_parser.cxx(configure_user_context): Install user_context
3540 management
3541
3542 * src/cmt_parser.cxx(configure_site_selector): Get CMTSITE from
3543 requirements as well
3544
3545 * src/cmt_parser.cxx(configure_tags): Add a configure_tags
3546 finction to retreive tags from all possible sources: CMTCONFIG
3547 (from req) then CMTPRIMARYTAG then CMTCONFIG then CMTBIN then
3548 append all CMTEXTRATAGS.
3549
3550 * src/cmt_parser.cxx(parse_arguments): fix parsing bug for the
3551 -home= argument
3552
3553 * src/cmt_parser.cxx(parser): Set action_show_path to be recursive
3554
3555 * src/cmt_parser.cxx(parser): Call the HOME package just after
3556 using CMT. Call the use_context package just after reaching the
3557 current package.
3558
3559 * src/cmt_parser.cxx(print_clean): reformat the output (with
3560 newlines). Clear CMTPRIMARYTAG CMTEXTRATAGS and CMTCONFIG.
3561
3562 * src/cmt_parser.cxx(print_context): set CMTPRIMARYTAG
3563 CMTEXTRATAGS and CMTCONFIG from the current definitions.
3564
3565 * src/cmt_parser.cxx(set_standard_macros): Rationalize the
3566 production of current_tag
3567
3568 * src/cmt_parser.cxx(use_user_context_requirements):
3569
3570 * src/cmt_use.cxx (show_all): Display new user_context package
3571
3572 * src/cmt_use.cxx (class use_action_iterator): query function ok()
3573 includes both home_package and user_context_package
3574
3575 * src/cmt_use.cxx (reach_package): special treatment for
3576 home_package and user_context_package since they do not follow the
3577 standard location scheme.
3578
3579 * src/cmt_use.cxx (add): Improve the detection of packages not found.
3580
3581 * src/cmt_tag.cxx (unmark): Reset the use pointer
3582
3583 * src/cmt_tag.cxx (action): Install the use origin.
3584
3585 * src/cmt_tag.cxx (add): Install the use origin and the context
3586 information. It will be reset to the new context in case of
3587 re-definition. Suppress various excessive debug printouts.
3588
3589 * src/cmt_tag.cxx (clear): clear use and context new information
3590
3591 * src/cmt_tag.cxx (show): Improve the display of tags with
3592 hierarchical display of subtags and context information.
3593
3594 * src/cmt_tag.h (class Tag): Added Use* use parameter to action
3595 and add methods. Store a pointer to the package (Use*) who
3596 originated the definition, and a context string to qualify the
3597 definition.
3598
3599 * src/cmt_system.h (class CmtSystem):
3600 * src/cmt_system.cxx (add_cmt_paths_from_text): Factor out the
3601 code to register a set of CMTPATH entries, with the context
3602 information.
3603
3604 * src/cmt_system.cxx (is_home_package): Add is_home_package and
3605 is_user_context_package query functions.
3606
3607 * src/cmt_system.cxx (get_cmt_site): Default site is empty
3608 (instead of LAL)
3609
3610 * src/cmt_symbol.cxx (print_clean): Suppress some obsolete
3611 print_tabs () formattings. Apply unset instead of unset for
3612 aliases as well.
3613
3614 * src/cmt_symbol.cxx (action): Add special treatment for CMTXXX
3615 environment variables : the new setting has to be taken into
3616 account as soon as it is parsed.
3617
3618 * src/cmt_selector.cxx (create): remove some debug code.
3619
3620 * src/cmt_generator.cxx (build_default_makefile): Produce only
3621 Makefile on Unix and only NMake on Windows.
3622
3623 * mgr/requirements: Renaming new script_launcher fragments into
3624 application_launcher
3625
3626 * src/cmt.h (class Cmt): Added Use* use arguments to configure_xxx
3627 functions to transfer.
3628
3629 Added use_user_context_requirements () to include post-context
3630 requirements file.
3631
3632 Added the static value primary_tag to store the primary tag.
3633
3634
3635 * src/cmt_generator.cxx (build_default_makefile): Create Makefile
3636 only un Unix and NMake only on WIN32
3637
36382001-10-24 Christian Arnault <carnault@lxplus038.cern.ch> 55
3639
3640 * src/cmt_parser.cxx (parser): add the recursive property to
3641 action_show_path.
3642
3643 * src/cmt_system.h (class CmtSystem):
3644 * src/cmt_system.cxx (get_user_context_package):
3645 * src/cmt_system.cxx (is_user_context_package):
3646 * src/cmt_use.cxx (add):
3647 (show_all):
3648 (class use_action_iterator):
3649 (reach_package):
3650 (add):
3651 * src/cmt_parser.cxx (configure):
3652 * src/cmt_parser.cxx (parser):
3653 * src/cmt_parser.cxx (parse_arguments):
3654 * src/cmt_parser.cxx (configure_user_context):
3655 * src/cmt.h (class Cmt):
3656
3657 Adding user_context equivalent of CMTHOME support for post
3658 requirements file. The corresponding env. var. is CMTUSERCONTEXT.
3659 The complete scheme for supporting PRE-parsed HOME requirements
3660 file is exactly copied to those POST-parsed files.
3661
3662 * mgr/requirements:
3663 * fragments/script_launcher_header:
3664 * fragments/script_launcher:
3665 * fragments/script_launcher_trailer: Introduce a new document
3666 generator for launching scripts. The same convention as the
3667 check_application is reused, for pre-action, argument passing and
3668 post-action. Several scripts (specified in the source list of the
3669 document) can be executed in sequence.
3670
3671 * src/cmt_use.cxx (class use_action_iterator):
3672 * src/cmt_system.cxx (is_home_package):
3673 * src/cmt_system.h (class CmtSystem): Add the is_home_package
3674 function to encapsulate the syntax of a HOME package (and apply it
3675 in Use::use_action_iterator)
3676
3677 * src/cmt_symbol.cxx (action): Prepare specific actions when the
3678 parsed symbol is one of the CMTXXX standard symbols. So far
3679 CMTHOME -> re-configure home.
3680
3681 * src/cmt_parser.cxx (parser): apply use_home_requirements right
3682 after reading CMT requirements file (ie. before reading current
3683 package)
3684
3685 * src/cmt_parser.cxx (configure_home): understand the possible
3686 "set CMTHOME" declarations (but keep $CMTHOME)
3687
3688 * src/cmt_parser.cxx (reach_current_package): * src/cmt_system.cxx
3689 (get_cmt_paths): Restore the automatic addition of "current
3690 package" in the CMTPATH list.
3691
3692 * src/cmt_parser.cxx (parse_arguments): bad parsing of the
3693 -home=xxx argument
3694
3695
3696
36972001-10-23 Christian Arnault <carnault@lxplus007.cern.ch> 54
3698
3699 * mgr/Makefile (demo): Need to add CMTPATH towards ${CMTROOT}/demo
3700 since CMTPATH to current package is no longer supported !!!
3701
3702 * fragments/nmake/check_application (check):
3703 * fragments/nmake/cleanup_application:
3704 * fragments/nmake/application_header:
3705 * fragments/nmake/application:
3706 * fragments/application:
3707 * fragments/application_header:
3708 * fragments/cleanup_application:
3709 * fragments/check_application (check):
3710 * mgr/requirements: Create a new standard macro
3711 "application_suffix" for making possible to change the .exe
3712 default suffix of applications
3713
37142001-10-22 Christian Arnault <carnault@lxplus026.cern.ch> 53
3715
3716 * src/cmt_parser.cxx :
3717 * src/cmt_system.cxx : Suppress the automatic addition of current
3718 package's path into CMTPATH.
3719
3720 * mgr/Makefile: Change the method to rebuild
3721 cmt_dependencies by copying what is obtained from CVS. Rebuild it
3722 manually when needed.
3723
37242001-10-19 Christian Arnault <carnault@lxplus025.cern.ch> 52
3725
3726 * fragments/make_setup (config): Creating uses.log needs to use an
3727 intermediate temporary file
3728
3729 * src\setup.[c]sh : Avoid re-definition of CMTCONFIG
3730
3731 * src\cmt_use.cxx (add): temporarily discard the mecanism by which
3732 uses.log files are read before the requirements files.
3733
3734 * src\cmt_system.cxx (is_version_directory): returns -1 for fields
3735 that were wildcarded
3736
3737 * src\cmt_use.cxx (add):
3738 * src\cmt_use.cxx (need_new):
3739 * src\cmt_use.cxx (BestFitSelector::operate): Start the
3740 implementation of priority control between explicit use
3741 specification over wildcarded ..
3742
3743 * src\cmt_parser.cxx (reach_current_package): Change the value of
3744 the CMTPATH for the current package once it has been reached (but
3745 before reading its requirements file)
3746
3747 * src\cmt_parser.cxx (install_setup_scripts): (improvement) Add the transfer of
3748 arguments towards cmt.exe into setup.bat
3749
3750 * src\cmt_system.cxx (get_cmt_paths): (bug fix) path_sources was
3751 not cleared as paths.
3752 Prepend "current path" to the path list under "current package".
3753
3754 * src\cmt_parser.cxx (parse_arguments): (bug fix) Suppress
3755 enclosing quotes around cmt.exe arguments so that setup.bat can
3756 transmit arguments properly
3757
3758 call setup.bat "-tag_add=a,b,c"
3759
37602001-10-18 Christian Arnault <carnault@lxplus047.cern.ch> 51
3761
3762 * src/cmt_parser.cxx (set_standard_macros): Set current_tag to
3763 CMTBIN when in CMT itself (not complete yet)
3764
3765 * src/cmt_generator.cxx (build_dependencies): Use CMTBIN for CMT
3766 itself (instead of current_tag) well this should be cured later on
3767 to ensure that current_tag is always set to CMTBIN for CMT itself
3768
3769 * src/cmt_version.h (CMTVERSION): install v1r10 (not tagged yet)
3770
3771 * mgr/cmt_system.sh: Do not try to use AFS on Darwin and LynxOS.
3772
3773 * src/setup.[c]sh: Define CMTBIN as `uname` on Unix and CMTCONFIG
3774 as `cmt_system.sh`
3775
3776 * src/cmt_symbol.cxx (show_macro): the trailing space must be
3777 added only for WIN32 !!
3778
37792001-10-17 Christian Arnault <carnault@lxplus047.cern.ch> 50
3780
3781 * src/cmt_symbol.cxx (show_macro): add a trailing space on all
3782 macro definitions (to avoid problem of trailing backslash)
3783
3784 * src/cmt_parser.cxx (set_standard_macro): remove the insertion of
3785 trailing spaces after the last backslash for WIN32/NMake
3786
3787 * src/constituents.make (all): (bug fix) re-install the
3788 build_library_links action for the all target
3789
37902001-10-11 Christian Arnault <carnault@lxplus021.cern.ch> 49
3791
3792 * src/cmt_version.h: Tagging for v1r9p20011011
3793
3794 * fragments/library: (bug fix) transmit both -tag=<tag> and
3795 -tag_add=<tag_list> to cmt_make_shlib_common.sh
3796
37972001-10-11 Christian Arnault <arnault@asc.lal.in2p3.fr> 48
3798
3799 * src/cmt_parser.cxx: remove debug print options
3800
38012001-10-10 Christian Arnault <arnault@asc.lal.in2p3.fr> 47
3802
3803 * src/cmt_parser.cxx (parse_arguments): fix problems in multiple
3804 tag management.
3805
3806 converge in the question of HOME requirements file to support
3807 - no default
3808 - define the path to the HOME requirements file in ${CMTHOME}
3809
3810 converge in the arguments for manipulating the extra tags
3811 -tag=<tag>
3812 -tag_add=<tag-list>
3813 -tag_remove=<tag-list>
3814
38152001-10-03 Christian Arnault <carnault@lxplus036.cern.ch> 46
3816
3817 * src/constituents.make (makefilesclean): Make all action lists
3818 run in one single shell (ie. use ;\ everywhere)
3819
3820 Make an explicit target for build_library_links
3821 Make it called before any group
3822
38232001-10-02 Christian Arnault <carnault@lxplus007.cern.ch> 45
3824
3825 * src/cmt_awk.h (class Awk): add a state variable
3826 (m_continuation_allowed) which when true, take into account the
3827 trailing backslashes, so as to first accumulate continued lines
3828 into one. Add the allow_continuation method to base Awk class.
3829
38302001-10-01 Christian Arnault <carnault@lxplus034.cern.ch> 44
3831
3832 * src/cmt_cvs.cxx (class CvsImplementation): Bug in
3833 checkout_from_requirements. Did not accept leading spaces on use
3834 statements.
3835
38362001-09-27 Christian Arnault <carnault@lxplus036.cern.ch> 43
3837
3838 * src/cmt_version.h: Tagging for v1r9p20010927
3839
3840 * src/setup.zsh: add the -begin option to the auto-expansion.
3841
3842 * src/cmt_use.cxx (show_all): Visualize the HOME package when
3843 applicable.
3844
3845 * src/cmt_system.cxx (get_home_package): (also do some formatting
3846 cleanup)
3847
3848 * src/cmt_system.h (class CmtSystem): Adding get_home_package
3849 function to build the name given to the HOME package (provides the
3850 HOME requirements file)
3851
38522001-09-26 Christian Arnault <arnault@asc.lal.in2p3.fr> 42
3853
3854 * src/cmt_parser.cxx (do_show_macro): Improving error detection on
3855 cmt show macro/set
3856
3857 * doc/CMTDoc.html: Improve the doc.
3858
3859 * src/cmt_parser.cxx (print): produce the CMTEXTRATAGS environment
3860 variable, at setup time.
3861 (parse_arguments): take into account this new
3862 env.var. to retreive previous extra tags.
3863
3864 * src/Makefile.header: Add the CMTEXTRATAGS environment variable
3865 to propagate additional tags to Make.
3866
3867 * fragments/make_setup:
3868 * fragments/constituent:
3869 * src/Makefile.header:
3870 * src/constituents.make: Adding -tag=$(tags) to all calls to cmtexe
3871
3872 * src/cmt_system.h (class CmtSystem): Adding the bool testenv
3873 (name) function to test if an environment variable is defined or
3874 not.
3875
3876 * src/cmt_parser.cxx (use_home_requirements):
3877 * src/cmt.h (class Cmt): Adding support of CMTHOME environment
3878 variable for specifying home requirements file. Default value will
3879 be ${HOME}. And can be overridden through the -home=<directory>
3880 global option. An explicit empty value (or set to eg. NONE) will
3881 discard the feature
3882
3883 * src/cmt_parser.cxx (parse_arguments): Implement the tag list
3884 (comma separated list of extra tags) option -tag=<tag-list> to
3885 specify a list of tags to validate.
3886
38872001-09-25 Christian Arnault <carnault@lxplus034.cern.ch> 41
3888
3889 * src/setup.csh: fixed PATH settings (may accept a path with space
3890 characters eg. for Darwin)
3891
3892 * mgr/cmt_system.sh: Insert the knowledge of Darwin OS (Mac OS
3893 X). The default CMTCONFIG will be Darwin.
3894
3895 * src/constituents.make (makefilesclean): Ensure that removal of
3896 makefile fragments is performed AFTER all cleanup uperations.
3897
3898 * src/cmt_parser.cxx (use_home_requirements): Add the systematic
3899 search for a requirements file located in ${HOME}. This
3900 requirements file when found, is systematically parsed AFTER the
3901 requirements file of the current package has been parsed (so as to
3902 give the highest precedence to its statements)
3903
3904 (do_remove_library_links): Upgrade "remove library_links" to make
3905 it compliant to the algorithm used in "build library_links"
3906
39072001-09-24 Christian Arnault <carnault@lxplus014.cern.ch> 40
3908
3909 * src/cmt.h (class Cmt): * src/cmt_parser.cxx (configure): Add a
3910 global configure_error variable to store the possible error
3911 produced during the configuration.
3912 (install_test_setup_scripts): Add the -quiet option to the build
3913 temporary_name command used in setup script generation.
3914
3915 * src/cmt_error.cxx (get_last_error):
3916 * src/cmt_error.h (class CmtError): Add get_last_error to retrieve
3917 the formatted text of the last error.
3918
3919 * src/cmt_symbol.cxx (create):
3920 (all_print):
3921 (print):
3922 (build):
3923 * src/cmt_parser.cxx (select): Understand the "path" statement as
3924 a complete re-definition of a path-like variable.
3925
3926 * src/cmt_system.cxx (add_cmt_path):
3927 * src/cmt_error.cxx (class Error):
3928 * src/cmt_error.h (class CmtError): Adding "path not found" error
3929 code, for CMTPATH checking.
3930
3931 * src/cmt_pattern.cxx ((const cmt_string& name): Return a warning
3932 for pattern not found.
3933
3934 * src/cmt_error.h (class CmtError):
3935 * src/cmt_error.cxx (class Error): Adding "pattern not found" error
3936 code, for showing diagnostics in "cmt show pattern"
3937
3938 * src/cmt_parser.cxx (do_show_macro): Return a warning for symbol
3939 not found.
3940
3941 * src/cmt_error.h (class CmtError):
3942 * src/cmt_error.cxx (class Error): Adding "symbol not found" error
3943 code, for showing diagnostics in "cmt show macro/set"
3944
39452001-09-19 Christian Arnault <carnault@lxplus045.cern.ch> 39
3946
3947 * mgr/cmt_make_shlib_common.sh : return a status value which
3948 reflects the success or failure of the shared library build
3949 command.
3950
3951 * src/cmt_cvs.cxx (class CvsImplementation): Discard the versions
3952 specified with wild cards in the recursive checkout.
3953
3954 * src/cmt_triggers.cxx: Protect the error messages in the trigger
3955 facility by Cmt::quiet.
3956
3957 * src/cmt_constituent.cxx (class constituents_action_iterator):
3958 temporarily discard the -triggers option.
3959
39602001-08-24 Christian Arnault <carnault@lxplus011.cern.ch> 38
3961
3962 Tagging v1r9p2001p0824
3963
39642001-08-24 Christian Arnault <carnault@lxplus011.cern.ch> 38
3965
3966 * mgr/cmt_system.sh: Improve the reliability of the cmt_system.sh
3967 script against variants of "fs sysname"
3968
39692001-08-23 Christian Arnault <carnault@lxplus030.cern.ch> 37
3970
3971 * src/cmt_cvs.cxx (class CvsImplementation): Since the tag filter
3972 is back to cmtcvs.cxx, the temporary forced tag filter in CMT is
3973 removed.
3974
3975 * src/setup.zsh: upgrade the completion for the broadcast command.
3976
3977 * src/cmt_parser.cxx (do_broadcast): Make the -select independent
3978 of the -local or -global options. This is achieved by adding a
3979 "path_selections" list only managed by the -depth, -local -global
3980 modifiers while the "selections" list is managed by the -select
3981 modifier. The -exclude is left unchanged.
3982
39832001-08-22 Christian Arnault <carnault@lxplus024.cern.ch> 36
3984
3985 * src/cmt_cvs.cxx (class CvsImplementation): Add the possibility
3986 to transmit a flag to the CVS pluggin, by inserting a /cmtcvstest
3987 in the module name to import. This will have to be decoded by the
3988 CVS pluggin itself !!
3989
39902001-08-21 Christian Arnault <carnault@lxplus013.cern.ch> 35
3991
3992 * src/setup.tcsh: Improving the tcsh completion mechanism (for cmt co).
3993
3994 * src/setup.zsh: Improving the zsh completion mechanism (for cmt co).
3995
3996 * src/cmt_cvs.cxx (class CvsImplementation): Converging on HEAD
3997 management strategy...
3998
3999 Starting implementation of the Atlas filter for CVS tags right
4000 into cmt_cvs.cxx rather than inside the CVS pluggin...
4001
40022001-08-20 Christian Arnault <carnault@lxplus028.cern.ch> 34
4003
4004 * src/cmt_cvs.cxx (class CvsImplementation): Improving the
4005 recursive checkout process
4006
40072001-08-20 <arnault@lal.in2p3.fr> 33
4008
4009 * src\cmt_cvs.cxx (class CvsImplementation): Reorganizing some CVS operations:<ul>
4010 <li> Apply the CMTCVSOFFSET env. variable to all actions (tags, branches, subpackages)
4011 <li> cleanup checkout algorithms (remove some obsolete variables)
4012 <li> add the -requirements <requirements-file-path> option to checkout according to
4013 a set of use statements.
4014 <li> remove the inheritance to Awk of CvsImplementation to split the filter into 2
4015 phases (implemented as 2 separated Awk derived classes) RecursivePass1 and
4016 RecursivePass2.</ul>
4017
40182001-08-16 Christian Arnault <carnault@lxplus046.cern.ch> 32
4019
4020 * src/cmt_symbol.cxx (print): Bug in path_remove when the
4021 specified path variable only contained one item : the remove
4022 operation was not applied.
4023
40242001-07-20 Christian Arnault <arnault@lal.in2p3.fr> 31
4025
4026 * src/cmt_version.h: setting the patch v1r9p20010720
4027
40282001-07-20 Christian Arnault <carnault@lxplus019.cern.ch> 30
4029
4030 * src/cmt_regexp.h (cmt_regexp::begin): Add an optional pos
4031 argument to the begin method.
4032
4033 * doc/CMTDoc.html: Improvements, English cleanup...
4034
40352001-07-18 Christian Arnault <carnault@lxplus041.cern.ch> 29
4036
4037 * src/cmt_cvs.cxx (CvsImplementation::checkout_package): Change
4038 the mechanism to get top files, since the " -d . " does not work
4039 anymore when CVSROOT is set to kserver!!!!
4040
40412001-07-16 Christian Arnault <carnault@lxplus030.cern.ch> 28
4042
4043 * doc/CMTDoc.html: Old PREFIX fragment variable has been replaced
4044 by FILEPATH long ago. This was not upgraded in the doc.
4045
4046 * fragments/constituent: The -f <file> MUST be specified BEFORE
4047 other Make flags!!
4048
4049 * fragments/dependencies: Tried to comment out the dependencies to
4050 cmt_path.make etc... but it confused the dependencies fragment
4051 production. Uncomment it but need to understand the side effect.
4052
40532001-07-09 Christian Arnault <carnault@lxplus012.cern.ch> 27
4054
4055 * src/cmt_generator.cxx (build_readme): Bug: the VERSION variable
4056 was not used for installing the readme_trailer (although the
4057 documentation was mentioning it)
4058
40592001-07-04 Christian Arnault <carnault@lxplus034.cern.ch> 26
4060
4061 * src/cmt_version.h: setting the patch v1r9p20010704
4062
40632001-07-02 Christian Arnault <carnault@lxplus034.cern.ch> 25
4064
4065 * fragments/dependencies: Cleaning some old debug printouts.
4066
4067 * src/cmt_cvs.cxx (class CvsImplementation): Bug in replacing the
4068 wild card expression. v5r* has to be replaced by v5r0 while v5*
4069 has to be replaced by v5 in case no matching tag exists in the CVS
4070 repository. Other bug : All split operations should be performed
4071 against " \t" (include tab character)
4072
40732001-06-29 Christian Arnault <carnault@lxplus047.cern.ch> 24
4074
4075 * src/cmt_cvs.cxx (class CvsImplementation): Final Validation of
4076 the change in the implementation of the m_installed stack used to
4077 avoid recursion due to dependency cycles.
4078
40792001-06-22 Christian Arnault <carnault@lxplus020.cern.ch> 23
4080
4081 * src/cmt_cvs.cxx (class CvsImplementation): doing some
4082 optimizations for the big checkout operations.
4083
4084 * src/cmt_parser.cxx (do_config): Remove .[n]make files also from
4085 the binary directory.
4086
4087 * src/cmt_cvs.cxx (class CvsImplementation): Always fetch the cmt
4088 branch at HEAD even if the checkout operation is applied to a
4089 required tag (temporary feature).
4090
40912001-06-18 <arnault@lal.in2p3.fr> 22
4092
4093 * src\cmt_cvs.cxx (class CvsImplementation): insert a space
4094 between top tags and other tags.
4095
4096 * mgr\cmt_make_shlib.bat: Write extra options received through
4097 arguments into a temporary option file, used by @<optionfile> to
4098 resolve line-too-long prolems.
4099
4100 * fragments\nmake\cpp_library:
4101 * fragments\nmake\cpp:
4102 Add the /Tp qualifier for allowing non-standard file suffixes.
4103
41042001-06-05 Christian Arnault <arnault@lal.in2p3.fr> 22
4105
4106 * src/cmt_use.cxx (class use_action_iterator): Default to the
4107 -no_auto_import was to keep the most recent specification. Change
4108 this to always request auto_import by default, (unless otherwise
4109 specified)
4110
41112001-06-01 Christian Arnault <arnault@lal.in2p3.fr> 22
4112
4113 * src/cmt_parser.cxx (do_broadcast): Bug fix in do_broadcast: the
4114 -begin option wrongly implied the -global option.
4115
41162001-06-13 <arnault@lal.in2p3.fr> 22
4117
4118 * src/cmt_cvs.cxx (class CvsImplementation): Improving the
4119 strategy for getting version tags from the repository:
4120 o If a request specifies a tag which is not applied to the
4121 requirements file, the specified tag is used to create the
4122 version directory but the HEAD is used in the repository.
4123 o CvsImplementation::show_cvs_infos () :
4124 stores all received infos into xxx_info corresponding
4125 local properties. Thus this method is only called once per
4126 package.
4127 o Error messages are really obtained from the error_info field.
4128
41292001-05-30 Christian Arnault <arnault@lal.in2p3.fr> 22
4130
4131 * src/cmt_generator.cxx (build_document_makefile):
4132 * src/cmt_system.cxx (get_dot_suffix): fix bug for file_names
4133 without any suffix
4134
4135 * src/cmt.h & src/cmt_parser.cxx (set_standard_macros): Add a
4136 state standard_macros_done to protect against multiple calls to
4137 set_standard_macros.
4138
41392001-05-28 Christian Arnault <arnault@lal.in2p3.fr> 22
4140
4141 * src/cmt_cvs.cxx (class CvsImplementation): display the tags in a
4142 one-per-line basis instead of space separated when doing cmt
4143 cvstags.
4144
4145 * src/cmt_use.cxx (operate): Make the version selector operator a
4146 little bit more quiet...
4147
41482001-05-25 Christian Arnault <arnault@lal.in2p3.fr> 22
4149
4150 * mgr/Makefile (demo): improve the gmake check action in the demo
4151 target.
4152
4153 * src/cmt_use.cxx (fill_macro_all): build use_xxx standard macros
4154 using macro_append instead of macro.
4155
41562001-05-22 Christian Arnault <arnault@lal.in2p3.fr> 22
4157
4158 * src/cmt_parser.cxx (do_broadcast): Fix the default (-local)
4159 option to act as -depth=1.
4160 Improve some error messages.
4161
41622001-05-21 <arnault@lal.in2p3.fr> 21
4163
4164 * src\setup.bat: Improved skeleton for setup.bat. Base it on
4165 CMTBIN rather than on CMTCONFIG. Do not override CMTCONFIG if
4166 defined by the user. Do not care about PATH for Visual tools.
4167
4168 * mgr\install.mak: change the strategy for building the setup.bat
4169 script for CMT itself at INSTALL time. Now copy ..\src\setup.bat
4170 skeleton.
4171
4172 * mgr\requirements: Fix WIN32/VisualC tag definitions and PATH
4173 settings for cleaner handling of default tag overriding.
4174
4175 * src\cmt_use.cxx (operate): Implement the algorithm for using
4176 aliases to alternate version specification in uses.
4177
4178-------------------------------------------------------------------------------------
41792001-05-18 Christian Arnault <arnault@lal.in2p3.fr> 21
4180
4181 -> Tag CMTv1r9p20010521
4182
4183 * src/cmt_use.cxx (show_sub_uses): Start the implementation of
4184 version_alias and path_alias for equivalencing two version naming
4185 policies.
4186
4187 * src/cmt_cvs.cxx (class CvsImplementation): Adding the -o offset
4188 option to cmt checkout for specifying a global offset to the base
4189 CVS repository. This offset will be prepended to all modules
4190 during the various CVS operations.
4191
4192 the m_offset attribute is added to the CvsImplementation class.
4193
4194 (class CvsImplementation): Improve protection against CVS modules
4195 not found.
4196
4197 (class CvsImplementation): Added the --help option the cmt checkout.
4198
41992001-07-10 Christian Arnault <carnault@lxplus017.cern.ch> b-21
4200
4201 * mgr/requirements: add the -tag=$(tag) option to the
4202 build_dependencies macro.
4203
4204 * fragments/dependencies: take the improvements into account.
4205
4206 * src/cmt_generator.cxx (build_dependencies): Improve the
4207 dependency builder: re-generate all entries of the
4208 <constituent>_dependencies.make that are missing from the complete
4209 source list (thus regenerate it when it is empty).
4210 Optimize the file scan for getting the new source list.
4211
4212 * src/cmt_parser.cxx (do_build_dependencies): Dynamically shifts
4213 arguments of the build dependencies command to keep only the
4214 new-source-list. The complete command being
4215 "cmt <args> build dependencies <constituent-name> <new-source-list>"
4216
4217 (do_config): drop all makefile fragments from the mgr/cmt
4218 directory AND from the binary directory.
4219
42202001-05-11 Christian Arnault <arnault@lal.in2p3.fr> 20
4221
4222 * Moving to v1r8
4223
4224
42252001-05-11 Christian Arnault <arnault@lal.in2p3.fr> 19
4226
4227 * src/cmt_deps_builder.cxx (): Augmented local internal
4228 line buffer (from 1024 to 16384).
4229
4230 * doc/CMTDoc.html: document the new &lt;package>_root macro
4231
4232 * src/cmt_parser.cxx (set_standard_macros) (get_best_form): Define
4233 a new set of standard macros using the pattern <package>_root
4234 similar to <PACKAGE>ROOT except that this new definition uses the
4235 get_best_form, with a relative path to the package. The
4236 <PACKAGE>ROOT macro is restored to the previous convention, that
4237 it uses the absolute path.
4238
4239 * src/cmt_use.cxx (fill_includes_macro): Adapt the
4240 fill_includes_macro to use the new <package>_root standard macro
4241
4242
42432001-05-10 Christian Arnault <arnault@lal.in2p3.fr> 18
4244
4245 * src/cmt_parser.cxx (do_broadcast): Add the -begin=<pattern>
4246 option to start the broadcast loop from a given package. This
4247 option can be combined with other options such as -select or
4248 -exclude.
4249
4250 * src/cmt_generator.cxx (filter_paths): Suppress two unused
4251 variables.
4252
4253 * src/cmt_use.cxx (add): Bug fixing: during the discovery of
4254 versions requested for a given package, the discarded versions
4255 were not correctly replaced by the finally selected version,
4256 especially in the Use::get_paths method. The
4257 Use::get_selected_version has been added to obtain the effective
4258 replacement for a discarded version.
4259
4260 * fragments/check_application: suppress the ". setup.sh" before
4261 application run.
4262
42632001-05-04 Christian Arnault <carnault@lxplus023.cern.ch> 17
4264
4265 * src/cmt_parser.cxx (set_standard_macros): The production of all
4266 use_xxx standard macros now is based on a "macro_append" keyword
4267 instead of "macro", since "macro" resets all previous
4268 definitions. Therefore if the user's requirements did augment
4269 those use_xxx macros, these specifications would be ignored.
4270
4271 (do_broadcast): Set the -local option to broadcast the
4272 default. Add the -global option to revert to the old default (with
4273 no selection and to any depth)
4274
42752001-05-03 Christian Arnault <carnault@lxplus019.cern.ch> 17
4276
4277 * src/cmt_symbol.cxx (add_value_to_list): A new macro or set
4278 keyword resets (discards) all previous definitions for the
4279 corresponding symbol.
4280
4281 * src/cmt_symbol.h (class SymbolValueList): Added an attribute
4282 discarded for symbol resetting.
4283
4284 * src/cmt_parser.cxx (print_macros): Exclude scripts from macros
4285 defined in the $(tag).make file.
4286
42872001-04-27 Christian Arnault <carnault@lxplus022.cern.ch> 16
4288
4289 * src/cmt_parser.cxx (get_best_form): Validate the compression
4290 algorithm for paths to packages (only for the macro <PACKAGE>ROOT
4291 - this is still not true for the <PACKAGE>ROOT environment
4292 variable) into a relative form when it is shorter than the
4293 absolute form.
4294
4295 * src/cmt_system.cxx (compress_path): Fix the algorithm for
4296 compressing the patterns "aaaa/xxxx/../bbbb" into aaaa/bbbb.
4297
4298 * src/cmt_generator.cxx (filter_paths): use
4299 CmtSystem::compress_path instead of duplicating its algorithm for
4300 erasing "/aaa/.." patterns
4301
43022001-04-25 Christian Arnault <carnault@lxplus022.cern.ch> 15
4303
4304 * src/cmt_parser.cxx (set_standard_macros): Prepare the production
4305 of <PACKAGE>ROOT macros as relative paths rather than absolute
4306 ones, when the relative expression is shorter than the absolute
4307 one. Temporarily, trigger that feature by setting the
4308 CMTTESTPREFIX environment variable until absence of side effects
4309 is confirmed.
4310
43112001-04-18 Christian Arnault <carnault@atlas009.cern.ch> 15
4312
4313 * src/cmt_generator.cxx (build_readme): bug when generating the
4314 readme_trailer fragment : the PACKAGE variable should be reset to
4315 current.
4316
43172001-04-11 Christian Arnault <arnault@lal.in2p3.fr> 15
4318
4319 * src/cmt_generator.h (class Generator):
4320 * src/cmt_parser.cxx (do_build_readme):
4321 * src/cmt.h (class Cmt): do_build_readme now propagates argument list
4322
4323 * fragments/readme_trailer:
4324 * src/cmt_generator.cxx (build_readme): Added DATE and USER information when building the README.html file. readme_trailer fragment updated accordingly.
4325
4326 (build_readme): Add the -url=<url> argument to the cmt build
4327 readme command. The specified URL will be used in place of the
4328 package path when generating the URL for used packages.
4329
43302001-04-18 Christian Arnault <arnault@lal.in2p3.fr> 14
4331
4332 * src/cmt_symbol.cxx (build): In all builder objects, symbol value
4333 lists registered by discarded Uses are now ignored.
4334
4335 * src/cmt_symbol.h (class SymbolValue): cleanup a comment.
4336
4337 * src/cmt_symbol.cxx (print): protect setup script execution
4338 against missing files.
4339
43402001-04-10 Christian Arnault <arnault@lal.in2p3.fr> 13
4341
4342 * src/cmt_generator.cxx (build_readme):
4343 * fragments/readme_use: building readme.html requires to know the
4344 mgr/cmt style of each used package. This fragment now requires a
4345 fourth variable MGRSTYLE which reflects the use->mgr_style
4346 attribute. Generator::build_readme fills in this new variable.
4347
43482001-04-06 Christian Arnault <arnault@lal.in2p3.fr> 12
4349
4350 * src/cmt_parser.cxx
4351 (reach_current_package): Use CmtSystem::getenv instead of base getenv
4352
4353 * src/cmt_symbol.cxx (action): Now really private stuff is
4354 selected when access is at UserMode and scope is Private.
4355
4356 * src/cmt_use.cxx (add): This method does not need to maintain
4357 current scope and access mode any longer.
4358
4359 * src/cmt_parser.cxx (parse_requirements): Cmt::parse_requirements
4360 now manages the AccessMode and Scope when recursing into
4361 requirements files of used packages.
4362
4363 Cmt::scope handles the sticky state provided by private/public statements
4364 Cmt::current_access handles the access mode that reflects the situation of the user
4365
4366 * src/cmt_parser.h (enum): introduce the AccessMode to distinguish
4367 between DeveloperMode (when pwd is in the current package
4368 directory) and UserMode (otherwise).
4369
4370 * src/cmt.h (class Cmt): Cmt::current_mode is now current_access
4371 and is of type AccessMode
4372
4373 * src/cmt_parser.cxx (reach_current_package): Use
4374 CmtSystem::getenv instead of base getenv
4375
4376 * src/cmt_use.cxx (Use::get_paths):
4377 * src/cmt_pattern.cxx (Pattern::apply ()) : bug in computing the
4378 path between two Uses. The result now includes the current Use.
4379
43802001-04-05 <arnault@lal.in2p3.fr> 12
4381
4382 * src\cmt_tag.cxx (Tag::add(const cmt_string& name, int priority):
4383 clear a newly created Tag object (to deal with the reuse of old
4384 objects)
4385
4386 * src\cmt_pattern.cxx (Pattern::add) : clear a newly created
4387 pattern object (to deal with the reuse of old objects)
4388
4389 * src\cmt_use.h (class Use): Add Use::author_action and
4390 Use::manager_action to fill in the author and manager information.
4391
4392 * src\cmt_parser.cxx (select): fill in author and manager values
4393 with the complete line. When several author and manager statements
4394 are provided, fill in as several lines (separated with a new-line).
4395
4396 * src\cmt_generator.cxx (analyze_file (const Constituent&
4397 constituent, const cmt_string& file) : production of objects for
4398 libraries and applications is strictly identical.
4399
44002001-04-03 Christian Arnault <arnault@lal.in2p3.fr> 11
4401
4402 * src/cmt_constituent.cxx (clear): constituent.parameters was not
4403 cleared in Constituent::clear
4404
4405 * src/cmt_symbol.cxx (build): add cleanup ValueList objects after
4406 their addition for ensuring a really new value (due to cmt_string
4407 optimizing)
4408
44092001-04-03 Christian Arnault <carnault@atlas006.cern.ch> 10
4410
4411 * mgr/Makefile: Operate the demo targets on different make action
4412 lines
4413
4414 * src/Makefile.header: Added -tag=$(tag) to cmt actions
4415
4416 * fragments/generator_header: create the output directory if
4417 needed
4418
44192001-04-02 <arnault@lal.in2p3.fr> 9
4420
4421 * fragments\nmake\constituent: added the -tag=$(tag) option to cmt
4422 build actions
4423
4424 * src\cmt_parser.cxx (parser): show_constituentxxx recursively
4425 reads used requirements files
4426
4427 * src\cmt_pattern.cxx (Pattern::apply () const): protection added
4428 for the case where the pattern is applied to the package that
4429 defines it.
4430
44312001-03-29 Christian Arnault <carnault@atlas005.cern.ch> 8
4432
4433 * src/cmt_use.cxx (get_paths):
4434 * src/cmt_use.h (class Use):
4435 * src/cmt_pattern.h (class IgnorePattern):
4436 * src/cmt_pattern.cxx (const apply): Bug in apply global patterns
4437 : a pattern defined in one package should only be applied to the
4438 Uses that are on one of the paths between the current Use and the
4439 one wher the pattern is defined (and not to the Uses that never
4440 pretend to inherit that pattern!!!)
4441
4442 This required to implement the Use::get_paths which fills in the
4443 inclusive list of all Uses that are between two Uses.
4444
44452001-03-27 Christian Arnault <carnault@lxplus017.cern.ch> 7
4446
4447 * fragments/dependencies: protection against missing dependency
4448 make fragment during clean operations.
4449
4450 * src/cmt_constituent.cxx (class constituents_action_iterator):
4451 the -suffix= option was hidden by the user variable specification
4452 while parsing the constituent parameters.
4453
44542001-03-23 Christian Arnault <carnault@atlas007.cern.ch> 6
4455
4456 * mgr/requirements: clean up WIN32 tag variants definitions
4457
4458 * src/Makefile.header (setup.make): Display of the target in case
4459 of target not found (.DEFAULT)
4460
4461 * fragments/make_setup (csh): few checks
4462
4463 * fragments/installer: add the creation of $(install_dir) if
4464 needed
4465
44662001-03-21 Christian Arnault <arnault@lal.in2p3.fr> 5
4467
4468 * src/cmt_parser.cxx (parse_arguments): When the tag specified in
4469 the command line arguments (using -tag=<tag>) is the same as
4470 CMTCONFIG, then still validate the tag given by uname
4471
4472 * fragments/dependencies: generate
4473 ${CONSTITUENT}_dependencies.make into $(bin)
4474
4475 * fragments/constituent: generate ${CONSTITUENT}.make into $(bin)
4476
4477 * src/cmt_constituent.cxx (parse):
4478 * src/cmt_constituent.h (class Constituent): Added the two-step
4479 parsing of the constituents specifications : first stage during
4480 parsing of the requirements file, parameters are simply stored in
4481 the constituent object and not interpreted. Second stage : after
4482 building the standard macros (once requirements files have
4483 entirely been read) then constituent objects are parsed.
4484
4485 * src/cmt_parser.cxx: Add Constituent::parse_all in
4486 Cmt::set_standard_macros to finalize the constituent
4487 parsing. Install set_standard_macros in several additional actions
4488
4489
4490
44912001-03-16 Christian Arnault <arnault@lal.in2p3.fr> 4
4492
4493 * src/cmt_cvs.cxx (class CvsImplementation): Get the files at the
4494 top directory when doing a cmt checkout.
4495
4496 Only checkout at head for the top package (ie do not recurse at
4497 head) and when -r is not specified.
4498
4499 * src/cmt_symbol.cxx (resolve_value_for_macros): Perform the
4500 substitution of ${} to %% (or reverse) even if the env. var. is
4501 not defined in CMT.
4502
4503 * src/cmt_parser.cxx (install_setup_scripts): Setup scripts on
4504 Windows generate the temporary expansion script in
4505 %HOMEDRIVE%%HOMEPATH%.
4506
45072001-03-16 Christian Arnault <carnault@atlas009.cern.ch> 3
4508
4509 * mgr/requirements: clean up variants for VisualC and
4510 VisualC/debug
4511
45122001-03-15 <arnault@lal.in2p3.fr> 2
4513
4514 * src\cmt_use.cxx (class use_action_iterator): Strange name
4515 conflict: the use_action_iterator::set method is in conflict with
4516 something else when the class is named "action_iterator" (is it a
4517 conflict with the same private class defined in Symbol.cxx ??)
4518
4519 * src\NMakefile.header (cmtexe): Fix for re-building cmt when
4520 cmt.exe does not exist.
4521
45222001-03-13 Christian Arnault <arnault@lal.in2p3.fr> 1
4523
4524 * src/cmt_use.cxx (class action_iterator): Introducing the
4525 action_iterator class for managing the local expansion of macros
4526 in the syntax parser (similart to what was done in Symbol::action)
4527
4528 * src/cmt_generator.cxx (Generator::build_make_setup) when
4529 generating setup.make, the default value for constituents is
4530 extracted from the constituents macro.
4531
45322001-03-06 Christian Arnault <arnault@lal.in2p3.fr>
4533
4534 * src/cmt_cvs.cxx (class CvsImplementation): Show both top tags
4535 and non-top tags in cmt cvstags.
4536
4537 * doc/CMT.htm: Addition of several slide shows (from Atlas)
4538
4539 * mgr/cmt_buildcvsinfos2.sh (error): The awk script had to be
4540 protected against multiple ocurrences of the /symbols/,/locks/
4541 pattern.
4542
4543 Implement both in python and in shell script the differntiated
4544 production of top tags and non-top tags. Top tags are the set of
4545 tags sharing the most recent CVS tagged version id (ie. the HEAD
4546 may be more recent)
4547
45482001-03-05 <arnault@lal.in2p3.fr>
4549
4550 * src\cmt_parser.cxx (do_build_library_links): Handle libraries
4551 specified as a full path in <package>_libraries
4552
4553 * src\cmt_parser.cxx (print_context):
4554 * src\cmt_symbol.cxx (all_print): Use one line per
4555 env. var. assignment when generating setup scripts (instead of ;
4556 separated instructions) . The latter style should be no longer
4557 needed since we use temporary files.
4558
4559 * src\cmt_parser.cxx (set_standard_macros): Add CMTCONFIG to the
4560 standard sets, so as to let it known as a plain "symbol"
4561
45622001-03-02 <arnault@lal.in2p3.fr>
4563
4564 * src\cmt_system.h: introduce the CmtSystem::ev_open () and
4565 CmtSystem::ev_close () to get the OS-dependent pattern for
4566 environment variable definition.
4567
4568 * src\cmt_symbol.cxx (resolve_value_for_macros): Substitute
4569 patterns ${xxx} or %xxx% to the appropriate OS-dependent pattern
4570 when producing "set" values only (this is only done when the
4571 pattern is not already the good one)
4572
4573 * src\cmt_parser.cxx (install_setup_scripts): Changed
4574 >>${tempfile} into >${tempfile} in setup scripts (fix a constraint
4575 in csh)
4576
45772001-02-26 Christian Arnault <arnault@lal.in2p3.fr>
4578
4579 * src/cmt_parser.cxx (do_build_temporary_name): Add the build
4580 temporary_name command to supply that missing function on various
4581 shells.
4582 (install_test_setup_scripts): Apply this new build service to
4583 setup scripts generation.
4584
4585 * src/Makefile.header: Needed a trailing end-of-line
4586
45872001-02-15 Christian Arnault <arnault@lal.in2p3.fr>
4588
4589 * src/cmt_cvs.cxx (class CvsImplementation): Fix misuse of
4590 checkout_package arguments (confusion between package path and
4591 checkout directory)
4592
45932001-02-26 <arnault@lal.in2p3.fr>
4594
4595 * src\cmt_parser.cxx (install_test_setup_scripts): use mktemp for
4596 setup scripts.
4597
4598 * mgr\requirements: Suppress local private configuration of
4599 MSVC++. It has to be done previously to operate on CMT (even
4600 before making the INSTALL.bat)
4601
46022001-02-26 Christian Arnault <arnault@lal.in2p3.fr>
4603
4604 * src/cmt_deps_builder.cxx ((char* ptr,
4605 state_def& state,
4606 const cmt_string& dir_name,
4607 int current_path_index,
4608 const CmtSystem::cmt_string_vector& include_paths,
4609 const CmtSystem::cmt_string_vector& substitutions,
4610 CmtSystem::cmt_string_vector& all_deps,
4611 CmtSystem::cmt_string_vector& deps)
4612 * src/cmt_generator.cxx ((const cmt_string& file_name)
4613
4614 Rollback recent change to work on cmt_strings rather than char* to
4615 restore speed.
4616
46172001-02-15 Christian Arnault <arnault@lal.in2p3.fr>
4618
4619 * src/cmt_generator.cxx (build_dependencies): Restore the
4620 mechanism that takes into account the arguments, and the source
4621 list when -all_sources option is provided.
4622
4623 * mgr/requirements: change /machine:I386 into /machine:IX86 as
4624 link option for VisualC
4625
46262001-02-13 <arnault@lal.in2p3.fr>
4627
4628 * src\cmt_generator.cxx (build_dependencies): Do not require the
4629 source list from the arguments. Instead, get the sources directly
4630 from the constituents definition.
4631
4632 The "cmt build dependencies" now only requires the constituent name.
4633
4634 * src\cmt_deps_builder.cxx: Read files at once into a cmt_string
4635 and work from the text instead of reainf line by line from the file.
4636
4637 Install the detection of fortran include statements
4638
46392001-02-06 <arnault@lal.in2p3.fr>
4640
4641 * src\cmt_use.cxx: clean up space & tabs
4642
4643 * cmt_parser.cxx (parse_requirements_text): Abort the parser in
4644 case of error, but only for check configuration command.
4645
4646 * NMakefile.header (lex_echo): Add -quiet option to cmt command
4647 except cmt check configuration
4648
4649 * constituents.nmake: Add -quiet option to cmt command
4650
46512001-01-30 <arnault@lal.in2p3.fr>
4652
4653 * all dsp fragments : suppress the Win32 Release
4654 configuration. Only keep the Win32 Debug. This makes possible the
4655 generation of msdev using the syntax cmt build msdev
4656 -tag=VisualCdbg
4657
46582001-01-30 <arnault@lal.in2p3.fr>
4659
4660 * mgr/cmt_buildcvsinfos.py: first attempt to make the cvs script
4661 written in Python
4662
4663 * mgr/requirements: Consistently base Windows tag on VisualC rather
4664 than WIN32
4665
4666 upgraded setup.tcsh setup.zsh
4667
4668 introduced cmt show include_dirs
4669
4670 introduced cmt show constituent <name>
4671
4672 bug in Pattern::add : overridden patterns were not cleared.
4673
4674 cmt config must recursively get used packages (at least to get patterns)
4675
4676 introduced cmt show pattern_names (at least for completion mechanisms)
4677 new action : action_show_pattern_names
4678
4679 experimental work started on build triggers
4680
4681 macro build_triggers
4682 implied_library_prefix
4683 implied_library_sufffix
4684
4685 new library option -triggers
4686 new constituent attribute build_triggers
4687 new fragment dependencies_and_triggers for libraries
4688
4689 bug in cmt_system.cxx::scan_dir
4690
4691 Recursively get all requirements file in cmt config action
4692
4693
4694 Changed strategy for argument parsing error detection
4695
46962001-01-30 <arnault@lal.in2p3.fr>
4697
4698 * cmt_use.cxx ((const cmt_string& from_path) : bug in detection of
4699 "use pack " without version specification at all (ie equiv. to
4700 *). We needed to check we are on a real CMT package.
4701
4702 * cmt_constituent.cxx (class action_iterator): Expand the macros
4703 before acting upon a constituent specification. Each expanded word
4704 may then result in several words. Thus the line parser is
4705 re-implemented through a local operator class "action_iterator",
4706 in charge of filling up a new constituent object from the expanded
4707 statement. (Note that this mechanism could perfectly be reused for
4708 other statements eg "use" !!!)
4709
4710 * cmt_parser.cxx (set_standard_macros): Implement all_constituents
4711 and all_constituentsclean unconditionally.
4712
4713 * NMakefile.header (checkuses): if defined statements require that
4714 the macro to test is provided without quotes.
4715
4716 * cmt_generator.cxx: Apply the new convention of installing object
4717 files into $(bin)${CONSTITUENTS} also for applications (was only
4718 done for libraries)
4719
4720 * cmt_parser.cxx (print_context): Take the current CONFIG name
4721 from CmtSystem::get_cmt_config rather than recursively calling
4722 "cmt system", when generating setup scripts.
4723
4724 * cmt_cvs.cxx (class CvsImplementation): Use '/' ínstead of
4725 CmtSystem::file_separator for CVS-only file specs.
4726
47272000-12-26 <arnault@lal.in2p3.fr>
4728
4729 * cmt_fragment.h (class Fragment and FragmentHandle): Install all
4730 variants of (win)copy methods that act upon a cmt_string instead
4731 of a FILE*.
4732
4733 * cmt_model.cxx: Create the implementation file for CmtModel
4734
4735 * cmt_model.h (class CmtModel): Create the CmtModel class
4736
4737 * cmt_parser.cxx (do_expand_model): Add the new command verb :
4738 'expand model' and all associated features
4739 (do_expand_model): call the CmtModel::expand
4740
Note: See TracBrowser for help on using the repository browser.