5
Lasso uses the GNU automake and autoconf to handle system dependency
6
checking. It is developed and built locally on GNU/Linux (Debian) both
7
on x86 and PowerPC processors, but is also compiled via Debian
8
infrastructure on several other architectures.
13
The 'configure' shell script attempts to guess correct values for
14
various system-dependent variables used during compilation. It uses
15
those values to create a 'Makefile' in each directory of the package.
16
It may also create one or more '.h' files containing system-dependent
17
definitions. Finally, it creates a shell script 'config.status' that
18
you can run in the future to recreate the current configuration, a file
19
'config.cache' that saves the results of its tests to speed up
20
reconfiguring, and a file 'config.log' containing compiler output
21
(useful mainly for debugging 'configure').
23
If you need to do unusual things to compile the package, please try
24
to figure out how 'configure' could check whether to do them, and mail
25
diffs or instructions to the address given in the README_ so they can
26
be considered for the next release. If at some point 'config.cache'
27
contains results you don't want to keep, you may remove or edit it.
29
The file 'configure.in' is used to create 'configure' by a program
30
called 'autoconf'. You only need 'configure.in' if you want to change
31
it or regenerate 'configure' using a newer version of 'autoconf'.
33
The simplest way to compile this package is:
35
1. ``cd`` to the directory containing the package's source code and type
36
``./configure`` to configure the package for your system. If you're
37
using 'csh' on an old version of System V, you might need to type
38
``sh ./configure`` instead to prevent 'csh' from trying to execute
41
Running 'configure' takes awhile. While running, it prints some
42
messages telling which features it is checking for.
44
2. Type ``make`` to compile the package.
46
3. Optionally, type ``make check`` to run any self-tests that come with
49
4. Type ``make install`` to install the programs and any data files and
52
5. You can remove the program binaries and object files from the
53
source code directory by typing ``make clean``. To also remove the
54
files that 'configure' created (so you can compile the package for
55
a different kind of computer), type ``make distclean``. There is
56
also a ``make maintainer-clean`` target, but that is intended mainly
57
for the package's developers. If you use it, you may have to get
58
all sorts of other programs in order to regenerate files that came
59
with the distribution.
61
Creating 'configure' Program
62
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64
If there is no 'configure' program, you can create it by running the
65
'autogen.sh' script, as long as you have the 'automake' and 'autoconf'
66
tools. This is done by::
70
and you can also pass along arguments intended for 'configure' (see
71
below for what these are)::
73
./autogen.sh --prefix=/usr/local/somewhere
75
The 'automake' and 'autoconf' tools have many different versions and
76
at present development is being done with automake 1.8, autoconf 2.59
77
and libtool 1.5.6. These are only needed when compiling from CVS sources.
78
'autogen.sh' enforces the requirements.
83
Some systems require unusual options for compilation or linking that
84
the 'configure' script does not know about. You can give 'configure'
85
initial values for variables by setting them in the environment. Using
86
a Bourne-compatible shell, you can do that on the command line like
89
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
91
Or on systems that have the 'env' program, you can do it like this::
93
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
95
Compiling For Multiple Architectures
96
====================================
98
You can compile the package for more than one kind of computer at the
99
same time, by placing the object files for each architecture in their
100
own directory. To do this, you must use a version of 'make' that
101
supports the 'VPATH' variable, such as GNU 'make'. 'cd' to the
102
directory where you want the object files and executables to go and run
103
the 'configure' script. 'configure' automatically checks for the
104
source code in the directory that 'configure' is in and in '..'.
106
If you have to use a 'make' that does not supports the 'VPATH'
107
variable, you have to compile the package for one architecture at a time
108
in the source code directory. After you have installed the package for
109
one architecture, use 'make distclean' before reconfiguring for another
115
By default, 'make install' will install the package's files in
116
'/usr/local/bin', '/usr/local/man', etc. You can specify an
117
installation prefix other than '/usr/local' by giving 'configure' the
118
option '--prefix=PATH'.
120
You can specify separate installation prefixes for
121
architecture-specific files and architecture-independent files. If you
122
give 'configure' the option '--exec-prefix=PATH', the package will use
123
PATH as the prefix for installing programs and libraries.
124
Documentation and other data files will still use the regular prefix.
126
In addition, if you use an unusual directory layout you can give
127
options like '--bindir=PATH' to specify different values for particular
128
kinds of files. Run 'configure --help' for a list of the directories
129
you can set and what kinds of files go in them.
131
You can cause programs to be installed with an extra prefix or suffix
132
on their names by giving 'configure' the option
133
'--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
138
These package pays attention to '--enable-FEATURE' or '--disable-FEATURE'
139
options to 'configure', where FEATURE indicates an optional part of the
140
package. It also pays attention to '--with-PACKAGE' options, where
141
PACKAGE is something like 'gnu-ld' or 'pic'.
143
'configure' recognizes the following FEATUREs:
146
Display debugging messages in 'stderr'.
149
Build Lasso API reference manual using gtk-doc system (enabled by
150
default if gtk-doc is installed).
153
Build unit test suite (enabled by default)
155
'configure' recognizes the following PACKAGEs:
158
Build Lasso ColdFusion binding (enabled by default, use
159
``--with-coldfusion=no`` to disable).
162
Build Lasso Java binding (enabled by default, use
163
``--with-java=no`` to disable).
166
Build Lasso PHP binding (enabled by default, use
167
``--with-php=no`` to disable).
170
Build Lasso Python binding (enabled by default, use
171
``--with-python=no`` to disable).
174
Specifying the System Type
175
==========================
177
There may be some features 'configure' can not figure out
178
automatically, but needs to determine by the type of host the package
179
will run on. Usually 'configure' can figure that out, but if it prints
180
a message saying it can not guess the host type, give it the
181
'--host=TYPE' option. TYPE can either be a short name for the system
182
type, such as 'sun4', or a canonical name with three fields:
186
See the file 'config.sub' for the possible values of each field. If
187
'config.sub' isn't included in this package, then this package doesn't
188
need to know the host type.
190
If you are building compiler tools for cross-compiling, you can also
191
use the '--target=TYPE' option to select the type of system they will
192
produce code for and the '--build=TYPE' option to select the type of
193
system on which you are compiling the package.
198
If you want to set default values for 'configure' scripts to share,
199
you can create a site shell script called 'config.site' that gives
200
default values for variables like 'CC', 'cache_file', and 'prefix'.
201
'configure' looks for 'PREFIX/share/config.site' if it exists, then
202
'PREFIX/etc/config.site' if it exists. Or, you can set the
203
'CONFIG_SITE' environment variable to the location of the site script.
204
A warning: not all 'configure' scripts look for a site script.
209
'configure' recognizes the following options to control how it operates.
212
Use and save the results of the tests in FILE instead of
213
'./config.cache'. Set FILE to '/dev/null' to disable caching, for
214
debugging 'configure'.
217
Print a summary of the options to 'configure', and exit.
219
-q, --quiet, --silent
220
Do not print messages saying which checks are being made. To
221
suppress all normal output, redirect it to '/dev/null' (any error
222
messages will still be shown).
225
Look for the package's source code in directory DIR. Usually
226
'configure' can determine that directory automatically.
229
Print the version of Autoconf used to generate the 'configure'
232
'configure' also accepts some other, not widely useful, options.