Indentation fix, cleanup.
[AROS.git] / tools / cxref / NEWS
blobb4eccb9f640729ab586da77721962784ae73ac04
1 Version 1.5g of cxref released : Sun Jun 13 09:30:00 2004
2 ---------------------------------------------------------
4 Bug fixes
5   New fix allowing a mix of declarations and statements in compound statements.
6   Fix handling of -Afoo=bar options again.
8 Configure/Make changes
9   Add a --without-cxref-cpp option to force using gcc instead of cxref-cpp.
11 cxref-cpp changes
12   cxref-cpp now gets gcc defines and include path at runtime from config file.
13   There is a script cxref-cpp-configure to create this configuration file.
16 *NOTE* The notes for version 1.5 below apply also.
19 Version 1.5f of cxref released : Sat Feb 14 15:00:00 2004
20 ---------------------------------------------------------
22 Bug fixes
23   Allow mixtures of variable declarations and statements in compound statements.
24   Don't look for argument comment for functions with void arguments.
25   Ensure that variables defined in header file and locally get comments.
26   Fix the text printed for some warnings from the -warn option.
27   Declaring a function as extern is the same as not declaring it local.
29 GCC changes
30   Handle better gcc-3.x putting all of its internal #defines in the output.
31   Handle gcc 3.x style options in the cxref-cpp pre-processor.
32   Compile cxref-cpp if using gcc-3.x that drops comment on same line as #include.
35 *NOTE* The notes for version 1.5 below apply also.
38 Version 1.5e of cxref released : Sun Jun 29 10:30:00 2003
39 ---------------------------------------------------------
41 Bug fixes
42   Don't lose the comment or value when C++ style comments follow a #define.
43   Updated to work with newer version of flex and SUN version of yacc.
44   Handle references for local functions with the same name in several files.
45   Remove some extra ';' from the HTML output.
46   Handle macros with variable args like MACRO(a,b,...) as well as MACRO(a,b...).
48 GCC changes
49   Handle gcc-3.x putting all of its internal #defines in the output.
50   Compile cxref-cpp if using gcc-3.x that drops comment on same line as #define.
53 *NOTE* The notes for version 1.5 below apply also.
56 Version 1.5d of cxref released : Sun May 05 12:00:00 2002
57 ---------------------------------------------------------
59 Bug fixes
60   Fixes to HTML and SGML outputs (invalid character entities). Fix bug that
61   stopped -R/ from working.  Fix links to HTML source files in certain cases.
62   Keep the sign of negative numbers in #define output.  Improve the lex code
63   (flex -s).  Add some missing ';' to yacc code.  Fix the bison debugging
64   output.  Change the use of IFS in cxref-ccc script.
66 Configure/Make changes
67   Fix Makefile to compile using non-GNU make programs.
68   Add flex specific options to the Makefile if using it.
69   Fixes for build/configure outside the source tree.
70   Include DESTDIR in the Makefile to help installation.
71   Configure makes a guess what to do with cxref-cpp if gcc is not installed.
73 GCC changes
74   Accept the gcc-3.0 __builtin_va_list type as-if it were a valid C type.
75   Handle the GCC __builtin_va_arg extension keyword.
76   Handle the GCC floating point hex extension data format.
77   Allow the use of gcc-3.x instead of the cxref-cpp program.
80 *NOTE* The notes for version 1.5 below apply also.
83 Version 1.5c of cxref released : Sat Apr 28 16:45:00 2001
84 ---------------------------------------------------------
86 Bug fixes
87   Better Comment handling.  Allow the __restrict keyword.  Allow bracketed
88   function declarations.  Remove gcc compilation warnings.  Allow the
89   configure script to be run from a different directory.
91 Optimisation
92   Speed up the lex code.
95 *NOTE* The notes for version 1.5 below apply also.
98 Version 1.5b of cxref released : Sun Sep 26 10:00:00 1999
99 ---------------------------------------------------------
101 Bug fixes
102   Comments that use the '+html+' convention appear correctly in the HTML source
103   output.  More configurable Makefile (CFLAGS and LDFLAGS options to configure).
104   Increase the length of static arrays for getcwd().  Fix NAME_MAX compilation
105   problem.  Fix deferencing NULL pointer problem.
107 Optimisation
108   Speed up the cross referencing, especially for the first pass with no outputs.
111 *NOTE* The notes for version 1.5 below apply also.
114 Version 1.5a of cxref released : Fri Jun 18 19:15:00 1999
115 ---------------------------------------------------------
117 Bug fixes
118   Fix the "+html+" etc in comments.  Make verbatim comments work in LaTeX
119   output.  Allow $ in function and variable names.  Allow the configure to force
120   cxref-cpp instead of gcc.  Tidy the Makefiles.  Increase the size of
121   statically allocated arrays in cross referencing.  Remove the problem of #line
122   directives causing confusion.  Handle more GNU C extensions.  Fix references
123   to the source file from the HTML.  Handle C++ comments following #defines.
125 Output
126   The full cxref and cpp command lines are displayed as comments in output files.
129 *NOTE* The notes for version 1.5 below apply also.
132 Version 1.5 of cxref released : Sun Feb 21 12:00:00 1999
133 --------------------------------------------------------
135 Bug fixes
136   Fix the FAQ to HTML converter.  Stop comments in header files leaking out.
138 Configuration
139   Use the GNU autoconf program to create a configure script.
140   Now uses gcc instead of cxref-cpp if it is new enough (version >= 2.8.0).
141   Now compiles and runs under MS Win32 with the cygwin library.
143 Output
144   Added SGML (Linuxdoc DTD) output.
145   Added RTF (Rich Text Format) output.
146   Added HTML 3.2 output (with tables).
147   Added an HTML version of the source file with links into it.
149 Tools
150   Provided a Perl script to automatically determine required header files.
153 *NOTE* The -html and -latex options are deprecated, use -html20 and -latex209
154        for the previous functionality.
157 Version 1.4c of cxref not released : Sat Dec 6 14:30:00 1998
158 ------------------------------------------------------------
160 Bug fixes
161   Miscellaneous parsing of C source code.  Command line file/pathname parsing.
162   More GNU extensions.  More support for other operating systems.  FAQ updates.
165 Version 1.4b of cxref released : Sat Apr 18 19:30:00 1998
166 ---------------------------------------------------------
168 The patches that made it onto the cxref bug-fix web-page.
169   cxref-cpp fails to compile with new Linux.  Memory hungry comment parsing.
170   Missing comments on function pointer typedefs, missing directory on some
171   included files.  Allow empty structure/unions to be defined.  Fix includes
172   that use absolute path to subdir of -R root.
174 Other bugs
175   Fix the install.sh program.  Added __typeof and __alignof.  Be more careful
176   about the child exit status.  Improve cxref-cc error messages.
178 Make the comment handling a lot more memory efficient.
179 Ensure that there is never any memory that is not freed at the end.
182 Version 1.4a of cxref released : Thu Nov 20 20:30:00 1997
183 ---------------------------------------------------------
185 The patches that made it onto the cxref bug-fix web-page.
186   bug in -CPP option, 'volatile const' and 'const volatile' types, stopped
187   crashes due to NULL pointer access, made the makefile work better on certain
188   UNIX versions.
190 Added a -no-comments option.
191 Make the comment mangler better so that lines with just whitespace are emptied.
193 Allow blank lines and comments in the .cxref file.
196 Version 1.4 of cxref released : Sat Jul 5 18:30:00 1997
197 -------------------------------------------------------
199 Included a shell script to replace gcc to compile and cross-reference in one go.
200 Added in the option to change directory before running cxref.
201 Added a config file called .cxref that can contain command line arguments.
203 Changed the way that included variables and functions are dealt with.
204   Functions and variables that are included as static or global so that they
205   would be in the object file when compiled are listed as belonging to the file
206   with a pointer to the header file that they were included from.
208 Added in a way to allow extended markup (HTML or LaTeX) inside comments.
210 Major re-write of the internals to increase maintainability & readability.
212 Added in -verbatim-comments to preserve formatting of comments in output.
213 Added in -block-comments to strip leading character from boxed comments.
214 Added an option to allow files to be deleted from the cross reference output.
216 Changed over to GCC V 2.7.2, reduced the patch size by moving stuff to cxref.
217 Added in a new command line option to pass extra arguments to the pre-processor.
219 Fixed the rest of the bug reports that made it onto the cxref bug-fix web-page.
222 Version 1.3a of cxref unreleased : Wed Apr 23 20:00:00 1997
223 -----------------------------------------------------------
225 The patches that made it onto the cxref bug-fix web-page.
228 Version 1.3 of cxref released : Sun Dec 8 10:30:00 1996
229 -------------------------------------------------------
231 Added manual pages for the programs.
233 Use the Linux Kernel source code to test the parser.
234  Added more GNU C extensions.
235  Fixed more errors in type names used as identifiers.
237 Added the ability to parse C++ comments (not for documenting).
240 Version 1.3-beta of cxref released : Sat Nov 16 16:30:00 1996
241 -------------------------------------------------------------
243 This is a consolidation of versions 1.2, 1.2a, 1.2b plus trivial changes.
245 Fixed some remaining problems with implicit integer types and type qualifiers.
247 HTML output conforms to HTML 2.0 standard, and passes weblint test.
248 HTML, LaTeX and raw outputs have ';'s added in structure defintions.
250 Updated FAQ, added FAQ -> html conversion script, updated README, README.html
251  and README.tex, added TODO.
253 The cxref-cpp program now does not need machine specific hand customisation.
255 Improved the Makefiles to simplify the installation:
256  Fully automatic configuring of cxref-cpp, all build options in a single
257  Makefile configuration file, installation included.
260 Version 1.2b of cxref released : Sat Oct 5 13:30:00 1996
261 ---------------------------------------------------------
263 Function definitions included from header files do not cause cxref to core dump.
264 Removed dangling cross-references for referenced vars/funcs in the output.
265 Function prototypes within function definitions do not cause loss of references.
266 Typedefs of function types now recognised when used as prototypes.
267 Comments for nested struct/union types now work and the output format changed.
268 The option -warn-xref depends on -xref, warns user if used wrongly but works OK.
269 The index in the cxref.html file is now always at the end in the correct place.
270 The LaTeX output is centred on the page correctly.
272 The cxref-cpp program no longer aborts on certain files in multi-directory
273  source trees, and if the preprocessor does abort then cxref tidies up cleanly.
275 The cxref-query program no longer core dumps on certain cross-references.
278 Version 1.2a of cxref released : Sat Aug 17 13:00:00 1996
279 ---------------------------------------------------------
281 Bug fixes in the parser for obscure C syntax:
282  Type names used as identifiers, pointer to function used as a function
283  argument, some K&R style function definitions, complete set of integer type
284  names, more GCC extensions.
287 Version 1.2 of cxref released : Sat Jul  6 20:00:00 1996
288 --------------------------------------------------------
290 A FAQ is provided with common questions and answers to provide help.
292 Major revision of parsing code, especially for function definitions.
293 Labeled statements do not need a ';' (e.g. default in switch statement).
294 Better handling of traditional style function definitions
295 Variables declared extern within a function recognised and referenced.
296 Numerous minor bugs in parsing corrected.
298 Line number and file name information available in case of parse error.
299 Parse errors are handled gracefully, the program does not just exit.
301 Create sub-directories of the output directory as needed.
302 Better handling of include pathnames in cxref-cpp, for subdirectories.
304 Added a cxref.sty LaTeX style file instead of at the top of the main file.
305 The output files are not compatible with Version 1.1 output files.
308 Version 1.1 of cxref released : Wed May 22 19:00:00 1996
309 --------------------------------------------------------
311 Fixed a number of bugs in the 'front-end' of the program.
313 Makefile changed to make ANSI compatible latex-style.c source file.
315 Lexical analyser code fixed to work with a POSIX lex program.
316 GNU __attribute__ & __extension__ compiler directives handled better.
318 Better debugging options for the parser.
319 Bit-fields now parsed correctly and recognised as such in output.
320 Enum typedefs allowed to have a trailing comma.
321 Function definitions with no return type are now recognised as int and those
322 with no arguments recognised as void.
323 Allows the asm() GNU extension.
325 Fixed a problem with #include confusion with mix of global and local files.
328 Version 1.0 of cxref released : Sat Feb 24 16:30:00 1996
329 --------------------------------------------------------
331 A program that can automatically generate documentation and cross references for
332 a C program.
334 The input is any C program with appropriate comments and the output is LaTeX or
335 HTML files.
337 The documentation for the program is produced from comments in the code that are
338 appropriately formatted.  The cross referencing comes from the code itself and
339 requires no extra work.