Table of Contents
RPSL directories and targets
The figure above shows an RPSL sandbox tree with some libraries (lib1 and lib2).
The project and local sandboxes under ${RPSL_PROJ} and ${RPSL_USER} respectively
look the same but don't contain the RPSL scripts and utility files.
The standard autotools tree for each library or executable module, such as lib1,
looks as follows:
First, notice that source files can either be in the library source directory or
optionally also in subdirectories under the main source directory. For a library
the main source directory has the same name as the library. For an executable,
the main source directory is called "src" or the name of the executable; and only
one level is supported. For an executable tree there is no "pc" file.
Both library and executable trees have a "tests" directory that holds source
and scripts to test the contents of the tree. Any executable file in tests
called testScript* is considered to be a script to be called during "make check."
Any file called test*.<valid_source_extension> is considered to be a source file
with a main() and is compiled to an executable with the same root name and then
called during "make check."
The standard command "make install" will produce the following files:
include files
${RPSL_HOME}/usr/local/include/libr1/
libr1.h (all header files bundled together)
MyClass1.h
MyClass2/MyClass2.h (source in a subdirectory - one level supported)
library archives
${RPSL_HOME}/usr/local/lib/
liblibr1.a (static archive)
liblibr1-0.0.so (and some symbolic linking for versioning)
liblibr1-0.0.la (libtool archive helper script)
pkg-config data
${RPSL_HOME}/usr/local/lib/pkgconfig/
libr1.pc
So to include an installed library in source code:
#include <libr1/libr1.h> for all headers in the library
#include <libr1/MyClass1.h> for a header in the library directory
#include <libr1/MyClass2/MyClass2.h> for a header in its own subdirectory
In a library or executable tree, the dependencies are specified in the file
rpslParams.
For an executable, make install generates the following file, for example:
executables:
${RPSL_USER}/usr/local/bin
proj1
top
Table of Contents
William Snyder
Last modified: Sun Aug 28 01:10:48 EDT 2005