libjwsc -- C language utility library ===================================== A collection of utility modules for image processing, mathematical computation, and base program abstractions written in the C programming language (ANSI C99). Much of the core functionality is provided through a unified interface to other free libraries, such as BLAS, FFTW, and ImageMagick. The goal is to provide an intuitive C programming environment that enables rapid prototype development for scientific research. 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 BLAS, use --with-blas[=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, cflags, cppflags, and ldflags used when the library was built. Library Dependencies ==================== --with-dmalloc DMalloc >= 5.5.2 --with-fftw3[f] FFTW >= 3.0 --with-magick ImageMagick >= 6.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.