0. dependencies

 - mandatory: C compiler
 - mandatory: make (BSD make won't work)
 - mandatory: librnd >= 4.2.0
              Get it at: http://www.repo.hu/projects/librnd
              Standard: install librnd in /usr/local or /usr
              Non-standard installation: doc/INSTALL.librnd.txt

When configuring librnd:
 - optional: glib and gtk2 if you are using the GTK GUI
 - optional: gtkglext if you need opengl rendering with gtk2
 - optional: libepoxy if you need gtk4
 - optional: motif or lesstif if you are using the lesstif frontend
 - optional: gdlib if you want to export/import to/from png, jpg or gif

NOTE: if you did not install any GUI lib dependency before configuring librnd,
sch-rnd will run with command line interface only.


1. Configure

Run ./configure.

For compile-time options run ./configure --help.

Read the summary table and the warnings at the end of ./configure output
and decide if you need the features missing. If there was no error, only
warnings, sch-rnd can be compiled, even if some dependencies were missing.
./configure will try to static link most plugins and disable ones that
have missing dependencies. This process can be controlled using configure
command line switches, see ./configure --help.


2. Compiling

Run make.

Optionally also run make test.


3. Running from source

cd src/sch-rnd
./sch-rnd

Note: it is important to cd to src/sch-rnd to run sch-rnd from source;
src/sch-rnd/sch-rnd won't work unless sch-rnd is installed.

If this doesn't work, please refer to doc/INSTALL*.


4. Installation

To install sch-rnd after it has been built run:

  make install

from the top level directory. An alternative installation method
is the link-install, which places symlinks instead of copying files so
no subsequent make install is needed after a recompilation if no new
files appeared (useful for developers):

  make linstall

Note: sch-rnd depends on librnd, which is dynamically linked. If you
install into non-standard path (e.g somewhere under /home or /opt), you need to
make sure your system dl will search for librnd.so in the nonstandard place.
Even in case of standard installation you may need to run ldconfig on some
systems to update the system cache of .so files.

5. Packaging

Some major distros already have sch-rnd packages.

If you are planning to package sch-rnd, please read
doc/developer/packaging.txt and if it is binary packaging, please consider
following the package naming and layout documented in
doc/developer/packaging/packaging/packages.html - this way different
distros will have similar packages which will make both users' and developers'
life easier while supporting the software.
