Updated for merged Paradyn/DynInstAPI build
[dyninst.git] / README
1
2         README for common Paradyn/DynInstAPI core directory hierarchy
3         =============================================================
4
5 This directory contains the "core" source code for both the Paradyn
6 parallel performance tools and the DynInstAPI for dynamic instrumentation. 
7 It is divided into subdirectories that represent major functional units of
8 the system:
9
10 Each of these directories contain source code that gets compiled into a single
11 executable:
12
13         igen            - interface generator
14         paradyn         - Paradyn GUI/controller
15         paradynd        - Paradyn daemon (i.e. instrumentation manager)
16         rthist          - real-time histogram visualization
17         visiClients     - Paradyn visi clients:
18                           tclVisi, barchart, phaseTable, tableVisi, terrain
19
20 There are also several libraries that get used in building the executables:
21
22         rtinst          - runtime instrumentation (linked into the application) 
23         thread          - the thread package used by Paradyn
24         util            - general utility library
25         visi            - external visualization interface
26         hist            - histogram library used by rthist
27
28 Two more directories contain the libraries that make up the DynInstAPI:
29
30         dyninstAPI      - the DynInstAPI library
31         dyninstAPI_RT   - runtime instrumentation (linked into the application)
32
33 The DynInstAPI doesn't need any of the Paradyn directories apart from util.
34
35 There is also a Makefile and several make configuration files at this level:
36         
37         Makefile        - A top level GNU Makefile to build the entire system
38                           for Unix systems *only*
39                           (make scripts for WindowsNT are found in ../scripts)
40
41         make.config     - A Makefile that defines global lists, flags, etc. that
42                           are included into all other Makefiles in the system.
43         make.library.tmpl - make configuration rules for libraries
44         make.program.tmpl - make configuration rules for executables
45
46         nmake.config    - These three files are for WindowsNT nmake, and
47                           they mimic the GNU make configuration files
48         nmake.library.tmpl
49         nmake.program.tmpl
50
51 The top-level Makefile has targets defined to build Paradyn ("make Paradyn"),
52 the DynInstAPI ("make dynInstAPI") or both (the default, "make").
53 Remember to read the section of the Developer's Guide describing build
54 configuation and appropriately edit make.config before building.
55 See the README file in the dyninstAPI subdirectory for further information
56 about building/installing the API library.
57
58 Subdirectories of the "core" directory are organized to promote modularity and
59 support compiling the system for multiple platforms in a single source tree.
60
61 Each directory contains the following files:
62         h       - a directory describing the exported interface of this 
63                   component.  This typically consists of one or more C++ header
64                   files, and one or more interface generator specifications
65                   (files ending in .I).
66
67         src     - a directory containing the source files for the component.
68                   Header files that are not part of the exported interface
69                   are in this directory.
70
71         docs    - a directory containing the documentation for this component
72                   of the system.  This generally consists of several man pages
73                   and a README file.
74
75         build directories: <arch>-<vendor>-<os>
76                   There is one of these for each supported platform.  The 
77                   contents of this directory consist of a Makefile and the 
78                   machine derived files that are built as part of the process 
79                   of building the component.  These might includes .C and .h 
80                   files generated by igen, flex, and bison as well as object 
81                   files (.o's).
82
83 ==============================================================================
84 $Id: README,v 1.5 1998/05/05 03:33:29 paradyn Exp $