UIMA-2053 updated build instructions

git-svn-id: https://svn.apache.org/repos/asf/uima/uimacpp/trunk@1221494 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/README.4src b/README.4src
index b99281a..0039f89 100644
--- a/README.4src
+++ b/README.4src
@@ -1,154 +1,164 @@
-
-See the NOTICE file for licensing information.
-
---------------------------------
-Building the Apache UIMA C++ SDK
---------------------------------
-
-The Apache UIMA C++ SDK has been built and tested in 32-bit mode
-on Linux systems with gcc versions from 3.2.4 to 4.1.0, on Windows 
-using MSVC version 8, and on MacOSX with gcc version 4.0.1.
-
-64-bit builds have only been tested on Linux with gcc 4.1.0.
-
-
-Setting up the build environment:
----------------------------------
-UIMACPP has dependencies on APR, ICU, Xerces-C and ActiveMQ-cpp
-libraries.  Dependent libraries must be specified with the
-environmental parameters APR_HOME, ICU_HOME, XERCES_HOME and
-ACTIVEMQ_HOME.  For now, the ActiveMQ dependency is optional; if not
-specified the UIMA-AS compatible service wrapper deployCppService will
-fail to build.
-
-There is also a dependency on JNI headers from a Java JDK. The build
-looks for these headers in the directory specified by JAVA_INCLUDE.
-A typical setting for JAVA_INCLUDE on Linux or Windows would be
-$JAVA_HOME/include; on MacOSX jni.h and the other headers will be in a
-"Headers" directory.
-
-On Unix, dependent headers are expected under $dependent_HOME/include and
-dependent libraries under $dependent_HOME/lib.
-
-The build of dependent libraries on Windows is less consistent.
-APR libraries are expected in %APR_HOME%\Release. ActiveMQ libraries 
-are in %ACTIVEMQ_HOME%\vs2005-build\ReleaseDLL (or DebugDLL) and 
-ActiveMQ headers are expected in %ACTIVEMQ_HOME%\src\main.
-
-On Windows, buildsdk command tries to copy the msvc*.dll runtime libs from
-C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT
-To override the location for MSCV redistributable libraries, use MSVCRT_HOME.
-
-
-Building, testing and packaging on Linux:
------------------------------------------
-Set up your environment as described above. The following instructions
-assume you have unpacked the source into $HOME/uimacpp-2.X.Y-incubating.
-
-1 Create the GNU automake scripts:
-  Note: This step is only done when building from an SVN extract;
-        it should be skipped when building from a source tarball.
-        The prebuild step requires relatively up-to-date GNU tools
-        GNU automake v1.9.6, autoconf v2.59 and libtool v1.5.24.
-  cd $HOME/uimacpp-2.X.Y-incubating/src
-  make -f Makefile.prebuild
-
-2 Build the UIMA shared library and test routines:
-  cd $HOME/uimacpp-2.X.Y-incubating/src
-  make -f Makefile.unix install
-
-3 Run the test suite:
-  cd $HOME/uimacpp-2.X.Y-incubating/src/test
-  ./fvt.sh
-
-4 Build the documentation:
-  Note: The documentation build requires Doxygen 1.3.6 or later.
-  cd $HOME/uimacpp-2.X.Y-incubating/docs
-  ./builddocs.sh
-
-5 Build the SDK tree:
-  cd $HOME/uimacpp-2.X.Y-incubating
-  ./buildsdk.sh target_dir
-
-6 Package the SDK tarball:
-  cd target_dir
-  tar czf uimacpp-2.X.Y-incubating-bin.tgz uimacpp
-
-
-Building, testing and packaging on Windows:
------------------------------
-Set up your environment as described above. The following instructions
-assume you have unpacked the source into \uimacpp-2.X.Y-incubating.
-
-1 Build the UIMA C++ framework in both release and debug:
-  cd \uimacpp-2.X.Y-incubating\src
-  winmake /build release
-  winmake /build debug
-
-2 Build and run the test suite:
-  cd \uimacpp-2.X.Y-incubating\src\test
-  devenv test.sln /build release
-  fvt
-
-3 Build the documentation:
-  Note: The documentation build requires Doxygen 1.3.6 or later.
-  cd \uimacpp-2.X.Y-incubating\docs
-  builddocs
-
-4 Build the SDK tree:
-  set MSVCRT_HOME to the directory with the msvc*.dll files required.
-  cd \uimacpp-2.X.Y-incubating
-  buildsdk target_dir
-
-5 Package the SDK zipfile by creating a compressed folder of 
-  target_dir\uimacpp into uimacpp-2.X.Y-incubating-bin.zip
-
-
-Building, testing and packaging on Mac OSX:
--------------------------------------------
-Except for one problem with APR, building is the same here as on Linux.
-For the Intel-based Mac OSX machines we have tested with, the APR function
-to dynamically load shared libraries does not respect DYLD_LIBRARY_PATH.
-
-A fix is to patch dso/unix/dso.c as follows:
-
-26a27,31
->#if defined(DSO_USE_DYLD)
->#define DSO_USE_DLFCN
->#undef DSO_USE_DYLD
->#endif
->
-
-
-Building the dependencies: APR, ICU, Xersec-c and Activemq-cpp
---------------------------------------------------------------
-
-Download and build information for these libraries are at:
-  APR      - http://apr.apache.org/
-  ICU      - http://www.icu-project.org/
-  XERCES   - http://xml.apache.org/xerces-c/
-  ACTIVEMQ - http://activemq.apache.org/cms/download.html
-
-For UNIX users that cannot or do not want to install these at
-system root, specify DESTDIR for the install step. For example,
-after building APR, install using:
-
-  DESTDIR=`pwd` make install
-
-On Windows, the only activemq-cpp targets needed by uimacpp are ReleaseDLL and DebugDLL,
- e.g. devenv vs2005-build/vs2005-activemq.vcproj /build ReleaseDLL
-
-Also, the APR library can be built by launching libapr.dsp or by following the
-instructions in Makefile.win.
-
-
-Disclaimer
------------
-
-Apache UIMA is an effort undergoing incubation at The Apache Software
-Foundation (ASF). Incubation is required of all newly accepted projects
-until a further review indicates that the infrastructure, communications,
-and decision making process have stabilized in a manner consistent with
-other successful ASF projects. While incubation status is not necessarily
-a reflection of the completeness or stability of the code, it does
-indicate that the project has yet to be fully endorsed by the ASF.
+

