source: CMT/v1r19/ChangeLog@ 19

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

Accept HEAD as a valid version directory - CL261

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