unified MX27, MX25, MX37 trees
[karo-tx-redboot.git] / tools / src / libcdl / ChangeLog
1 2003-02-12  Bart Veer  <bartv@ecoscentric.com>
2
3         * Makefile.in, configure, testsuite/Makefile.in:
4         Regenerate after acinclude.m4 update
5
6 2003-02-11  Bart Veer  <bartv@ecoscentric.com>
7
8         * build.cxx (compare_and_copy):
9         Work around problem with cygwin tclsh84 - "file rename" may
10         spuriously report failure.
11
12 2003-02-03  John Dallaway  <jld@ecoscentric.com>
13
14         * cdl.dsp: Call tclsh rather than cygtclsh80 in custom build rule.
15
16 2002-12-22  Nick Garnett  <nickg@ecoscentric.com>
17
18         * doc/.cvsignore: Added this file to ignore generated HTML files.
19
20 2002-09-21  Bart Veer  <bartv@ecoscentric.com>
21
22         * cdlcore.hxx, cdl.hxx, build.cxx, component.cxx, config.cxx,
23           database.cxx, dialog.cxx, interface.cxx, interp.cxx,
24           option.cxx, package.cxx, parse.cxx, property.cxx,
25           value.cxx, wizards.cxx
26         Avoid const compatibility problems with Tcl 8.4
27
28 2002-08-03  Bart Veer  <bartv@ecoscentric.com>
29
30         * acinclude.m4, configure.in, Makefile.am, testsuite/Makefile.am,
31         testsuite/config/default.exp:
32         Rework host-side autoconf support
33         
34 2002-03-04  Gary Thomas  <gthomas@redhat.com>
35
36         * build.cxx (update_header_file_info): 
37         Suppress include files which and in "~" - these are backup
38         files and are transient.  Keeping them can break a build
39         tree if the backup files are removed.
40
41 2002-02-18  Bart Veer  <bartv@redhat.com>
42
43         * transact.cxx (user_confirmation_required):
44         Making a valuable with a user_value inactive requires
45         user confirmation, it should not be done automatically
46         by the inference engine.
47
48 2001-12-07  Bart Veer  <bartv@redhat.com>
49
50         * doc/language.sgml, doc/*.html:
51         Add a footnote clarifying a particular Tcl expression
52         (bug 57097). Regenerate html.
53
54         * doc/fixhtml.tcl
55         Removed, the master copy now lives in pkgconf
56
57 2001-12-06  Bart Veer  <bartv@redhat.com>
58
59         * cdlcore.hxx, build.cxx, interp.cxx:
60         Move #include of <cctype> to common header rather than to
61         individual source files, avoiding build problems with
62         newer compilers. Reported by Jeff Law.
63
64         * infer.cxx (inner_resolve):
65         CdlTransaction::is_preferable_to() is not symmetric. Rearrange
66         some expressions so that disabling options or making them
67         inactive is subtly discouraged rather than encouraged.
68
69 2001-07-20  Bart Veer  <bartv@redhat.com>
70
71         * value.cxx (save):
72         Complicated "requires" expressions spread over multiple lines
73         were not being turned into multiline comments, leading to
74         illegal savefiles.
75
76 2001-07-11  Bart Veer  <bartv@redhat.com>
77
78         * transact.cxx (is_preferable_to):
79         Consider active changes as well as value changes.
80
81 2001-07-10  Bart Veer  <bartv@redhat.com>
82
83         * transact.cxx (is_preferable_to): 
84         Fine-tune the determination of which of two transactions has less
85         impact on the system.
86         
87         * infer.cxx (infer_handle_interface_value):
88         Add inference engine support for constraints of the form
89         (xxx == 0) and (xxx = 1), where xxx is an interface.
90         
91 2001-07-08  Jonathan Larmour  <jlarmour@redhat.com>
92
93         * interp.cxx: include <cctype> as isspace() is used.
94
95 2001-06-21  Bart Veer  <bartv@redhat.com>
96
97         <merge of development work>
98         * base.cxx, cdlcore.hxx, property.cxx, parse.cxx, value.cxx, refer.cxx:
99         Allow an empty string to be used for parent properties, implying
100         reparenting below the root
101
102         * expr.cxx, cdlcore.hxx, infer.cxx:
103         Add support for new operators implies, xor and eqv
104
105         * func.cxx:
106         Add new function is_xsubstr(), is_loaded(), is_active(),
107         is_enabled(), get_data() and version_cmp()
108
109         * doc/main.sgml: 
110         Add 2001 to copyright year.
111         
112         * doc/language.sgml, doc/reference.sgml:
113         Document the above changes
114
115         * doc/*.html:
116         Regenerate following above changes, and using newer stylesheets
117         etc. 
118
119 2001-06-20  Bart Veer  <bartv@redhat.com>
120
121         * database.cxx, cdl.hxx:
122         
123         Add a verbosity flag to control whether or not certain warnings
124         are issued. The main warnings of interest are inconsistencies
125         between the database and the repository, e.g. packages listed
126         but not actually installed, as can happen in anoncvs checkouts.
127
128 2001-05-16  Bart Veer  <bartv@redhat.com>
129
130         * Makefile.am: use new compiler flag support
131
132         * configure, Makefile.in, testsuite/Makefile.in: regenerate
133         
134 2001-05-14  Bart Veer  <bartv@redhat.com>
135
136         * func.cxx (get_args_count): Avoid compiler warning.
137         * func.cxx (is_substr_find): fix VC++ build problem (patch
138         provided by Julian) 
139
140 2001-04-27  Bart Veer  <bartv@redhat.com>
141
142         * doc/language.sgml:
143         Added documentation on functions
144
145         * func.cxx, Makefile.am, Makefile.in:
146         New module for function support inside expressions
147
148         * expr.cxx
149         Add support for functions and the string concatenation operator. 
150
151         * infer.cxx
152         Clean-up, add support for functions, and implement more inference
153         functionalitity generally.
154
155 2001-04-19  Bart Veer  <bartv@redhat.com>
156
157         * doc/*.sgml, *.html:
158         Update as per current corporate doc conventions.
159
160 2001-02-27  Jonathan Larmour  <jlarmour@redhat.com>
161
162         * interp.cxx (locate_subdirs): Accept "cvs" as a synonym for "CVS"
163         * database.cxx (new_package): Ditto.
164
165 2000-08-18  Bart Veer  <bartv@redhat.com>
166
167         * configure.in:
168         Allow cross-compilation.
169
170         * configure, Makefile.in, testsuite/Makefile.in:
171         Regenerate.
172
173         * base.cxx, build.cxx, cdl.hxx, cdlcore.hxx, component.cxx,
174         config.cxx, database.cxx, dialog.cxx, expr.cxx, interface.cxx,
175         interp.cxx, option.cxx, package.cxx, parse.cxx, value.cxx,
176         wizard.cxx
177         Remove C++ exception specifications, because they cause problems
178         with some versions of the tools.
179
180 2000-07-06  Bart Veer  <bartv@redhat.com>
181
182         * conflict.cxx (get_explanation):
183         Put quotes around "requires" in the conflict explanation.
184         Requested by the eCos team.
185
186 2000-07-04  Bart Veer  <bartv@redhat.com>
187
188         * value.cxx (save):
189         The comment "# This value cannot be modified here." was being
190         added even for modifiable options, courtesy of some earlier
191         code rearrangement.
192
193         * config.cxx (change_package_version):
194         Prevent assertion failure/crash when changing the version of a
195         package that has not been loaded (not uncommon when using
196         ecosconfig and confusing the order of the version and the
197         package(s)).
198
199 2000-06-28  Bart Veer  <bartv@redhat.com>
200
201         * transact.cxx, cdlcore.hxx:
202         Add details of the current transaction to the transaction callback
203         class. Previously there was no way of getting hold of the current
204         transaction and hence the toplevel from inside the callback
205         without using statics.
206
207         * value.cxx (set_flavor):
208         Temporarily undo some of the previous value clean-ups, they were
209         causing problems at the application level. The API needs to be
210         changed to eliminate confusion between value and the data part
211         of a bool/value pair.
212
213 2000-06-22  Bart Veer  <bartv@redhat.com>
214
215         * value.cxx, interface.cxx:
216         Allow the flavor property to be used on interfaces. booldata
217         interfaces allow the use of #ifdef to determine whether or not
218         a feature is available. Clean up some of the value stuff to match,
219         especially when it comes to savefiles.
220
221         * build.cxx, cdlmisc.cxx, cdlcore.hxx:
222         Add version #define support.
223
224 2000-06-15  John Dallaway  <jld@redhat.com>
225
226         * cdl.dsp:
227         Build libCDL to v:\cdl rather than v:\ide. Build debug versions
228         against tcl82d.lib rather than tcl82.lib.
229
230 2000-06-02  Bart Veer  <bartv@redhat.com>
231
232         * config.cxx (load_package):
233         Diagnostic function pointers were not being installed at the
234         package level, so error messages due to invalid CDL were
235         disappearing.
236
237 2000-05-11  Bart Veer  <bartv@redhat.com>
238
239         * value.cxx (implements_update_handler):
240         Cope gracefully with implements properties where the destination
241         is not an interface.
242
243         * transact.cxx (clear_structural_conflicts):
244         Prevent a structural conflict from being destroyed twice (only
245         likely to happen during a major delete operation).
246
247 2000-04-14  Bart Veer  <bartv@redhat.com>
248
249         * infer.cxx (infer_set_valuable_value):
250         Extend the == operator inference support to cope with bool and
251         booldata options.
252
253 2000-04-11  Bart Veer  <bartv@redhat.com>
254
255         * infer.cxx (infer_make_active):
256         Fix infinite recursion. Naughty inference engine.
257
258         * interp.cxx (eval):
259         Diagnostics enhancement tweak.
260
261         * build.cxx (generate_config_header):
262         Add a context when generating header files.
263
264         * base.cxx (CdlLoadableBody):
265         Add a context to the CdlInterpreter on creation, for better
266         diagnostics.
267         Do not raise errors in the internal Tcl scripts, since those
268         may now get reported.
269
270         * database.cxx (new_package):
271         A single spurious subdirectory in a package should not invalidate
272         the entire package.
273
274 2000-04-10  Bart Veer  <bartv@redhat.com>
275
276         * base.cxx, build.cxx, cdl.hxx, cdlcore.hxx, cdlmisc.cxx,
277         component.cxx, config.cxx, database.cxx, dialog.cxx, expr.cxx,
278         interface.cxx, interp.cxx, option.cxx, package.cxx, parse.cxx,
279         property.cxx, value.cxx, wizard.cxx
280         Improved diagnostics support.
281
282         * build.cxx, property.cxx, parse.cxx:
283         Allow for string vector properties with no elements. Use this
284         for the include_files property.
285
286 2000-03-13  John Dallaway  <jld@cygnus.co.uk>
287
288         * cdl.dsp:
289         Modify libCDL custom build step to calculate the short form
290         of the host tools root directory to allow rebuilding using an
291         eCos installation in its default location (containing spaces).
292
293         Use the presence of the last file generated by the
294         configure phase (the ecosconfig makefile) to determine whether
295         to invoke configure. This provides some further robustness
296         against failed or interrupted builds.
297
298 2000-03-08  Simon FitzMaurice <sdf@cygnus.co.uk>
299         * cdl.dsp : Modify libCDL custom build step to add --enable-maintainer-mode
300
301 2000-03-08  John Dallaway  <jld@cygnus.co.uk>
302
303         * cdl.dsp:
304         Modify libCDL custom build step to configure in the host tools
305         directory rather than the root of the eCos repository.
306
307 2000-03-08  Simon FitzMaurice <sdf@cygnus.co.uk>
308         * cdl.dsp : Modify libCDL custom build step to avoid running configure every time.
309
310 2000-03-07  John Dallaway  <jld@cygnus.co.uk>
311
312         * cdl.dsp:
313         Modify libCDL custom build step to accommodate the migration
314         if libCDL sources.
315
316 2000-03-01  Bart Veer  <bartv@redhat.com>
317
318         * expr.cxx (eval_internal):
319         If there is an eval exception, only manipulate conflicts if we are
320         in a transaction.
321
322         * value.cxx:
323         Make the code more robust against eval exceptions
324
325 2000-02-15  Bart Veer  <bartv@redhat.com>
326
327         * build.cxx (generate_config_header):
328         Fix the symbol that gets used for define properties.
329
330         * package.cxx (get_config_header):
331         Completely suppress the generation of <pkgconf/hardware.h> until
332         further notice. Allow active_if properties in packages.
333         Comment a need for default_value properties.
334         
335 2000-02-11  John Dallaway  <jld@cygnus.co.uk>
336
337         * cdl.dsp
338         Configure and make 'quietly' for release builds to help contain
339         the length of the release logs.
340
341         * cdl.mak:
342         Remove this obsolete file.
343
344 2000-02-10  Bart Veer  <bartv@redhat.com>
345
346         * package.cxx (parse_package):
347         Allow packages to have active_if properties.
348         Add a comment that default_value in a package should be allowed as
349         a way of controlling enabled/disabled state.
350
351 2000-02-03  Bart Veer  <bartv@redhat.com>
352
353         * infer.cxx (infer_handle_reference_bool):
354         Earlier fix missed yet more sub-transactions that should have been
355         cancelled. 
356
357 2000-02-02  Bart Veer  <bartv@redhat.com>
358
359         * infer.cxx (infer_make_inactive):
360         Earlier fix missed a sub-transaction that should have been
361         cancelled.
362
363         * value.cxx (implements_update_handler):
364         Also recalculate an interface if the destination is created.
365         Otherwise an interface will have the wrong value if it is loaded
366         after all its implementors.
367
368         *  infer.cxx, transact.cxx:
369         Make sure that sub-transactions are either cancelled or committed
370         before they get deleted.
371
372 2000-01-26  Bart Veer  <bartv@redhat.com>
373
374         * config.cxx (save):
375         Always output the description field for a standard savefile.
376
377         * base.cxx (save_conflicts):
378         Add missing newline
379
380         * infer.cxx (infer_subexpr_bool):
381         Fix the handling of && and ||
382
383         * infer.cxx (infer_handle_reference_value):
384         Do not try modifying inactive data items, there is no point
385         and it could cause an assertion failure
386
387 2000-01-25  Bart Veer  <bartv@redhat.com>
388
389         * config.cxx:
390         Extend the savefile support to remember which packages
391         belong to the hardware and which ones belong to the
392         template.
393
394 2000-01-24  Bart Veer  <bartv@redhat.com>
395
396         * cdlcore.hxx, parse.cxx, wizard.cxx (parse_screen): 
397         Change parse_property_options() to parse_options() so that it can
398         be used for more than just properties
399
400         * cdlcore.hxx, config.cxx:
401         Make sure that a LocalTransaction always gets cancelled if
402         things go wrong and an exception is thrown, prior to the
403         transaction being deleted.
404
405         * base.cxx, interp.cxx, value.cxx:
406         Savefile format tweaks.
407
408 2000-01-21  Bart Veer  <bartv@redhat.com>
409
410         * base.cxx (add_node_to_toplevel):
411         When a loadable was re-added to the toplevel after an unload was
412         cancelled, its parent was not set correctly.
413
414         * infer.cxx:
415         Add partial support for dependencies of the form X==Y
416
417 2000-01-20  Bart Veer  <bartv@redhat.com>
418
419         * Makefile.am, Makefile.in:
420         Fix dependencies for interface.cxx and transact.cxx, these
421         were sometimes rebuilt unnecessarily
422
423         * cdlcore.hxx, base.cxx, transact.cxx, config.cxx, package.cxx:
424         All file I/O related operations now happen in the context
425         of a transaction.
426
427 1999-12-17  Bart Veer  <bartv@cygnus.co.uk>
428
429         * cdl.hxx, config.cxx, database.cxx:
430         Add support for set_value commands in ecos.db target entries.
431
432         * database.cxx:
433         Remove old support for template definitions in ecos.db
434
435 1999-12-16  Bart Veer  <bartv@cygnus.co.uk>
436
437         * nearly all files:
438         Add support for memory leak detection, by maintaining per-class
439         object counts via the appropriate constructors and destructors.
440
441         * database.cxx:
442         Plug a one-off memory leak.
443
444 1999-12-14  John Dallaway  <jld@cygnus.co.uk>
445
446         * interp.cxx:
447         Modify CdlInterpreterBody::locate_subdirs(),
448         CdlInterpreterBody::locate_files(),
449         CdlInterpreterBody::is_directory() and
450         CdlInterpreterBody::is_file() to accommodate
451         spaces in paths.
452
453 1999-12-13  Bart Veer  <bartv@cygnus.co.uk>
454
455         * cdlcore.hxx, interface.cxx, transact.cxx, value.cxx:
456         Calculate values for interfaces.
457
458         * base.cxx, cdl.hxx, cdlcore.hxx, component.cxx, config.cxx,
459           database.cxx, dialog.cxx, interface.cxx, interp.cxx, option.cxx,
460           package.cxx, value.cxx, wizard.cxx:
461         Implementation of templates in the form of the partial savefiles.
462
463 1999-12-10  John Dallaway  <jld@cygnus.co.uk>
464
465         * cdlcore.hxx:
466         Use '#pragma warning()' under VC++ only.
467
468 1999-12-09  Bart Veer  <bartv@cygnus.co.uk>
469
470         * cdlmisc.cxx (compare_versions):
471         V1.3.1 and V1.3B6 were not compared correctly.
472
473 1999-12-03  Bart Veer  <bartv@cygnus.co.uk>
474
475         * build.cxx (update_header_file_info):
476         If a package has no include subdirectory and no include_files
477         property, search the package directory tree for anything
478         resembling a header file and install that.
479
480 1999-11-30  Bart Veer  <bartv@cygnus.co.uk>
481
482         * base.cxx:
483         Made the multiple conflict solution code more robust when side
484         effects occur.
485
486         * transact.cxx:
487         When a new conflict is committed and becomes global its solution
488         must be cleared, since no attempt is made to preserve the validity
489         of global solutions.
490
491         * transact.cxx (resolve):
492         Try to make sure that the inference callback gets invoked whenever
493         appropriate.
494
495         * base.cxx:
496         When resolving multiple global conflicts, fixing the first one may
497         have the side effect of fixing subsequent ones as well, resulting
498         in an assertion failure because the inference engine reported a
499         success with no changes being required. This situation is now
500         checked for.
501
502         * parse.cxx (parse_property_options):
503         Allow for a NULL options descriptor
504
505 1999-11-28  Bart Veer  <bartv@cygnus.co.uk>
506
507         * transact.cxx:
508         Global conflict resolution support
509         
510         * infer.cxx:
511         Clean-up for resolving global conflicts
512         Cancel undesirable transactions before they are deleted
513
514         * conflict.cxx: 
515         Add support for resolving global conflicts
516         Implement get_transaction() member
517         
518         * cdlcore.hxx:
519         Add support for resolving global conflicts
520         Tidy up the transaction and transaction callback classes a bit.
521         
522         * base.cxx:
523         Add support for resolving global conflicts
524
525 1999-11-26  John Dallaway  <jld@cygnus.co.uk>
526
527         * build.cxx:
528         Modify CdlToplevelBody::generate_config_headers() and
529         compare_and_copy() to accommodate spaces in the path to the
530         headers directory.
531
532 1999-11-23  Bart Veer  <bartv@cygnus.co.uk>
533
534         * database.cxx (new_target):
535         command_prefix is no longer compulsory for ecos.db target entries,
536         since this is now handled in the config data. command_prefix and
537         cflags are still allowed in ecos.db for now, but will be removed
538         in future.
539
540 1999-11-22  Bart Veer  <bartv@cygnus.co.uk>
541
542         * base.cxx:
543         During an unload operation a conflict may be cleared for multiple
544         reasons: the requires condition may now be satisfied, e.g
545         "requires !xxx" where "xxx" is also being unloaded; and the
546         node containing the requires property may be disappearing as well.
547         
548         * transact.cxx (save_solution):
549         If any parts of a solution involve calculated options then there
550         is no point in exposing this to the user. The re-calculation will
551         happen automatically during the next propagation.
552
553         * base.cxx:
554         * config.cxx:
555         Stop the inference engine from running when packages are loaded or
556         unloaded. The user has no opportunity to cancel or undo the
557         operation, and there may be unexpected behaviour because the
558         inference engine has no clear view of what the overall
559         configuration is going to be.
560
561         * transact.cxx (resolve):
562         Resolving one conflict may affect others in the new_conflicts
563         list. Using an iterator to examine all conflicts is a bad idea.
564         Instead each loop needs to search for a conflict that may
565         have a solution.
566
567         * base.cxx:
568         * config.cxx:
569         * cdlcore.hxx:
570         Rearrange how a CdlConfiguration gets destroyed, to allow dynamic
571         casts to be used on the toplevel as packages are unloaded.
572
573 1999-11-22  John Dallaway  <jld@cygnus.co.uk>
574
575         * config.cxx:
576         Modify CdlConfigurationBody::load_package() to accommodate
577         spaces in the path to the eCos repository.
578
579 1999-11-21  Bart Veer  <bartv@cygnus.co.uk>
580
581         * infer.cxx:
582         * transact.cxx:
583         * cdlcore.hxx:
584         First implementation of inference code
585
586         * conflict.cxx:
587         Added missing is_structural() member
588         
589 1999-11-18  Bart Veer  <bartv@cygnus.co.uk>
590
591         * value.cxx:
592         Created a CdlSimpleValue constructor for booleans, to match the
593         assignment operator.
594
595         * expr.cxx :
596         Modify list expression evaluation code so that any terms which
597         evaluate to empty strings are discarded.
598
599 1999-11-08  Bart Veer  <bartv@cygnus.co.uk>
600
601         * database.cxx:
602         Switched to ECOS_REPOSITORY environment variable.
603         
604         * transact.cxx:
605         * cdlcore.hxx:
606         Separated out normal and structural conflicts in the transaction
607         callback class.
608         
609         * value.cxx:
610         * interp.cxx:
611         * cdlcore.hxx:
612         Added new member CdlInterpreterBody::extend_comment(), for better
613         support of multiline comments in savefiles.
614
615 1999-11-03  Bart Veer  <bartv@cygnus.co.uk>
616
617         * cdlcore.hxx, base.cxx, transact.cxx, value.cxx:
618         Newly loaded nodes were starting out as active, and were not being
619         turned inactive if the parent was disabled. By default nodes are
620         now inactive and there is explicit code in the transaction
621         propagate member function to check whether or not each node should
622         be active.
623
624         * Most files
625         Install the new transaction model
626
627 1999-11-03  John Dallaway  <jld@cygnus.co.uk>
628
629         * value.cxx:
630         Apply patch to correct the omission of a comment char from
631         continuation lines of calculated value comments in
632         configuration save files.
633
634 1999-10-25 Simon FitzMaurice <sdf@cygnus.co.uk>
635         * value.cxx:
636         Apply fix (supplied by Bart) to correct omission of comment symbol
637         from start of second and subsequent lines of split statement.
638
639 1999-10-14  Bart Veer  <bartv@cygnus.co.uk>
640
641         * database.cxx:
642         * cdl.hxx:
643         Add support for new per-target commands enable and disable,
644         which provide limited control over hardware-related configuration
645         options.
646
647         * config.cxx (set_hardware):
648         Process per-target enable/disable commands from the database
649
650 1999-10-12  John Dallaway  <jld@cygnus.co.uk>
651
652         * build.cxx (generate_config_headers):
653
654         Workaround problem with assignment of standard channels
655         which was causing system.h to not be generated.
656
657 1999-10-08  John Dallaway  <jld@cygnus.co.uk>
658
659         * cdl.dsp, cdl.mak:
660
661         Link against Tcl 8.2.1.
662
663 1999-10-07  Bart Veer  <bartv@cygnus.co.uk>
664
665         * value.cxx (get_widget_hint):
666         For some expressions this was corrupting the expression data,
667         because of the use of a reference rather than a pointer.
668
669 1999-10-06  Bart Veer  <bartv@cygnus.co.uk>
670
671         * cdlcore.hxx, database.cxx, expr.cxx, interface.cxx, value.cxx
672         Partial implementations of interfaces and get_widget_hint()
673
674 1999-09-28  Bart Veer  <bartv@cygnus.co.uk>
675
676         * interp.cxx:
677         Fix use of an uninitialized variable.
678
679         * config.cxx:
680         Fix the handling of package versions in save files.
681
682 1999-09-15  Bart Veer  <bartv@cygnus.co.uk>
683
684         * value.cxx
685         Fix output of multiline legal_values expressions
686         
687         * value.cxx
688         Fix variable that might be used uninitialized.
689
690         * all files
691         First implementation of the savefile support
692
693 1999-09-07  John Dallaway  <jld@cygnus.co.uk>
694
695         * cdl.dsp, cdl.mak:
696
697         Add ANSI build configurations.
698
699 1999-09-07  John Dallaway  <jld@cygnus.co.uk>
700
701         * cdl.dsp, cdl.mak:
702
703         Update libCDL project file and VC++ makefile to use current
704         configure switches.
705
706 1999-08-12  Bart Veer  <bartv@cygnus.co.uk>
707
708         * configure.in:
709         * configure:
710         * stamp-h.in:
711         First attempt at autoconfiscating the configtool
712
713 1999-08-10  Bart Veer  <bartv@cygnus.co.uk>
714
715         * expr.cxx, value.cxx:
716         Fixed some problems related to double precision numbers.
717
718 1999-08-03  Bart Veer  <bartv@cygnus.co.uk>
719
720         * parse.cxx:
721         Added an implementation of the "unknown" command which
722         goes via the normal diagnostics routines.
723
724 1999-07-22  Bart Veer  <bartv@cygnus.co.uk>
725
726         * cdlcore.hxx, value.cxx, expr.cxx, cdlmisc.cxx:
727         Try to preserve some input data formatting information, such as
728         whether a number appeared as decimal or hexadecimal.
729
730 1999-07-21  Bart Veer  <bartv@cygnus.co.uk>
731
732         * value.cxx:
733         Added some assertions to make sure that entities with a
734         "calculated" property cannot be modified.
735
736 1999-07-20  Bart Veer  <bartv@cygnus.co.uk>
737
738         * value.cxx, transact.cxx:
739         Fixed some value propagation problems.
740
741         * cdlcore.hxx, value.cxx, expr.cxx:
742         Detect invalid numbers in expressions.
743         A CdlListValue object now contains a single vector of
744         CdlSimpleValue objects, not separate vectors of strings, integers
745         and doubles. This allows ordering to be preserved.
746
747         * most files:
748         Sync development version with repository, there is now
749         full value support.
750
751 1999-07-13  Bart Veer  <bartv@cygnus.co.uk>
752
753         * expr.cxx:
754         Implement operator precedence
755         Fix parsing of conditional expressions.
756
757 1999-07-12  Bart Veer  <bartv@cygnus.co.uk>
758
759         * most files:
760         Sync development version with repository, there is now partial
761         expression support.
762
763 1999-07-05  Bart Veer  <bartv@cygnus.co.uk>
764
765         * all files:
766         Merge development work from the libcdl branch.
767         
768
769 1999-06-10  John Dallaway <jld@cygnus.co.uk>
770
771         * cdl.dsp:
772         Convert to a Visual C++ utility project.
773
774 1999-06-08  John Dallaway <jld@cygnus.co.uk>
775
776         * cdl.dsp:
777         Project file outputs libCDL to the project-specified output
778         directory rather than the intermediate directory
779
780 1999-06-07  John Dallaway <jld@cygnus.co.uk>
781
782         * cdl.dsp:
783         Project file is no-longer dependent on the ECOSHOME environment
784         variable
785
786 1999-06-07  John Dallaway <jld@cygnus.co.uk>
787
788         * cdl.dsp:
789         New Visual C++ 6.0 project file for libCDL
790
791 1999-06-03  Bart Veer  <bartv@cygnus.co.uk>
792
793         * configure:
794         Regenerated again after further updates to toplevel acinclude.m4
795
796 1999-06-02  Bart Veer  <bartv@cygnus.co.uk>
797
798         * configure:
799         Regenerated after updating toplevel acinclude.m4, new
800         --enable-debuginfo option.
801
802         * libcdl.hxx:
803         CdlBaseBody is now an ordinary base class for CdlContainerBody,
804         not a virtual base class, allowing old-style casts inside the
805         config tool to work. There is no need for virtual inheritance just
806         yet.
807         The CdlGoalExpressionBody copy constructor is now public, not
808         protected, for use by the config tool.
809
810 1999-05-24  Bart Veer  <bartv@cygnus.co.uk>
811
812         * package.cxx:
813         * component.cxx:
814         * option.cxx:
815         * base.cxx: 
816         * libcdl.hxx:
817         Allow target and platform properties inside components and
818         options, and startup properties inside packages and components,
819         for continued compatibility with libnotcdl.
820
821 1999-03-10  Bart Veer  <bartv@cygnus.co.uk>
822
823         * option.cxx (parse_option): 
824         * component.cxx (parse_component):
825         Fixed the handling of container inheritance for full libnotcdl
826         compatibility. 
827
828 1999-03-09  Bart Veer  <bartv@cygnus.co.uk>
829
830         * parse.cxx (parse_...expression_property):
831         Do not try to parse options just yet, there is confusion if
832         the expression begins with a negative number.
833
834 1999-03-08  Bart Veer  <bartv@cygnus.co.uk>
835
836         * interp.cxx (eval):
837         Make sure that C strings passed to the Tcl interpreter
838         are properly terminated.
839
840         * property.cxx:
841         Remove strict checking of property id's, so that the library
842         code can be re-used for other purposes e.g. hardware CDL.
843
844         * expr.cxx:
845         Added temporary parsers for libnotcdl compatibility.
846
847         * cdlmisc.cxx:
848         Added routines to convert between strings and flavors.
849         Added routines to validate CDL names.
850         Minor layout tweaks.
851
852         * README:
853         Examples now refer to Tcl8.1b1 instead of 8.1a2, the alpha
854         version caused problems.
855         
856
857 1999-02-02  Bart Veer  <bartv@cygnus.co.uk>
858
859         * testsuite/libcdl/cdl1.cxx (test_double_to_string): 
860         * cdlmisc.cxx (string_to_double):
861         Added double conversion support, needed for the CdlResult class
862
863         * testsuite/libcdl/cdl5.cxx (main): 
864         * database.cxx:
865         Change CdlInputOutputError to CdlInputOutputException in the
866         interests of a more consistent naming convention.
867
868 1999-01-29  Bart Veer  <bartv@cygnus.co.uk>
869
870         * interp.cxx (eval):
871         Add new member function to evaluate Tcl code embedded in
872         CDL data.
873
874         * cdlmisc.cxx (is_valid_property_id):
875         Added the properties IncludeDir and ExportTo, and the flavor "dummy"
876
877
878 1999-01-26  Bart Veer  <bartv@cygnus.co.uk>
879
880         * testsuite/libcdl/cdl4.cxx: 
881         * testsuite/libcdl/cdl1.cxx (test_string_to_integer):
882         Change array initializers to avoid having to supply a constructor.
883
884         * aclocal.m4:
885         * config.h.in:
886         * configure:
887         * stamp-h.in:
888         * testsuite/Makefile.in:
889         Updated to use autoconf 2.13 and automake 1.4, plus to reflect
890         tweaks to toplevel acinclude.m4 and local configure.in
891         
892         * configure.in:
893         No longer insist on the infra having been built already. This
894         allows a configure from the top-level to work.
895
896         * testsuite/libcdl/cdl4.cxx:
897         Changed the initializer for a static array of structures to work
898         around compiler problems.
899
900         * testsuite/libcdl/cdl3.cxx (main):
901         Changed the way inline Tcl scripts are defined to avoid compiler
902         problems. 
903
904         * testsuite/libcdl/cdl2.cxx (main):
905         Added missing return statement to avoid compiler warning.
906
907         * testsuite/config/default.exp:
908         Use new variable cyg_ac_tcl_libs
909
910         * interp.cxx (eval):
911         Do not distinguish between TCL_OK and TCL_RETURN return codes,
912         clients are unlikely to be interested.
913         Fix definition of set_assoc_data().
914
915         * cdlmisc.cxx (compare_versions):
916         Fix syntax problem in while loop.
917
918 1999-01-22  Bart Veer  <bartv@cygnus.co.uk>
919
920         * interp.cxx
921         (set_assoc_data): added new functions so that clients can
922         associate arbitrary data with interpreters
923         (set_variable) : and to provide access to Tcl global variables.
924         (make_safe)    : also, the ability to make an interpreter safe.
925         (set_result)   : not to mention, controlling the result field.
926
927         * cdlmisc.cxx (compare_versions):
928         Added new function Cdl::compare_versions()
929
930 1999-01-21  Bart Veer  <bartv@cygnus.co.uk>
931
932         * cdlmisc.cxx
933         Added routines get_library_version(), set_interactive() and
934         get_interactive().
935
936 //===========================================================================
937 //####COPYRIGHTBEGIN####
938 //                                                                          
939 // ----------------------------------------------------------------------------
940 // Copyright (C) 1999, 2000, 2001 Red Hat, Inc.
941 //
942 // This file is part of the eCos host tools.
943 //
944 // This program is free software; you can redistribute it and/or modify it 
945 // under the terms of the GNU General Public License as published by the Free 
946 // Software Foundation; either version 2 of the License, or (at your option) 
947 // any later version.
948 // 
949 // This program is distributed in the hope that it will be useful, but WITHOUT 
950 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
951 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
952 // more details.
953 // 
954 // You should have received a copy of the GNU General Public License along with
955 // this program; if not, write to the Free Software Foundation, Inc., 
956 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
957 //
958 // ----------------------------------------------------------------------------
959 //                                                                          
960 //####COPYRIGHTEND####
961 //===========================================================================