1 Cxref 1.5 - Contributed files
2 =============================
4 These are some miscellaneous files that are useful with cxref but do not form
5 part of the program itself. Those that were not written by myself have the
6 author or contributor noted in the description.
12 An Emacs lisp file that will add comments into C source files in the correct
13 format for cxref to understand.
19 (By Paul Barham Paul.Barham@cl.cam.ac.uk)
21 An Emacs lisp file that can be used to convert the cxref.function file into a
22 hierarchy of function calls that can be browsed.
28 A Perl script that can be used to find the header files that are missing from a
29 header file that cxref cannot parse or remove unneeded header files from source
32 Usage: fixheader filename [filename ...] [-v] [-o]
33 [-Odirname] [-Nbasename] [-Rdirname]
34 [-Ddefine] [-Udefine] [-Iinclude]
36 The -v flag gives a verbose output showing what it is doing (recommended).
37 The -o flag produces an output file from the input file with modifications.
38 The other flags are the same as for cxref itself.
40 This should be considered as experimental at the moment, it works on the cxref
41 source code, but has not been tested very extensively beyond that.
47 A perl script that will run cxref on all of the include files that are
48 referenced in the cxref.include file that was written out by running cxref on
51 Usage: cxref_includes cxref.include
57 A perl script to be run on a C source file that will produce a set of function
58 prototypes for the functions in the file.
64 (By Tom Holroyd <tomh@po.crl.go.jp>)
66 > I've been making neat call graphs using cxref and AT&T's recently
67 > OpenSourced Graphviz package. It's great for getting the idea of a
68 > program's structure (works best for small to medium sized programs,
69 > though, unless you print it on BIG paper).
71 > Two notes. First, this is very simple, and several things could be done
72 > with it, especially in the area of node and edge labels. But you might
73 > enjoy playing with it and possibly making cxref output the .dot files
74 > directly (although postprocessing the -raw output may have some
75 > advantages). Second, the -k option gets rid of unknown functions since
76 > lots of stdio stuff can clutter the graph. But it's nice to include
77 > *some* of them, like malloc() and free() -- so to make the graph I
78 > attached, I also included a dummy file with black definitions of those
79 > functions. That's sort of a hack, and some sort of switch to
80 > include/exclude functions or classes of function might work too (in cxref
87 (By Jamie Honan <jhonan@optushome.com.au>)
89 > It reads cxref.function files and produces
90 > graphpviz dot files, similar to xrefgraph.py.
92 > It has a lot more doco, parameters, will work more correctly with
93 > static functions and passing addresses of functions. It also allows
94 > you to view specific functions and files, and call trees associated
95 > with those functions and files.
97 See the README.xgr file for more details.
100 daVinci_include.pl & daVinci_function.pl
101 ----------------------------------------
103 Perl scripts that will generate call graphs and file include graphs for the
104 daVinci graph drawing package.
106 The daVinci webpage is http://www.informatik.uni-bremen.de/~davinci/ and it
107 describes the program as:
109 : daVinci is a X-Window visualization tool for drawing directed graphs
110 : automatically in high quality. daVinci is developed by Michael Fröhlich (until
111 : November 1997) and Mattias Werner from the Group of Prof. Dr. Bernd
112 : Krieg-Brückner at University of Bremen, Germany.
118 (By Ian Gilmour <ian.gilmour@ffei.co.uk>)
120 > Here's a simple perl script I've knocked up to give a v. simple call tree
121 > diagram on a simple terminal.
123 > Usage: $0 cxref_function_file root_function max_level
124 > max_level +ve for functions called by specified function
125 > max_level -ve for functions that call specified function
131 (By Matthew L Daniel <mdaniel@scdi.com>)
133 > The cxref.spec is an RPM spec file for building binary packages. If
134 > you'll drop that into the root of your tarball, your users can use the
135 > command: "rpm -tb cxref-1.5c.tgz" to create RPMs on their system.
138 cxref-1.5c-webcpp.patch
139 -----------------------
141 (By Uwe Koloska <koloska@voiceinterconnect.de>)
143 > The first thing I have changed is a patch, that uses webcpp
144 > http://webcpp.sf.net
145 > for highlighting the source code. For this you need a modified version of
146 > webcpp, that adds the anchors into the html-files. The patch is submitted to
147 > the webcpp patch manager at sourceforge.
149 The patch was originally written for version 1.5c, but also works for version
150 1.5d. The current version of webcpp (0.6.8) does not contain the patch that is
151 needed to work with cxref which is why this cxref patch is here and not included