  Building from the cvs tree:
  sh buildconf --with-apr=apr_source_location.
  configure --with-apr=apr_install_location --with-ssl=openssl_install_location
  make

  Testing the build:
  The make should produce a .so file named libtcnative-1.so.
  Build the jar containing the example by
  cd ..
  ant jar
  Run the example:
  ant example-basic
 
  Using it in Tomcat:
  1 - In <Connector> use of conf/server.xml:
    protocol="org.apache.coyote.http11.Http11AprProtocol"
  2 - In bin/setenv.sh add the following: 
    CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=tclib_location"
    In my machine I am using:
    /home/jfclere/tomcat-connectors/jni/native/.libs for tclib_location

NOTES:
  - configure --without-ssl : Configure without ssl support.
  - To use it in Tomcat you may have to add in bin/setenv.sh:
    LD_LIBRARY_PATH=openssl_install_location/lib; export LD_LIBRARY_PATH
    (use ldd ./.libs/libtcnative-1.so to check it).
  - quick testing: openssl s_client -connect localhost:8443
  - For MAC OS X you must manually add a link
    cd ${tcnative installdir}
    ln -d libtcnative-1.dylib libtcnative-1.jnilib
