| |
libFAUDES C++ sources are POSIX compliant and have been verified to compile on various platforms, incl. Linux, Mac OsX and MS Windows. Still, the build process can be a hassle. The download page therefor provides precompiled libFAUDES archives including executables of luafaudes and other utilities.
Linux: The standard libFAUDES distribution ships as tar.gz archive and includes Linux binaries that link against so called LSB 3.2 system library stubs. They should be fine for most recent Linux distributions. Simply extract the archive file and test by e.g. running a luafaudes tutoriual script.
MS Windows: Precompiled packages come as setup.exe installers and can be found in the archive of the libFAUDES download page. They contain the HTML documentation, precompiles libFAUDES incl luafaudes and some examples.
For all other system environments you need to use the standard libFAUDES distribution and re-compile. The required steps are described below.
The standard distribution ships with a configured source tree and provides a GNU-make Makefile that supports the following application developer targets.
default to compile the library (both shared and static) and utility executables,
tutorial to compile the provided tutorials, and
clean to remove temporary object files.
After extracting the libFAUDES archive to e.g. ./libfaudes, open a shell (aka console, command line, etc) and run
> make clean > make default
from within ./libfaudes to re-compile libFAUDES.
The Makefile uses some GNU-make specific extensions, so you are best of using the GNU tool-chain. Most Linux Distributions offer a C++ development package. For Mac OsX, the GNU tool-chain is provided by Apple's Developer Package or the Darwin project.
For MS Windows, libFAUDES has been verified to compile with Cygwin or MinGW. The former provides an almost POSIX environment and you can go ahead with the same instructions as for Linux/Unix. For MinGW you can use the supplied Makefile. however, you need to specify the platform explicitely by e.g.
C:\libfaudes> make clean FAUDES_PLATFORM=gcc_win C:\libfaudes> make default FAUDES_PLATFORM=gcc_win
Note that the MinGW make, g++ and gcc must be specified in your PATH environment variable.
If you want to use MS Visual C++, the starting point is to grab the configured libFAUDES source and dump them into a Visual C++ project. When we last tested this, there was an issue with STL const_iterators, which was resolved by installing an SGI implementation of STL. Let us know if MS Visual C++ is crucial for your application.
For library extensions by plug-ins, the build-system needs to configure the source tree and generate UI and API documentation. In this step, the current build-system relies on a number of more or less common Unix tools. For the following library developer targets we recommend a Unix-style environment:
include to set-up the overall include directory and to update debugging switches (you may need ro manually remove all files from the include directory before);
rti/rti-clean to set up the libFAUDES RTI (requires GTML/perl),
doc/doc-clean to set up the doxygen and HTML documentation in the ./doc directory (requires all of the above plus doxygen v1.4.4 or above),
configure to do an overall configuration (requires all of the above plus SWIG v1.3.36 for the LuaBindings plug-in), and
dist-clean to remove any non-source files.
The libFAUDES archive provides a copy of GTML and SWIG for convenience. Assuming you have perl installed anyway, the provided GTML will be functional as it is. SWIG, however, requires installation.