1		   Installation guide for Autotrace
2			     -*- text -*-
3Index of this file:
4
5	1. Basic Installation
6	2. ImageMagick related issues
7	3. Pstoedit related issues
8
91. Basic Installation
10=====================
11
12   These are generic installation instructions.
13
14   The `configure' shell script attempts to guess correct values for
15various system-dependent variables used during compilation.  It uses
16those values to create a `Makefile' in each directory of the package.
17It may also create one or more `.h' files containing system-dependent
18definitions.  Finally, it creates a shell script `config.status' that
19you can run in the future to recreate the current configuration, a file
20`config.cache' that saves the results of its tests to speed up
21reconfiguring, and a file `config.log' containing compiler output
22(useful mainly for debugging `configure').
23
24   If you need to do unusual things to compile the package, please try
25to figure out how `configure' could check whether to do them, and mail
26diffs or instructions to the address given in the `README' so they can
27be considered for the next release.  If at some point `config.cache'
28contains results you don't want to keep, you may remove or edit it.
29
30   The file `configure.in' is used to create `configure' by a program
31called `autoconf'.  You only need `configure.in' if you want to change
32it or regenerate `configure' using a newer version of `autoconf'.
33
34The simplest way to compile this package is:
35
36  1. `cd' to the directory containing the package's source code and type
37     `./configure' to configure the package for your system.  If you're
38     using `csh' on an old version of System V, you might need to type
39     `sh ./configure' instead to prevent `csh' from trying to execute
40     `configure' itself.
41
42     Running `configure' takes awhile.  While running, it prints some
43     messages telling which features it is checking for.
44
45  2. Type `make' to compile the package.
46
47  3. Optionally, type `make check' to run any self-tests that come with
48     the package.
49
50  4. Type `make install' to install the programs and any data files and
51     documentation.
52
53  5. You can remove the program binaries and object files from the
54     source code directory by typing `make clean'.  To also remove the
55     files that `configure' created (so you can compile the package for
56     a different kind of computer), type `make distclean'.  There is
57     also a `make maintainer-clean' target, but that is intended mainly
58     for the package's developers.  If you use it, you may have to get
59     all sorts of other programs in order to regenerate files that came
60     with the distribution.
61
62Compilers and Options
63=====================
64
65   Some systems require unusual options for compilation or linking that
66the `configure' script does not know about.  You can give `configure'
67initial values for variables by setting them in the environment.  Using
68a Bourne-compatible shell, you can do that on the command line like
69this:
70     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
71
72Or on systems that have the `env' program, you can do it like this:
73     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
74
75Compiling For Multiple Architectures
76====================================
77
78   You can compile the package for more than one kind of computer at the
79same time, by placing the object files for each architecture in their
80own directory.  To do this, you must use a version of `make' that
81supports the `VPATH' variable, such as GNU `make'.  `cd' to the
82directory where you want the object files and executables to go and run
83the `configure' script.  `configure' automatically checks for the
84source code in the directory that `configure' is in and in `..'.
85
86   If you have to use a `make' that does not supports the `VPATH'
87variable, you have to compile the package for one architecture at a time
88in the source code directory.  After you have installed the package for
89one architecture, use `make distclean' before reconfiguring for another
90architecture.
91
92Installation Names
93==================
94
95   By default, `make install' will install the package's files in
96`/usr/local/bin', `/usr/local/man', etc.  You can specify an
97installation prefix other than `/usr/local' by giving `configure' the
98option `--prefix=PATH'.
99
100   You can specify separate installation prefixes for
101architecture-specific files and architecture-independent files.  If you
102give `configure' the option `--exec-prefix=PATH', the package will use
103PATH as the prefix for installing programs and libraries.
104Documentation and other data files will still use the regular prefix.
105
106   In addition, if you use an unusual directory layout you can give
107options like `--bindir=PATH' to specify different values for particular
108kinds of files.  Run `configure --help' for a list of the directories
109you can set and what kinds of files go in them.
110
111   If the package supports it, you can cause programs to be installed
112with an extra prefix or suffix on their names by giving `configure' the
113option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
114
115Optional Features
116=================
117
118   Some packages pay attention to `--enable-FEATURE' options to
119`configure', where FEATURE indicates an optional part of the package.
120They may also pay attention to `--with-PACKAGE' options, where PACKAGE
121is something like `gnu-as' or `x' (for the X Window System).  The
122`README' should mention any `--enable-' and `--with-' options that the
123package recognizes.
124
125   For packages that use the X Window System, `configure' can usually
126find the X include and library files automatically, but if it doesn't,
127you can use the `configure' options `--x-includes=DIR' and
128`--x-libraries=DIR' to specify their locations.
129
130Specifying the System Type
131==========================
132
133   There may be some features `configure' can not figure out
134automatically, but needs to determine by the type of host the package
135will run on.  Usually `configure' can figure that out, but if it prints
136a message saying it can not guess the host type, give it the
137`--host=TYPE' option.  TYPE can either be a short name for the system
138type, such as `sun4', or a canonical name with three fields:
139     CPU-COMPANY-SYSTEM
140
141See the file `config.sub' for the possible values of each field.  If
142`config.sub' isn't included in this package, then this package doesn't
143need to know the host type.
144
145   If you are building compiler tools for cross-compiling, you can also
146use the `--target=TYPE' option to select the type of system they will
147produce code for and the `--build=TYPE' option to select the type of
148system on which you are compiling the package.
149
150Sharing Defaults
151================
152
153   If you want to set default values for `configure' scripts to share,
154you can create a site shell script called `config.site' that gives
155default values for variables like `CC', `cache_file', and `prefix'.
156`configure' looks for `PREFIX/share/config.site' if it exists, then
157`PREFIX/etc/config.site' if it exists.  Or, you can set the
158`CONFIG_SITE' environment variable to the location of the site script.
159A warning: not all `configure' scripts look for a site script.
160
161Operation Controls
162==================
163
164   `configure' recognizes the following options to control how it
165operates.
166
167`--cache-file=FILE'
168     Use and save the results of the tests in FILE instead of
169     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
170     debugging `configure'.
171
172`--help'
173     Print a summary of the options to `configure', and exit.
174
175`--quiet'
176`--silent'
177`-q'
178     Do not print messages saying which checks are being made.  To
179     suppress all normal output, redirect it to `/dev/null' (any error
180     messages will still be shown).
181
182`--srcdir=DIR'
183     Look for the package's source code in directory DIR.  Usually
184     `configure' can determine that directory automatically.
185
186`--version'
187     Print the version of Autoconf used to generate the `configure'
188     script, and exit.
189
190`configure' also accepts some other, not widely useful, options.
191
1922. ImageMagick related issues
193=============================
194
195If you use Red Hat Linux 7.2 to build autotrace with ImageMagick rpm,
196you will get a trouble something like:
197
198    /bin/sh ./libtool --mode=link gcc  -g -O2  -o autotrace  atou.o main.o ...
199    libtool: link: cannot find the library `/usr/lib/libxml2.la'
200    gmake: *** [autotrace] Error 1
201
202The reasons of thie trouble are 1. libMagick.la is broken;
203and 2. libxml2.so does not exist. There are two ways to avoid
204this trouble.
205
2061. Build autotrace without ImageMagick.
207   Run configure with "--withoud-magick" option(then run make clean; make).
208   However, you lost input functions that use ImageMagick.
209
2102. Hack the broken files.
211   Replace "/usr/lib/libxml2.la" with -lxml2 in ImageMagick.la then
212   Make a symbolic link, /usr/lib/libxml2.so, that referees
213/usr/lib/libxml2.so.2.
214   If you don't understand what I write, you should not do.
215
216If you use Red Hat Linux 8.0 to build autotrace with ImageMagick rpm,
217you will get a trouble something like in configure time:
218
219    checking for Magick-config... Magick-config
220    checking magick/api.h usability... no
221    checking magick/api.h presence... no
222    checking for magick/api.h... no
223    configure: WARNING: *** Magick-config is found but magick/api.h is not found in -I/usr/X11R6/include/X11/magick -D_REENTRANT -D_FILE_OFFSET_BITS=64 -I/usr/X11R6/include -I/usr/X11R6/include/X11 -I/usr/include/freetype2 -I/usr/include/libxml2 ***
224    configure: WARNING: *** Check Magick-config.                                                   ***
225    configure: WARNING: *** ImageMagick input handler is disabled.                                 ***
226
227in spite of following rpm -q results:
228
229    [jet@chuf autotrace]$ rpm -q ImageMagick
230    ImageMagick-5.4.7-5
231    [jet@chuf autotrace]$ rpm -q ImageMagick-devel
232    ImageMagick-devel-5.4.7-5
233
234I guess some of header files are missed in ImageMagick-devel.
235I recommend you to install ImageMagick from tar.gz. file.
236
237
238Pstoedit related issues
239=======================
240
241If you are using pstoedit-3.32, pstoedit checking in configure of
242autotrace runs TWICE. Ignore the warning message of first checking.
243If you are using pstoedit-3.33 or higher, pstoedit checking runs only
244once.  If you got a trouble to build autotrace with pstoedit, you can
245disable to use pstoedit with giving --without-pstoedit to configure of
246autotrace. Is you want to use pstoedit anyway linked with autotrace,
247let me(Masatake YAMATO<jet@gyve.org> or autotrace mailing list) know
248following informations:
249
250    your operating system name and version
251    autotrace version
252    pstoedit version
253    value of $LD_LIBRARY_PATH
254    value of $PATH
255    options given to configure of autotrace
256    options given to configure of pstoedit
257    output of configure of autotrace
258    output of configure of pstoedit
259    config.log of configure of autotrace
260    config.log of configure of pstoedit
261    Makefile of autotrace if generated
262    src/Makefile of pstoedit
263    output of pstoedit-config --libs
264    output of pstoedit-config --cflags
265    output of autotrace-config --libs
266    output of autotrace-config --cflags
267    path for pstoedit-config
268    path for autotrace-config
269    path for libautotrace.so
270    path for libpstoedit.so
271    if there is a compile farm on that the same OS as you use
272
273(Of couse, I(Masatake YAMATO) cannot promise anything even
274if you sent me above informations.)
275