source: CMT/v1r19/ChangeLog@ 15

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

Steps for strategy management

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