"Fossies" - the Fresh Open Source Software Archive
Member "ivtools-ivtools-2.0.4/INSTALL" (9 Oct 2020, 11547 Bytes) of package /linux/misc/ivtools-ivtools-2.0.4.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard
) with prefixed line numbers.
Alternatively you can here view
the uninterpreted source code file.
2 INSTALL for ivtools-2.0
5 Instructions for building ivtools-2.0.4 from source, the short version:
7 cp Makefile.orig Makefile // if cloned from github
10 su -c "make install"
12 ** notes on the short version relative to distributing ivtools via github **
14 1. If you want to try an autotools build, work with the autotools branch set up by Barak Pearlmutter.
15 You may have to download some archived m4 macros (AX_*) and run aclocal, before doing:
16 autoreconf --install
20 2. The configure script tests for the presence of imake, and builds it from a source copy
21 within ivtools if necessary.
23 3. The usual two problems with the configure script are determining the CPU and XCONFIGDIR
24 that it writes into config/config.mk. If this fails they can be manually edited into
25 config/config.mk after running configure. CPU has to match one of the
26 config/site.def.$CPU files. XCONFIGDIR is the complete pathname for wherever you
27 find X11/lib/X11/config. If editing XCONFIGDIR in config.mk doesn't work, try explicitly
28 providing --x-includes and --x-libraries to the configure script.
30 4. If building on a Debian-based Linux system, you'll first need to:
31 sudo apt update
32 sudo apt-get install libx11-dev
33 sudo apt-get install xutils-dev
34 sudo apt-get install libxext-dev
35 (if you're in a root only docker container, don't use the sudo, and you'll have to
36 edit sudo out of the Makefile as well)
38 - Scott Johnston, May-June 2020
41 Instructions for building ivtools-2.0.4 from source, the long version:
43 0. Compilation Environment
45 Things you will need (or might want) before building ivtools:
47 0.a. a Unix machine (for Windows see README.cygwin). We know it has
48 been built on Linux, NetBSD, FreeBSD, Solaris, Irix, Dec Alpha, HPUX,
49 and SunOS. It also builds on Mac OS X (Darwin) which is a
50 BSD-derivative OS. As of version 1.0.7 ivtools is Jaguar ready.
52 0.b GNU make. Test to make sure this is the version you are using
53 with "make -v"
55 0.c. The gcc compiler. Almost any recent version of gcc will work, up
56 to gcc-4.4. You will also need an equivalent copy of libstdc++.
57 libstdc++ comes bundled with gcc-3.0 and greater. Before that the
58 libstdc++ version numbers stay roughly in synch with the gcc version
59 numbers. If you have gcc-2.8.1 you'd want libstdc++-2.8.1, etc..
61 Be aware that sometimes the include files for libstdc++ are in
62 /usr/local/include/g++-2, a place that cannot be auto-determined by
63 the configure script. Establishing a symbolic link to
64 /usr/local/include/g++ will fix the problem.
66 0.d. An installed copy of X11R6 as distributed by the Open Group, or
67 an equivalent (XFree86 for Linux/BSD/MacOS-X, or X11R5 from MIT). If you use a
68 vendor's X11 product, the product should be based on X11R4 or later
69 and the product should include imake and the config files.
71 If you can't find imake on your system, you can get the sources for
72 imake from the X11R5 or X11R6 distribution at several public ftp
73 archives (such as ftp.x.org).
75 ** warning -- imake used in combination with a non-GNU C preprocessor
76 ** can be troublesome (i.e. the default one delivered with Solaris or
77 ** DEC Alpha). You'll want to rig your PATH environment variable to
78 ** find the gcc variant of cpp. Read more about it at
79 ** http://www.ivtools.org/ivtools/faq.html#imakecppprob
81 0.e. If you want to use the polygon intersection tools, acquire and
82 build clippoly, a LGPLed library for polygon clipping from:
86 Add -fPIC to the CCFLAGS in the Makefile, then do a make, then build a
87 shared library in the clippoly directory with: "gcc -shared -o
88 libclippoly.so *.o" (you can leave out test.o if you want).
90 0.f. If you want to use the network server capabilities of the
91 ivtools programs, acquire and build ACE, a C++ middleware toolkit
92 available from:
96 We are currently using ACE-6.1.0 (or the latest copy of ACE) built
97 without threads support. Follow these steps to build it from source,
98 or use the Debian binary if you happen to be working on that platform
101 tar xvfz ACE-5.6.tar.gz
102 cd ACE_wrappers
103 export ACE_ROOT=`pwd` # csh: setenv ACE_ROOT `pwd`
104 cd ace
105 cp config-linux.h config.h # substitute appropriate OS name
106 cd ../include/makeinclude
107 cp platform_linux.GNU platform_macros.GNU # substitute OS
108 emacs platform_macros.GNU # add "threads = 0" near top of file, step may no longer be needed
109 cd ../../ace
112 Then use "--with-ace=$ACE_ROOT" when running the configure script as
113 described below.
115 0.g if you want to build the ivxt example program, which demonstrates
116 the embedding of a ivtools drawing editor inside Motif widgets, you'll
117 need some version of lesstif or Motif (libXm). To enable the ivxt
118 build, change line 7 of src/Imakefile from "#if 0" to "#if 1". Without
119 these libraries and include files the build of ivxt will fail, which
120 can be safely ignored.
122 1. Configuring ivtools:
124 1.a. You no longer need to set your CPU environment variable to build
125 ivtools, but you still need a CPU specific configuration file.
126 Ready-made configurations that have been known to work exist for
127 LINUX, SUN4 (and Solaris), SGI, HP800 (HPUX), ALPHA, NETSBD, FREEBSD,
128 and CYGWIN (for Windows NT). HPUX config file is known to be out of
129 quite out of date, the others will probably work with little or no
132 Use "make CPU" from the top directory to see the symbol ivtools will
133 use for your OS (grep config/arch.def for ArchitectureName to get a
134 complete list of possible OS'es). Then look for a matching
135 config/site.def.<CPU> file, where <CPU> is the value returned by "make
136 CPU". If it is there proceed to step 1.b.
138 Other variants of Unix can be attempted by creating the corresponding
139 config/site.def.<CPU>, i.e. site.def.AIX or site.def.MIPS.
141 Use SUN4 for Solaris as well as SunOS. Although SUN5 would be more
142 correct, the config files automatically determine the difference
143 between the two OS'es by checking for SVR4'ness.
145 1.b Run the configure script in the top-level directory, by entering
146 "./configure" followed by any of the following arguments (--with
147 arguments are recognized as --enable as well):
149 --with-ace=<path> Path to ACE source
150 --with-ace-libs=<path> Path to ACE libraries
151 --with-clippoly=<path> Path to clippoly source
152 --with-clippoly-libs=<path> Path to clippoly libraries
154 --x-includes=DIR X include files are in DIR
155 --x-libraries=DIR X library files are in DIR
157 --enable-install-relative[=ARG] install relative to source tree
158 --enable-install-subdir[=ARG] install in ivtools sub-directory
159 --prefix=DIR to use when install-relative is false
160 (default is /usr/local)
162 --enable-use-rpath[=ARG] use -rpath when linking, to
163 embed shared-library pathnames
164 in executable.
166 ARG can be 0 or 1, default is 1 when not specified. The configure
167 script is usually able to automatically determine --x-includes and
168 --x-libraries (except on DEC Alpha). If the arguments for ACE or
169 clippoly are not supplied, the configure script prints a
170 reminder, then proceeds to set up to build ivtools without these
173 If you want to run the executables without installing them, use
174 --enable-use-rpath to embed the shared library pathnames into the
175 executables at link time.
177 Here is an example of using the configure script with ACE and clippoly
180 ./configure --with-clippoly=/proj/clippoly --with-ace=/proj/ACE_wrappers
182 Running the configure script generates two files, a config/config.mk
183 that gets included into each Makefile when used, and a
184 config/config-<os>-gcc.defs that gets used by "make Makefiles"
185 described below. <os> is something like linux. The last line of
186 output from the configure script shows this pathname. Verify that
187 this is the same as the file included at the end of the
188 config/site.def.<CPU> file. Change the site.def.<CPU> file if
191 Also you may want to review the rest of the entries in the
192 site.def.<CPU> file to see if they are good defaults for your system.
194 ** See http://www.ivtools.org/ivtools/faq.html for more info.
196 2. Compiling ivtools:
198 2.a. cd to the ivtools-2.0/ directory (you'd already be in this
199 directory after running the configure script).
201 2.b. Compile it with a "make" command. The first time it is run it
202 does all these individual steps (the equivalent of "make World"):
204 - regenerates the top-level Makefile to snap it to
205 the current directory ("make Makefile").
207 - runs through the source tree and generates all
208 the other Makefile's ("make Makefiles").
210 - generates compilation dependencies for each
211 directory with code to compile -- see the
212 Makefile.depend file in each <CPU> sub-directory
213 ("make depend").
215 - compiles and links everything ("make -k").
217 If you have any trouble at this stage take a look at:
221 ** Subsequent use of "make" will only do the "make -k" phase described
222 ** above. To redo everything, either do a "make World", or do a "make
223 ** clean" followed by a "make". The "make clean" deletes the files
224 ** that suppress the make stateges, make.makefile, make.makefiles,
225 ** make.depend, and make.make.
227 3. Testing:
229 Each directory under ivtools-2.0/src that begins in lower case (except
230 for "include" and "scripts") contains executables that exercise some
231 particular functionality. "cd" to each particular directory, type
232 "<CPU>/a.out" and see what happens (the utils directory contains more
233 than one executable, things named other than a.out). Quite a few
234 directories have README's that go into further detail on how to use
235 the programs. ivtools-2.0/src/glyphs contains sub-directories of
236 glyph example programs. ivtools-2.0/src/glyphs/examples3.1 contains
237 most of the simple example programs that were originally distributed
238 with InterViews 3.1.
240 There is also a src/tests directory, with one test program to date,
241 y2k/y2ktest.c. This builds a small program that verifies the Date
242 object of the Time class library has no problem with Y2K or Y2.038K,
243 by allowing the user to enter "+" and "-" to increment/decrement the
244 year past these boundaries.
246 4. Installation:
248 "make install" is supported for all the libraries and a subset of the
249 more utilitarian example programs: the four original InterViews
250 programs (idraw, iclass, idemo, and dclock), the four idraw derived
251 programs (drawtool, netdraw, flipbook, and comdraw) and the two
252 comterp programs (comterp and glyphterp). In addition the scripts in
253 src/scripts and utilities in src/utils get installed. "make
254 uninstall" is supported as well.
256 When relative install is enabled (--enable-install-relative for the
257 configure script), the binaries are installed in
258 ivtools-2.0/bin/<CPU>, the libraries are installed in
259 ivtools-2.0/lib/<CPU>, and the run-time X resource and config files
260 are installed in ivtools-2.0/lib/ivtools.
262 When relative install is disabled (the default for the configure
263 script) the binaries are installed as stripped executables in `prefix`/bin
264 the libraries are installed in `prefix`/lib, and the run-time X resource and
265 config files are installed in `prefix`/lib/ivtools.
267 note: idemo, comterp, glyphterp, and comdraw have config files that
268 must be installed (either relative or non-relative) for the program to
269 find them at runtime. drawtool relies on several scripts and
270 utilities for accessing graphics and image files that must be
271 installed as well for them to work.