Blame INSTALL

Packit Service 88ab54
================
Packit Service 88ab54
Installing Lasso
Packit Service 88ab54
================
Packit Service 88ab54
Packit Service 88ab54
Lasso uses the GNU automake and autoconf to handle system dependency
Packit Service 88ab54
checking.  It is developed and built locally on GNU/Linux (Debian) both
Packit Service 88ab54
on x86 and PowerPC processors, but is also compiled via Debian
Packit Service 88ab54
infrastructure on several other architectures.
Packit Service 88ab54
Packit Service 88ab54
Installing build dependencies
Packit Service 88ab54
=============================
Packit Service 88ab54
Packit Service 88ab54
If you are building from git you need to install the autotools on your distribution.
Packit Service 88ab54
Packit Service 88ab54
Buid dependencies are:
Packit Service 88ab54
Packit Service 88ab54
 - libxml2
Packit Service 88ab54
 - libxslt
Packit Service 88ab54
 - libxmlsec
Packit Service 88ab54
 - python development files
Packit Service 88ab54
 - php5 development files
Packit Service 88ab54
 - jdk
Packit Service 88ab54
Packit Service 88ab54
In all cases you need to install development packages for dependencies. On Debian 7.0 Wheezy:
Packit Service 88ab54
Packit Service 88ab54
    aptitude install libxml2-dev libxslt1-dev libxmlsec1-dev libxmlsec1-openssl \
Packit Service 88ab54
      libglib2.0-dev python-all-dev fastjar php5-dev php5-cli python-lxml
Packit Service 88ab54
Packit Service 88ab54
Python bindings require the "six" library:
Packit Service 88ab54
Packit Service 88ab54
    pip install six
Packit Service 88ab54
Packit Service 88ab54
Basic Installation
Packit Service 88ab54
==================
Packit Service 88ab54
Packit Service 88ab54
The 'configure' shell script attempts to guess correct values for
Packit Service 88ab54
various system-dependent variables used during compilation.  It uses
Packit Service 88ab54
those values to create a 'Makefile' in each directory of the package.
Packit Service 88ab54
It may also create one or more '.h' files containing system-dependent
Packit Service 88ab54
definitions.  Finally, it creates a shell script 'config.status' that
Packit Service 88ab54
you can run in the future to recreate the current configuration, a file
Packit Service 88ab54
'config.cache' that saves the results of its tests to speed up
Packit Service 88ab54
reconfiguring, and a file 'config.log' containing compiler output
Packit Service 88ab54
(useful mainly for debugging 'configure').
Packit Service 88ab54
Packit Service 88ab54
If you need to do unusual things to compile the package, please try
Packit Service 88ab54
to figure out how 'configure' could check whether to do them, and mail
Packit Service 88ab54
diffs or instructions to the address given in the README_ so they can
Packit Service 88ab54
be considered for the next release.  If at some point 'config.cache'
Packit Service 88ab54
contains results you don't want to keep, you may remove or edit it.
Packit Service 88ab54
Packit Service 88ab54
The file 'configure.in' is used to create 'configure' by a program
Packit Service 88ab54
called 'autoconf'.  You only need 'configure.in' if you want to change
Packit Service 88ab54
it or regenerate 'configure' using a newer version of 'autoconf'.
Packit Service 88ab54
Packit Service 88ab54
The simplest way to compile this package is:
Packit Service 88ab54
Packit Service 88ab54
  1. ``cd`` to the directory containing the package's source code and type
Packit Service 88ab54
     ``./configure`` to configure the package for your system.  If you're
Packit Service 88ab54
     using 'csh' on an old version of System V, you might need to type
Packit Service 88ab54
     ``sh ./configure`` instead to prevent 'csh' from trying to execute
Packit Service 88ab54
     'configure' itself.
Packit Service 88ab54
Packit Service 88ab54
     Running 'configure' takes awhile.  While running, it prints some
Packit Service 88ab54
     messages telling which features it is checking for.
Packit Service 88ab54
Packit Service 88ab54
  2. Type ``make`` to compile the package.
Packit Service 88ab54
Packit Service 88ab54
  3. Optionally, type ``make check`` to run any self-tests that come with
Packit Service 88ab54
     the package.
Packit Service 88ab54
Packit Service 88ab54
  4. Type ``make install`` to install the programs and any data files and
Packit Service 88ab54
     documentation.
Packit Service 88ab54
Packit Service 88ab54
  5. You can remove the program binaries and object files from the
Packit Service 88ab54
     source code directory by typing ``make clean``.  To also remove the
Packit Service 88ab54
     files that 'configure' created (so you can compile the package for
Packit Service 88ab54
     a different kind of computer), type ``make distclean``.  There is
Packit Service 88ab54
     also a ``make maintainer-clean`` target, but that is intended mainly
Packit Service 88ab54
     for the package's developers.  If you use it, you may have to get
Packit Service 88ab54
     all sorts of other programs in order to regenerate files that came
Packit Service 88ab54
     with the distribution.
