"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 or download the uninterpreted source code file.

    1 
    2 			INSTALL for ivtools-2.0
    3 
    4 
    5 Instructions for building ivtools-2.0.4 from source, the short version:
    6 
    7         cp Makefile.orig Makefile // if cloned from github
    8 	./configure
    9 	make
   10 	su -c "make install"
   11 
   12 ** notes on the short version relative to distributing ivtools via github **
   13 
   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
   17        ./configure
   18        make
   19 
   20 2. The configure script tests for the presence of imake, and builds it from a source copy
   21    within ivtools if necessary.
   22 
   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.
   29 
   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)
   37 
   38 - Scott Johnston, May-June 2020
   39 
   40 
   41 Instructions for building ivtools-2.0.4 from source, the long version:
   42 
   43 0. Compilation Environment
   44 
   45 Things you will need (or might want) before building ivtools:
   46 
   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.
   51 
   52 0.b GNU make.  Test to make sure this is the version you are using
   53 with "make -v"
   54 
   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..
   60 
   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.
   65 
   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.
   70 
   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).
   74 
   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
   80 
   81 0.e. If you want to use the polygon intersection tools, acquire and
   82 build clippoly, a LGPLed library for polygon clipping from:
   83 
   84 http://clippoly.sourceforge.net
   85 
   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).
   89 
   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:
   93 
   94 http://www.cs.wustl.edu/%7Eschmidt/ACE.html
   95 
   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
   99 (libace5.1-dev):
  100 
  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
  110 	make
  111 
  112 Then use "--with-ace=$ACE_ROOT" when running the configure script as
  113 described below.
  114 
  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.
  121 
  122 1. Configuring ivtools:
  123 
  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
  130 tweaks.
  131 
  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.
  137 
  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.
  140 
  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.
  144 
  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):
  148 
  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
  153 
  154   --x-includes=DIR        X include files are in DIR
  155   --x-libraries=DIR       X library files are in DIR
  156 
  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)
  161 
  162   --enable-use-rpath[=ARG]        use -rpath when linking, to
  163 				  embed shared-library pathnames
  164 				  in executable.
  165 
  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
  171 libraries.
  172 
  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.
  176 
  177 Here is an example of using the configure script with ACE and clippoly
  178 libraries:
  179 
  180 ./configure --with-clippoly=/proj/clippoly --with-ace=/proj/ACE_wrappers
  181 
  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
  189 necessary.
  190 
  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.
  193 
  194 ** See http://www.ivtools.org/ivtools/faq.html for more info.
  195 
  196 2. Compiling ivtools:
  197 
  198 2.a. cd to the ivtools-2.0/ directory (you'd already be in this
  199 directory after running the configure script).
  200 
  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"):
  203 
  204 	- regenerates the top-level Makefile to snap it to
  205 	  the current directory ("make Makefile").
  206 
  207 	- runs through the source tree and generates all
  208 	  the other Makefile's ("make Makefiles").
  209 
  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").
  214 
  215 	- compiles and links everything ("make -k").
  216 
  217 If you have any trouble at this stage take a look at:
  218 
  219   http://www.ivtools.org/ivtools/faq.html#SourceBuild
  220 
  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.
  226 
  227 3. Testing:
  228 
  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.
  239 
  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.
  245 
  246 4. Installation:
  247 
  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.
  255 
  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.
  261 
  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.
  266 
  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.