Subdirectories:
---------------
developers/ Documentation and scripts useful to Meddly developers
docs/ Online documentation for github pages
doxygen/ Generated doxygen docs from source code
examples/ Stand-alone applications that use the library
include/ Include files installed here, unless prefix is changed
lib/ Compiled library installed here, unless prefix is changed
m4/ Directory of configuration helper scripts
manual/ User manual source files
src/ Library source code
tests/ Test applications used by "make check"
visual/ Visualization utilities that work with the library.
www/ Web page sources
Building the library:
---------------------
You will need g++, autoconf, automake and libtool.
Do either (1a) or (1b), followed by the remaining steps.
1a. $ developers/Config_generic.sh
or
$ developers/Config_generic.sh --debug
to create and run the configure script, and build the Makefiles.
1b. Run
$ ./autogen.sh
to create the configure script. This should be run for the
first build, and whenever the source code files or layout changes.
Then, run
$ ./configure
This will setup the build files.
Can be used to set various compile options;
see "Configuration Options" below.
An alternate would be:
$ ./configure --prefix=/other/install/location
(See "make install" further down for reasons).
2. $ make
Build the library.
Library will be in src/. Applications in src/ and examples/. This may be
sufficient for most users.
3. $ make install
Library in lib/, include files in include/. This can be changed
in step (1) by selecting an alternate location, for example using
--prefix=/usr/local
will install libraries in /usr/local/lib and headers in /usr/local/include.
If you reconfigure, make sure you run "make clean" before running "make".
4. $ make uninstall
Removes the files installed in bin/ and lib/.
5. $ make clean
Removes the results of compilation from src/ and examples/.
Build the documentation:
------------------------
0. Need to have doxygen installed.
1. $ cd doxygen
2. If you see doxygen/html/index.html and doxygen/refman.pdf, your docs have
already been built and you can ignore the rest of the steps. Otherwise:
$ make
This will create the folders doxygen/html and doxygen/latex.
doxygen/html: HTML documentation. See index.html.
doxygen/latex: Tex-based documentation. See refman.tex.
If you have latex installed:
a. $ cd latex
b. $ make
This will create refman.dvi.
c. $ make pdf
This will create refman.pdf (using ps2pdf).
3. $ make clean
Removes doxygen/ and html/.
4. Technical documentation can be generated the same way, in doxygen-devel/
Configuration Options
---------------------
Several environment variables may be set before running configure.
For example, to build a version of the library with support for
Extensible Decision Diagrams (XDDs):
$ ./configure CPPFLAGS="-DUSE_XDDS"
To build an optimized version of the library:
$ ./configure CXXFLAGS="-O3"
To build a debuggable version of the library:
$ ./configure CXXFLAGS="-ggdb -DDEVELOPMENT_CODE"
To set the location of the gmp library, by hand
(only necessary if ./configure fails to find it):
$ ./configure CPPFLAGS="-I/path/to/gmp/header" LDFLAGS="-L/path/to/gmp/lib"
To disable gmp support in Meddly:
$ ./configure --without-gmp