Packit Service 88ab54
Packit Service 88ab54
Creating 'configure' Program
Packit Service 88ab54
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit Service 88ab54
Packit Service 88ab54
If there is no 'configure' program, you can create it by running the
Packit Service 88ab54
'autogen.sh' script, as long as you have the 'automake' and 'autoconf'
Packit Service 88ab54
tools.  This is done by::
Packit Service 88ab54
Packit Service 88ab54
  ./autogen.sh
Packit Service 88ab54
Packit Service 88ab54
and you can also pass along arguments intended for 'configure' (see
Packit Service 88ab54
below for what these are)::
Packit Service 88ab54
Packit Service 88ab54
  ./autogen.sh --prefix=/usr/local/somewhere
Packit Service 88ab54
Packit Service 88ab54
The 'automake' and 'autoconf' tools have many different versions and
Packit Service 88ab54
at present development is being done with automake 1.8, autoconf 2.59
Packit Service 88ab54
and libtool 1.5.6.  These are only needed when compiling from CVS sources.
Packit Service 88ab54
'autogen.sh' enforces the requirements.
Packit Service 88ab54
Packit Service 88ab54
Compilers and Options
Packit Service 88ab54
=====================
Packit Service 88ab54
Packit Service 88ab54
Some systems require unusual options for compilation or linking that
Packit Service 88ab54
the 'configure' script does not know about.  You can give 'configure'
Packit Service 88ab54
initial values for variables by setting them in the environment.  Using
Packit Service 88ab54
a Bourne-compatible shell, you can do that on the command line like
Packit Service 88ab54
this::
Packit Service 88ab54
Packit Service 88ab54
     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Packit Service 88ab54
Packit Service 88ab54
Or on systems that have the 'env' program, you can do it like this::
Packit Service 88ab54
Packit Service 88ab54
     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Packit Service 88ab54
Packit Service 88ab54
Compiling For Multiple Architectures
Packit Service 88ab54
====================================
Packit Service 88ab54
Packit Service 88ab54
You can compile the package for more than one kind of computer at the
Packit Service 88ab54
same time, by placing the object files for each architecture in their
Packit Service 88ab54
own directory.  To do this, you must use a version of 'make' that
Packit Service 88ab54
supports the 'VPATH' variable, such as GNU 'make'.  'cd' to the
Packit Service 88ab54
directory where you want the object files and executables to go and run
Packit Service 88ab54
the 'configure' script.  'configure' automatically checks for the
Packit Service 88ab54
source code in the directory that 'configure' is in and in '..'.
Packit Service 88ab54
Packit Service 88ab54
If you have to use a 'make' that does not supports the 'VPATH'
Packit Service 88ab54
variable, you have to compile the package for one architecture at a time
Packit Service 88ab54
in the source code directory.  After you have installed the package for
Packit Service 88ab54
one architecture, use 'make distclean' before reconfiguring for another
Packit Service 88ab54
architecture.
Packit Service 88ab54
Packit Service 88ab54
Installation Names
Packit Service 88ab54
==================
Packit Service 88ab54
Packit Service 88ab54
By default, 'make install' will install the package's files in
Packit Service 88ab54
'/usr/local/bin', '/usr/local/man', etc.  You can specify an
Packit Service 88ab54
installation prefix other than '/usr/local' by giving 'configure' the
Packit Service 88ab54
option '--prefix=PATH'.
Packit Service 88ab54
Packit Service 88ab54
You can specify separate installation prefixes for
Packit Service 88ab54
architecture-specific files and architecture-independent files.  If you
Packit Service 88ab54
give 'configure' the option '--exec-prefix=PATH', the package will use
Packit Service 88ab54
PATH as the prefix for installing programs and libraries.
Packit Service 88ab54
Documentation and other data files will still use the regular prefix.
Packit Service 88ab54
Packit Service 88ab54
In addition, if you use an unusual directory layout you can give
Packit Service 88ab54
options like '--bindir=PATH' to specify different values for particular
Packit Service 88ab54
kinds of files.  Run 'configure --help' for a list of the directories
Packit Service 88ab54
you can set and what kinds of files go in them.
Packit Service 88ab54
Packit Service 88ab54
You can cause programs to be installed with an extra prefix or suffix
Packit Service 88ab54
on their names by giving 'configure' the option
Packit Service 88ab54
'--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
Packit Service 88ab54
Packit Service 88ab54
Optional Features
Packit Service 88ab54
=================
Packit Service 88ab54
Packit Service 88ab54
These package pays attention to '--enable-FEATURE' or '--disable-FEATURE'
Packit Service 88ab54
options to 'configure', where FEATURE indicates an optional part of the
Packit Service 88ab54
package.  It also pays attention to '--with-PACKAGE' options, where
Packit Service 88ab54
PACKAGE is something like 'gnu-ld' or 'pic'.
Packit Service 88ab54
Packit Service 88ab54
'configure' recognizes the following FEATUREs:
Packit Service 88ab54
Packit Service 88ab54
debugging
Packit Service 88ab54
    Display debugging messages in 'stderr'.
