1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
INSTALL for ivtools-0.6
Instructions for building ivtools-0.6.2 from source:
0. Compilation Environment
Tools you will need before you can build:
0.a. a Unix machine. We know it has been built on Linux, SunOS,
Solaris, and Irix. We've incorporated diffs to build on HPUX 9.05.
It should build on most any Unix machine with similar config changes.
0.b. The gcc compiler. Recently we've been building and testing with
gcc-2.7.2.1. gcc-2.7.2, and gcc-2.6.3 will probably still work. You
will also need an equivalent copy of libg++. The libg++ version
numbers stay roughly in synch with the compiler version numbers. If
you have if you have gcc-2.6.3 you'd want libg++-2.6.3, etc..
0.c. An installed copy of X11R4, X11R5, or X11R6 as distributed by
MIT, or equivalent (i.e., XFree86 for Linux, etc.) If you use a
vendor's X11 product, the product should be based on R4 or later and
the product should include imake and the config files.
If imake is not in the same place as the other X11 binaries are or
anywhere else on your system, you can get the sources for imake from
the X11R5 or X11R6 distribution at several public ftp archives (such
as ftp.x.org).
0.d. You also might want to acquire and build clippoly, a LGPLed library for
polygon clipping from:
http://www.ph.tn.tudelft.nl/People/klamer/clippoly_entry.html
Be sure to compile with -fPIC, then make a libclippoly.so in the
clippoly directory with: "gcc -shared -o libclippoly.so *.o".
0.e. You also might want to acquire and build ACE, a C++ middleware
toolkit available from:
http://www.cs.wustl.edu/%7Eschmidt/ACE.html
Follow the instructions to build a shared library. We currently use
ACE-4.2, with a patch applied to alleviate warnings:
http://www.vectaport.com/pub/src/ace4.2warnpatch
1. Creating and/or editing config/site.def.$CPU:
1.a. Set your CPU environment variable to one of the supported types
(grep config/arch.def for ArchitectureName to get a complete list or
try "make CPU" from the top directory of ivtools). Use "setenv CPU"
for csh or "export CPU=" for sh/bash. LINUX, SUN4, and SGI are known
to work.
1.b. Either edit the site.def.$CPU file if it exists, or determine
which existing site.def.* is closest to your needs and copy it into
site.def.$CPU. ***Edit the parameters in this file as needed for your
facility.*** Especially verify that any pathname definitions are
correct for your environment.
Set InstallRelative to YES if you want installation done within the
ivtools-0.6 directory, or NO if you want them installed in the BinDir,
LibDir, and LibDataDir as described in the installation section below.
If you're building on Solaris you can use the SUN4 config file instead
of a SUN5 one (config/site.def.SUN4).
If you have built the clippoly library uncomment and adjust the definition
of ClipPolyDir. This will cause commands that exercise clippoly to be
built into ivtools.
If you have built the ACE library uncomment and adjust the definition
of AceDir. This will cause classes and commands that exercise ACE to
be built into ivtools.
1.c. You may also want to take a look at local.def and gcc.def, but you
should be able to successfully build ivtools by only changing
parameters in your copy of site.def.$CPU. The top of local.def
defines macro preprocessor constants that are later used to initialize
make variables. The bottom of local.def builds up pathnames to refer
to the libraries and important directories of this package.
2. Compiling ivtools:
2.a. cd to the ivtools-0.6/ directory.
2.b. Compile it with a "make World" command. It needs the following
variable definitions:
XCONFIGDIR The location of your X11 config files.
Sample Linux command line:
make World XCONFIGDIR=/usr/X11R6/lib/X11/config
Sample SunOS command line:
make World XCONFIGDIR=/usr/local/lib/X11/config
Sample Irix command line:
make World XCONFIGDIR=/usr/lib/X11/config
This command generates Makefiles hierarchically and builds everything.
3. Testing:
Each directory under ivtools-0.6/src that begins in lower case (except
for "include" and "scripts") contains executables that exercise some
particular functionality. "cd" to each particular directory, type
"$CPU/a.out" and see what happens. Most of the directories have
READMEs that go into further detail on how to use the example
programs. ivtools-0.6/src/glyphs contains sub-directories of glyph
example programs.
4. Installation:
"make install" is supported for all the libraries and a subset of the
more utilitarian example programs: the four original InterViews
programs (idraw, iclass, idemo, and dclock), the four idraw derived
programs (drawtool, netdraw, flipbook, and comdraw) and the two
comterp programs (comterp and glyphterp).
When InstallRelative is NO the binaries are installed as stripped
executables in BinDir, the libraries are installed in LibDir, and the
run-time X resource and config files are installed in LibAllDir.
When InstallRelative is YES (the default in config/site.def.$CPU), the
binaries are installed in ivtools-0.6/bin/$CPU, the libraries are
installed in ivtools-0.6/lib/$CPU, and the run-time X resource and
config files are installed in ivtools-0.6/lib/ivtools.
note: idemo, comterp, glyphterp, and comdraw have config files
that must be installed (either relative or non-relative) for the
program to find them at runtime.
|