+See the NOTICE file for licensing information.

+

+--------------------------------

+Building the Apache UIMA C++ SDK

+--------------------------------

+

+The Apache UIMA C++ SDK has been built and tested in 32-bit mode

+on Linux systems with gcc versions from 3.2.4 to 4.1.0, on Windows 

+using MSVC version 8, and on MacOSX with gcc version 4.0.1.

+

+64-bit builds have only been tested on Linux with gcc 4.1.0.

+

+

+Setting up the build environment:

+---------------------------------

+UIMACPP has dependencies on APR, ICU, Xerces-C and ActiveMQ-cpp

+libraries.  

+

+On Windows dependent libraries must be specified with the

+environmental parameters APR_HOME, ICU_HOME, XERCES_HOME and

+ACTIVEMQ_HOME.  For now, the ActiveMQ dependency is optional; if not

+specified the UIMA-AS compatible service wrapper deployCppService will

+fail to build.

+

+On Linux, system install of dependencies - APR, ICU, XERCES, ACTIVEMQ 

+will be used if minimum version requirements are met.  They may also

+be specified with the environmental parameters APR_HOME, ICU_HOME, XERCES_HOME and

+ACTIVEMQ_HOME.  ActiveMQ is required.

+

+There is also a dependency on JNI headers from a Java JDK. The build

+looks for these headers in the directory specified by JAVA_INCLUDE.

+A typical setting for JAVA_INCLUDE on Linux or Windows would be

+$JAVA_HOME/include; on MacOSX jni.h and the other headers will be in a

+"Headers" directory.

+

+On Unix, dependent headers are expected under $dependent_HOME/include and

+dependent libraries under $dependent_HOME/lib.

+

+The build of dependent libraries on Windows is less consistent.

+APR libraries are expected in %APR_HOME%\Release. ActiveMQ libraries 

+are in %ACTIVEMQ_HOME%\vs2005-build\ReleaseDLL (or DebugDLL) and 

+ActiveMQ headers are expected in %ACTIVEMQ_HOME%\src\main.

+

+On Windows, buildsdk command tries to copy the msvc*.dll runtime libs from

+C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

+To override the location for MSCV redistributable libraries, use MSVCRT_HOME.

+

+

+Building, testing and packaging on Linux:

+-----------------------------------------