Packit Service 88ab54
Packit Service 88ab54
gtk-doc
Packit Service 88ab54
    Build Lasso API reference manual using gtk-doc system (enabled by
Packit Service 88ab54
    default if gtk-doc is installed).
Packit Service 88ab54
Packit Service 88ab54
tests
Packit Service 88ab54
    Build unit test suite (enabled by default)
Packit Service 88ab54
Packit Service 88ab54
'configure' recognizes the following PACKAGEs:
Packit Service 88ab54
Packit Service 88ab54
.. coldfusion
Packit Service 88ab54
       Build Lasso ColdFusion binding (enabled by default, use
Packit Service 88ab54
       ``--with-coldfusion=no`` to disable).
Packit Service 88ab54
Packit Service 88ab54
java
Packit Service 88ab54
    Build Lasso Java binding (enabled by default, use
Packit Service 88ab54
    ``--with-java=no`` to disable).
Packit Service 88ab54
Packit Service 88ab54
.. php
Packit Service 88ab54
       Build Lasso PHP binding (enabled by default, use
Packit Service 88ab54
       ``--with-php=no`` to disable).
Packit Service 88ab54
Packit Service 88ab54
python
Packit Service 88ab54
    Build Lasso Python binding (enabled by default, use
Packit Service 88ab54
    ``--with-python=no`` to disable).
Packit Service 88ab54
Packit Service 88ab54
Packit Service 88ab54
Specifying the System Type
Packit Service 88ab54
==========================
Packit Service 88ab54
Packit Service 88ab54
There may be some features 'configure' can not figure out
Packit Service 88ab54
automatically, but needs to determine by the type of host the package
Packit Service 88ab54
will run on.  Usually 'configure' can figure that out, but if it prints
Packit Service 88ab54
a message saying it can not guess the host type, give it the
Packit Service 88ab54
'--host=TYPE' option.  TYPE can either be a short name for the system
Packit Service 88ab54
type, such as 'sun4', or a canonical name with three fields:
Packit Service 88ab54
Packit Service 88ab54
     CPU-COMPANY-SYSTEM
Packit Service 88ab54
Packit Service 88ab54
See the file 'config.sub' for the possible values of each field.  If
Packit Service 88ab54
'config.sub' isn't included in this package, then this package doesn't
Packit Service 88ab54
need to know the host type.
Packit Service 88ab54
Packit Service 88ab54
If you are building compiler tools for cross-compiling, you can also
Packit Service 88ab54
use the '--target=TYPE' option to select the type of system they will
Packit Service 88ab54
produce code for and the '--build=TYPE' option to select the type of
Packit Service 88ab54
system on which you are compiling the package.
Packit Service 88ab54
Packit Service 88ab54
Sharing Defaults
Packit Service 88ab54
================
Packit Service 88ab54
Packit Service 88ab54
If you want to set default values for 'configure' scripts to share,
Packit Service 88ab54
you can create a site shell script called 'config.site' that gives
Packit Service 88ab54
default values for variables like 'CC', 'cache_file', and 'prefix'.
Packit Service 88ab54
'configure' looks for 'PREFIX/share/config.site' if it exists, then
Packit Service 88ab54
'PREFIX/etc/config.site' if it exists.  Or, you can set the
Packit Service 88ab54
'CONFIG_SITE' environment variable to the location of the site script.
Packit Service 88ab54
A warning: not all 'configure' scripts look for a site script.
Packit Service 88ab54
Packit Service 88ab54
Operation Controls
Packit Service 88ab54
==================
Packit Service 88ab54
Packit Service 88ab54
'configure' recognizes the following options to control how it operates.
Packit Service 88ab54
Packit Service 88ab54
--cache-file=FILE
Packit Service 88ab54
    Use and save the results of the tests in FILE instead of
Packit Service 88ab54
    './config.cache'. Set FILE to '/dev/null' to disable caching, for
Packit Service 88ab54
    debugging 'configure'.
Packit Service 88ab54
Packit Service 88ab54
--help
Packit Service 88ab54
    Print a summary of the options to 'configure', and exit.
Packit Service 88ab54
Packit Service 88ab54
-q, --quiet, --silent
Packit Service 88ab54
     Do not print messages saying which checks are being made. To
Packit Service 88ab54
     suppress all normal output, redirect it to '/dev/null' (any error
Packit Service 88ab54
     messages will still be shown).
Packit Service 88ab54
Packit Service 88ab54
--srcdir=DIR
Packit Service 88ab54
     Look for the package's source code in directory DIR.  Usually
Packit Service 88ab54
     'configure' can determine that directory automatically.
Packit Service 88ab54
Packit Service 88ab54
--version
Packit Service 88ab54
     Print the version of Autoconf used to generate the 'configure'
Packit Service 88ab54
     script, and exit.
Packit Service 88ab54
Packit Service 88ab54
'configure' also accepts some other, not widely useful, options.