This is the version 2.0 release of the Dyninst API. Currently, the API library is available for the Alpha/Digital UNIX, MIPS/Irix, POWER/AIX, Sparc/Solaris, x86/Linux, x86/Windows NT, and x86/Solaris platforms. Documentation for the API can be found at: http://www.cs.umd.edu/projects/dyninstAPI/ The core/dyninstAPI/tests directory contains the source code for programs that test the API functions. These programs are useful as examples of how to use the API. See the README file in that directory for how to run or rebuild them. Setting up the environment -------------------------- Before compiling or using the Dyninst API library, you should set the environment variables PLATFORM and DYNINST_ROOT. PLATFORM should be set to one of the following values depending upon what operating system you are running on: alpha-dec-osf4.0 Digital UNIX on an Alpha processor i386-unknown-linux2.2 Linux 2.2 on an Intel x86 processor i386-unknown-nt4.0 Windows NT on an Intel x86 processor i386-unknown-solaris2.6 Solaris 2.6 on an Intel x86 processor mips-sgi-irix6.5 Irix 6.5 rs6000-ibm-aix4.2 AIX Version 4.2 sparc-sun-solaris2.6 Solaris 2.6 on a SPARC processor DYNINST_ROOT should be set to the pathname of the top of the library source tree (the "core" directory, one level up from where this README file is located). On all platforms except AIX, it is also necessary to set the environment variable DYNINSTAPI_RT_LIB to the full pathname of the file libdyninstAPI_RT.so.1 (on Windows NT, libdyninstAPI_RT.dll). If you have correctly set the DYNINST_ROOT and PLATFORM environment variables, then the proper pathname is: $DYNINST_ROOT/lib/$PLATFORM/libdyninstAPI_RT.so.1 On Windows NT, you may instead simply put the directory %DYNINST_ROOT%/lib/%PLATFORM% in your path. Building the Dyninst API from source ------------------------------------ If you downloaded the source distribution of this package, you can build the Dyninst API libraries by running "make" in the core directory (one level up from where this README file is located). However, note the steps below which must be taken to set up your environment before you do so. The top-level makefile contains directives for compiling the Paradyn parallel performance tool, from which the Dyninst API was derived. If you have downloaded only the Dyninst API, you will see a number of messages about missing directories. These directories are needed only for making Paradyn, so you should ignore these messages. If you downloaded the entire Paradyn distribution, you can make only the API libraries by running "make dynInstAPI" in the core directory. Building the library on Windows NT ---------------------------------- If you have received this file as part of the source code distribution of the library and wish to compile on Windows NT, you will need to obtain and install the ONC RPC package for Windows NT. You can get this from the following URL: ftp://grilled.cs.wisc.edu/paradyn/etc/oncrpc112winnt.tar.gz After installing ONC RPC, you should create a file named "make.config.local" in the core directory, and include a line in it to set the RPCPKG variable to the location in which you installed ONC RPC. For instance, if you installed it in C:\SUNRPC: RPCPKG = C:\SUNRPC ----------------------------------------------------------------------------- This software is derived from the Paradyn system and therefore subject to the same copyright. A copy of the Paradyn copyright appears at the end of this file. The Dyninst API team 4/11/2000 ----------------------- Start of Paradyn Copyright -------------------------- Copyright (c) 1996 Barton P. Miller We provide the Paradyn Parallel Performance Tools (below described as Paradyn") on an AS IS basis, and do not warrant its validity or performance. We reserve the right to update, modify, or discontinue this software at any time. We shall have no obligation to supply such updates or modifications or any other form of support to you. This license is for research uses. For such uses, there is no charge. We define "research use" to mean you may freely use it inside your organization for whatever purposes you see fit. But you may not re-distribute Paradyn or parts of Paradyn, in any form source or binary (including derivatives), electronic or otherwise, to any other organization or entity without our permission. (for other uses, please contact us at paradyn@cs.wisc.edu) All warranties, including without limitation, any warranty of merchantability or fitness for a particular purpose, are hereby excluded. By your use of Paradyn, you understand and agree that we (or any other person or entity with proprietary rights in Paradyn) are under no obligation to provide either maintenance services, update services, notices of latent defects, or correction of defects for Paradyn. Even if advised of the possibility of such damages, under no circumstances shall we (or any other person or entity with proprietary rights in the software licensed hereunder) be liable to you or any third party for direct, indirect, or consequential damages of any character regardless of type of action, including, without limitation, loss of profits, loss of use, loss of good will, or computer failure or malfunction. You agree to indemnify us (and any other person or entity with proprietary rights in the software licensed hereunder) for any and all liability it may incur to third parties resulting from your use of Paradyn.