libjwsc++ -- C++ language utility library ========================================= A collection of utility namespaces and classes for computer graphics and base program abstractions written in the C++ programming language. The library depends on libjwsc to represent and manipulate basic mathematical objects, such as vectors and matrices. The goal is to provide a high-level abstraction to data structures and facilitate developing sophisticated programs for scientific research through an intuitive C++ interface. The build and configuration system are managed by GNU autotools. Below are some instructions for installing the library. Library API documentation can be generated from the source code with Doxygen. Comments welcome --> Joseph Schlecht Building the Library ==================== Run the configure script followed by 'make' to build the library. If there is no configure script, see further below how to generate one. The INSTALL file gives general instructions on how to use a configure script generated by GNU autotools. A few specific details on using the script for libjwsc++ follow. All library modules except tests are enabled by default. Use the --disable-... options to disable them. To add support for an external library, use the --with-... option. For example, in the case of osmesa32, use --with-osmesa32[=ARG] Where ARG can be left out, set to 'yes', or 'no'. Using --without is the same as setting ARG=no. If an external library is to be used, i.e., --with is provided, but the library is not found, the script should halt with an error. Try adding a -I to CPPFLAGS and/or a -L to LDFLAGS. If you are unsure what this means, refer to the INSTALL file. Once configured, run 'make' and/or 'make install' to build the library and install it. HTML documentation of the library API can be generated with Doxygen after calling 'make'. The test programs in src/tests show examples of how to make a program that uses the library. The program 'jwsc++-config' is installed in /bin and can be used to find out the version, external libs, cxxflags, cppflags, and ldflags used when the library was built. Library Dependencies ==================== --with-dmalloc DMalloc >= 5.5.2 --with-osmesa32 Mesa 3D >= 7.1 Building from SVN ================= To build the sources from svn checkout, you need to do two things: (1) checkout the m4 macros and (2) build the configure script with autotools. 1. Checking out the m4 macros The autotools used to build the configure script need a set of macros written in the m4 language and expect them to be installed in a directory 'libjwsm4' at the same level as libjwsc. The macros are shared by other programs and, if you haven't already done so, you will need to check them out. Change to the directory containing libjwsc and execute svn co ${SVN_ACCESS}${SVN_REPOSITORY}/src/libjwsm4/trunk libjwsm4 where SVN_ACCESS is probably either 'svn+ssh://host' or 'file:///' and SVN_REPOSITORY is the path to the svn repository. Then a directory listing would look like this libjwsc++ libjwsm4 ... 2. Build the configure script using autotools The configure script is an sh shell script that can run on just about any machine. It checks for the availability of other packages that the library depends on. Those checks are primarily constructed using the m4 macro language, which is expanded into sh. To build the configure script, you need the autotools programs. If installed, the following set of commands will generate the configure script aclocal -I ../libjwsm4 ; autoheader ; automake -ca ; autoconf Use the generated configure script to build the library as above.