Codebase list xd / scrub-obsolete/main INSTALL
scrub-obsolete/main

Tree @scrub-obsolete/main (Download .tar.gz)

INSTALL @scrub-obsolete/mainraw · history · blame

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