+Set up your environment as described above. The following instructions

+assume you have unpacked the source into $HOME/uimacpp-2.X.Y-incubating.

+

+1 Create the GNU automake scripts:

+  Note: This step is only done when building from an SVN extract;

+        it should be skipped when building from a source tarball.

+        The prebuild step requires relatively up-to-date GNU tools

+        GNU automake v1.9.6, autoconf v2.59 and libtool v1.5.24.

+  cd root of an SVN extract

+  ./autogen.sh

+

+2 Build the UIMA shared library and test routines:

+  cd root of the SVN extract  

+  ./configure --with-jdk=$JAVA_HOME/include --with-apr=$APR_HOME --with-icu=$ICU_HOME --with-xerces=$XERCES_HOME --with-activemq=$ACTIVEMQ_HOME

+  make

+  DESTDIR=`pwd` make install

+3 Build and run the test suite:

+  From root of the SVN extract  

+  make check

+

+4 Build the SDK tree:

+  Requires environmental parameters to be set for ICU_HOME, XERCES_HOME, APR_HOME, and ACTIVEMQ_HOME.

+  From root of the SVN extract  

+  make sdk ARGS=target_dir

+  This will build the documentation.

+  Note: The documentation build requires Doxygen 1.3.6 or later.

+

+5 Package the SDK tarball:

+  cd target_dir/..

+  tar czf uimacpp-2.X.Y-bin.tgz uimacpp

+

+6 Build source tarball:

+  From root of the SVN extract  

+  make dist

+

+

+Building, testing and packaging on Windows:

+-----------------------------

+Set up your environment as described above. The following instructions

+assume you have unpacked the source into \uimacpp-2.X.Y-incubating.

+

+1 Build the UIMA C++ framework in both release and debug:

+  cd \uimacpp-2.X.Y\src

+  winmake /build release

+  winmake /build debug

+

+2 Build and run the test suite:

+  cd \uimacpp-2.X.Y\src\test

+  devenv test.sln /build release

+  fvt

+

+3 Build the documentation:

+  Note: The documentation build requires Doxygen 1.3.6 or later.

+  cd \uimacpp-2.X.Y\docs

+  builddocs

+

+4 Build the SDK tree:

+  set MSVCRT_HOME to the directory with the msvc*.dll files required.

+  cd \uimacpp-2.X.Y

+  buildsdk target_dir

+

+5 Package the SDK zipfile by creating a compressed folder of 

+  target_dir\uimacpp into uimacpp-2.X.Y-bin.zip

+

+

+Building, testing and packaging on Mac OSX:

+-------------------------------------------

+Except for one problem with APR, building is the same here as on Linux.

+For the Intel-based Mac OSX machines we have tested with, the APR function

+to dynamically load shared libraries does not respect DYLD_LIBRARY_PATH.

+

+A fix is to patch dso/unix/dso.c as follows:

+

+26a27,31

+>#if defined(DSO_USE_DYLD)

+>#define DSO_USE_DLFCN

+>#undef DSO_USE_DYLD

+>#endif

+>

+

+

+Building the dependencies: APR, ICU, Xersec-c and Activemq-cpp

+--------------------------------------------------------------

+

+Download and build information for these libraries are at:

+  APR      - http://apr.apache.org/

+  ICU      - http://www.icu-project.org/

+  XERCES   - http://xml.apache.org/xerces-c/

+  ACTIVEMQ - http://activemq.apache.org/cms/download.html

+

+For UNIX users that cannot or do not want to install these at

+system root, specify DESTDIR for the install step. For example,

+after building APR, install using:

+

+  DESTDIR=`pwd` make install

+

+On Windows, the only activemq-cpp targets needed by uimacpp are ReleaseDLL and DebugDLL,

+ e.g. devenv vs2005-build/vs2005-activemq.vcproj /build ReleaseDLL

+

+Also, the APR library can be built by launching libapr.dsp or by following the

+instructions in Makefile.win.

+

+

+Disclaimer

+-----------

+

+Apache UIMA is an effort undergoing incubation at The Apache Software

+Foundation (ASF). Incubation is required of all newly accepted projects

+until a further review indicates that the infrastructure, communications,

+and decision making process have stabilized in a manner consistent with

+other successful ASF projects. While incubation status is not necessarily

+a reflection of the completeness or stability of the code, it does

+indicate that the project has yet to be fully endorsed by the ASF.