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