source: CMT/v1r19/ChangeLog@ 8

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

Add release conflict detection - CL 255

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