
The psconfig system allows the user to build and install the IPP
software suite into a location which is flexibly defined by the user.
The tools here also set up the user's environment variables (PATH,
PERL5LIB, LIBRARY_PATH, etc) to make use of the installed software.
With the psconfig tools, it is easy to switch between different
installed versions or to recompile subsets of the IPP tree.

1. Set up the psconfig system.
1.1 csh users

To use the psconfig system, place the following line in your ~/.cshrc
file:

alias psconfig "source PATH/psconfig.csh"

where PATH is the path to the file psconfig.csh in this directory
(ipp/psconfig/psconfig.csh).

The psconfig system places the installed binary files by default in
directories below ~/psconfig.  To use a different location, place the
following line in ~/.psconfigrc (otherwise not needed):

set PSCONFDIR = INSTALL_PATH

where INSTALL_PATH is the top-level directory for all binary
installations. 

1.2 bash users

Add the following line to your ~/.bashrc file:

alias psconfig="source PATH/psconfig.bash"

it is also necessary to edit the file psconfig.bash to set the
PSCONFIG_DIR variable to this directory as well.

2. Using psconfig to set / examine your install system:

Before running or compiling the IPP, it is necessary to use psconfig
to set the installation version:

psconfig (version)

This command sets aliases and environment variables for the current
shell to point at the IPP installation labeled with the given version
name and hardware architecture.  For example:

psconfig default

will set the PATH to include ~/psconfig/default.linux/bin on a 32-bit
linux system, and the other paths to point at the corresponding
installation directories.

3. Dependencies

3.1. External C libraries

The program 'pschecklibs' in this directory will check for required
system libraries and headers.  It examines the system libraries,
libraries defined by LD_LIBRARY_PATH, and the installation library
defined by psconfig.  Any missing dependencies will be listed.
Tarballs for these libraries may be found on the Pan-STARRS web site
at:

http://pan-starrs.ifa.hawaii.edu/project/IPP/software/ext

These should be installed so they will be available in the user's
path.  The psconfig commands can be used to install these libraries in
the psconfig location:

'psautogen' replaces autogen.sh
'psconfigure' replaces configure

3.2 External Perl Modules

The program 'pscheckperl' in this directory will check for required
Perl modules, and can be used to install them in the appropriate user
location in the psconfig system.  The command defaults to the latest
perl installation table (eg, tagsets/ipp-1.2.perl).

pscheckperl

will test for the perl modules specified for the latest ipp release.
if any modules are missing, they can be download from the Pan-STARRS
web site:

http://pan-starrs.ifa.hawaii.edu/project/IPP/software/extperl

The tarballs should be placed in a directory extperl parallel to the
ipp directory (two levels up from this directory).  If the tarballs
are in the correct location, they can be built by supplying the -build
flag to pscheckperl:

pscheckperl -build

4. Building

To build the full IPP tree using the psconfig system, run 'psbuild' in
this directory, and provide a distribution name.  The distributions
define the set of IPP libraries and programs versions which go
together.  NOTE: If we provide a tarball, it is appropriate to a
specific version.  this should be automatically set as the default!

psbuild ipp-1.2

------

Summary of psconfig operations:

psdist -tag        : tag CVS tree
psdist -dist       : build tarball from tagged tree
psdist -dist -head : build tarball from head
psbuild            : build and install software in tree
pschecklibs        : check for needed external software
pscheckperl        : check for needed perl modules
pscheckperl -build : build and install external modules

