1 Version 1.5g of cxref released : Sun Jun 13 09:30:00 2004
2 ---------------------------------------------------------
5 New fix allowing a mix of declarations and statements in compound statements.
6 Fix handling of -Afoo=bar options again.
9 Add a --without-cxref-cpp option to force using gcc instead of cxref-cpp.
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 ---------------------------------------------------------
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.
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 ---------------------------------------------------------
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...).
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 ---------------------------------------------------------
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.
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 ---------------------------------------------------------
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.
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 ---------------------------------------------------------
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.
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 ---------------------------------------------------------
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.
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 --------------------------------------------------------
136 Fix the FAQ to HTML converter. Stop comments in header files leaking out.
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.
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.
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 ------------------------------------------------------------
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.
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
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
334 The input is any C program with appropriate comments and the output is LaTeX or
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.