To install xd by hand instead of using a binary distribution perform
the following steps:
0. xd and its construction depends, in addition to the normally
standard available system software on specific software and versions
which is documented in the file `required'.
(If you compile the bobcat library yourself, note that xd does
not use the SSL, Milter and Xpointer classes; they may --as far as
xd is concerned-- be left out of the library by running
'./build light')
1. It is expected you use icmake for the package construction. For this a
top-level script (build) and support scripts in the ./icmake/
directory are available. By default, the 'build' script echoes the
commands it executes to the standard output stream. By specifying the
option -q (e.g., ./build -q ...) this is prevented, significantly
reducing the output generated by 'build'.
2. Inspect the values of the variables in the file INSTALL.im. Modify
these when necessary. The default skeleton filenames are compiled into
xd through the definitions in options/data.cc.
3. Run
./build program [strip]
to compile xd. The argument `strip' is optional and strips
symbolic information from the final executable.
4. If you installed Yodl then you can create the documentation:
./build man
builds the man-pages, and
./build manual
builds the manual.
5. Before installing the components of xd, consider defining the
environment variable XD, defining its value as the (preferably
absolute) filename of a file on which installed files and directories
are logged.
Defining the XD environment variable as ~/.xd usually
works well.
6. Run (probably as root)
./build install 'what' 'base'
to install. Here, 'what' specifies what you want to install.
Specify:
x, to install all components,
or specify a combination of:
a (additional documentation),
b (binary program),
d (standard documentation),
m (man-pages)
s (skeleton files)
u (user guide)
E.g., use
./build install bs 'base'
if you only want to be able to run bisonc++, and want it to be
installed below 'base'.
./build install's last argument 'base' is optional: the base directory
below which the requested files are installed. This base directory is
prepended to the paths #defined in the INSTALL.im file. If 'base' is
not specified, then INSTALL.im's #defined paths are used as-is.
When requesting non-existing elements (e.g., ./build install x was
requested, but the man-pages weren't constructed) then these
non-existing elements are silently ignored by the installation
process.
If the environment variable BISONCPP was defined when issuing the
`./build install ...' command then a log of all installed files is
written to the file indicated by the BISONCPP environment variable
(see also the next item).
Defining the BISONCPP environment variable as ~/.bisoncpp usually
works well.
7. Uninstalling previously installed components of Bisonc++ is easy if the
environment variable BISONCPP was defined before issuing the
`./build install ...' command. In that case, run the command
./build uninstall logfile
where 'logfile' is the file that was written by ./build install.
Modified files and non-empty directories are not removed, but the
logfile itself is removed following the uninstallation.
8. Following the installation nothing in the directory tree which contains
this file (i.e., INSTALL) is required for the proper functioning of
bisonc++, so consider removing it. If you only want to remove
left-over files from the build-process, just run
./build distclean