This is an alpha release of the PeRL Software library (perls).

DIRECTORY STRUCTURE
------------------------------------------------
The directory hierarchy is as follows:

bin - all binary executables will be deposited here
build - this is where the cmake build tree takes place
java - any java source should go here
lcmdefs - *ALL* lcm definition files should be deposited here
lib - all static and dynamic libraries will be deposited here
python - all python source should go here
src - all C/C++ source files should go here.
third-party - all third-party source files and libs should go here


ENVIRONMENT VARIABLES
--------------------------------------------------
perls makes use of /etc/environment to store a few environment variables.  

JAVA
--------------------------------------------------
NOTE: lcm works best with SUN's JRE.  If you run into any compile
problems, make sure that your system is configured to use the SUN
JRE by default and not any of the other java alternatives.
sudo apt-get install sun-java6-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config jar


PYTHONPATH
--------------------------------------------------
our python usage requires that PYTHONPATH point to the root directory of
python source tree.  this allows you to import a module with the 
following complete path:
/perl/python/common/example.py

with the command "import common.example" as long as
1) the PYTHONPATH environment variable is set to "/perl/python", and
2) "common", and every other directory containing python modules, contains
    an empty file titled "__init__.py".  This file tells python to treat 
    the directory as one containing packages for import therefore, add 
    'PYTHONPATH="/path/to/python/directory"' to /etc/environment


PERLS
--------------------------------------------------
perls uses cmake-2.6* as the build environment.  therefore, all configuration and 
building should be done in the perls/build tree.

1) cd perls/build

2) ccmake ..

3) make

4) To do a clean build, just execute 'make clean' from this directory. Or
   if you want to erase all of the cmake generated build files and start over
   just run the script ./clean-build.sh from this directory.

*Note: for Ubuntu 8.04 hardy systems, cmake-2.4 is the default install.
To install cmake-2.6 simply issue the following command: 
sudo apt-get install -t hardy-backports cmake

You may need to enable the hardy-backports channel in your
/etc/apt/sources.list file.  If so just uncomment or add the following line: 
deb http://us.archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse


RUN
--------------------------------------------------
All binaries will be deposited in perls/bin
To run the example lcm program, from two different terminals (tabs) run:
1) cd bin
2) ./listener
3) ./send_message


LCM UTILS
--------------------------------------------------
lcm-logger - logs all LCM traffic to disk
lcm-logplayer-gui - plays back a lcm-logger file and retransmits LCM packets
                    back on the wire.  This is very useful for data "replay"
                    and code development.
lcm-spy - this util allows you to see all LCM traffic on the network in 
          real-time.  To allow lcm-spy to properly decode your LCM message types
          do one of the following:

          1) add the CLASSPATH environment variable to /etc/environment and specify
          it as CLASSPATH=/path/to/perls/java/lcmtypes.jar

          2) use bin/lcm-spy, which sets the CLASSPATH environment
          variable in a local environment

