Added information about the Dyninst API library to the README file.
[dyninst.git] / README
1 This directory contains the "core" source code for the paradyn performance
2 tools and the Dyninst API.  It is divided into subdirectories that represent
3 major functional units of the system:
4
5 Each of these directories contain source code that gets compiled into a single
6 UNIX executable:
7
8         igen            - interface generator
9         paradyn         - paradyn GUI/controller
10         paradynd        - paradynd (i.e. instrumentation manager)
11         rthist          - real-time histogram visualization
12         visiClients     - tclVisi, barchart, phaseTable, and tableVisi visis
13
14 There are also several libraries that get used in building the executables:
15
16         rtinst          - runtime instrumentation (linked into the application) 
17         thread          - a thread package used by paradyn
18         util            - utility library
19         visi            - external visualization interface
20         hist            - histogram library used by rthist
21
22 Two more directories contain the libraries that make up the Dyninst API:
23
24         dyninstAPI_RT   - runtime instrumentation (linked into the application)
25         dyninstAPI      - the Dyninst API library
26
27 There are also two Makefile's at this level:
28         
29         Makefile        A top level makefile to build the entire system
30         make.config     A Makefile that defines global lists, flags, etc that
31                         will be included into all other Makefiles in the system.
32
33 The top-level Makefile does not build the Dyninst API library.  See the README
34 file in core/dyninstAPI for information about installing the API library.
35
36 The subdirectories of the "core" directory are organized to promote modularity
37 and support compiling the system for multiple platforms in a single source 
38 tree.
39
40 Each directory contains the following files:
41         h       - a directory describing the exported interface of this 
42                   component.  This typically consists of one or more C++ header
43                   files, and one or more interface generator specifications
44                   (files ending in .I).
45
46         src     - a directory containing the source files for the component.
47                   Header files that are not part of the exported interface
48                   are in this directory.
49
50         docs    - a directory containing the documentation for this component
51                   of the system.  This generally consists of several man pages
52                   and a README file.
53
54         compilation directories: <arch>-<vendor>-<os>
55                   There is one of these for each supported platform.  The 
56                   contents of this directory consist of a Makefile and the 
57                   machine derived files that are built as part of the process 
58                   of building the component.  These might includes .C and .h 
59                   files generated by igen, flex, and bison as well as object 
60                   files (.o's).