Update BUILD to reflect the dev package option
[ric-plt/lib/rmr.git] / BUILD
diff --git a/BUILD b/BUILD
index adae2f1..811490d 100644 (file)
--- a/BUILD
+++ b/BUILD
@@ -1,6 +1,6 @@
 #
 #==================================================================================
-#       Copyright (c) 2019 Nokia 
+#       Copyright (c) 2019 Nokia
 #       Copyright (c) 2018-2019 AT&T Intellectual Property.
 #
 #   Licensed under the Apache License, Version 2.0 (the "License");
@@ -40,12 +40,54 @@ To build RMr, the usual CMake steps are followed:
        cmake .. [options]
        make package
 
+
 This will create a .deb (provided the system supports this) in
 the build directory.  It's that simple.
 
-Continuous integration build 
+The following flags may be given on the 'cmake' command line
+(options) which are outside of "normal" CMake flags and affect
+the configuration:
+
+  -DBUILD_DOC=1         Man pages generated
+  -DDEV_PKG=1                  Development package configuration
+  -DMAN_PREFIX=<path>  Supply a path where man pages are installed (default: /usr/share/man)
+  -DPACK_EXTERNALS=1   Include external libraries used to build in the run-time package
+  -DPRESERVE_PTYPE=1   Do not change the processor type when naming deb packages
+  -DSKIP_EXTERNALS=1   Do not use Nano/NNG submodules when building; uee installed packages
+
+
+Packages
+The build can be configured to generate either a run-time or
+development package. The run-time generation is the default and
+the -DDEV_PKG=1 option must be given to generate the development
+package.  The run-time package contains only the shared library
+files (*.so), and the development package contains the headers,
+man pages (if the man option is set) and archive (.a) files.
+Resulting package names are illustrated in the CI section below.
+
+
+Continuous Integration Build
 Use the Dockerfile in the ci/ subdirectory. This installs all
-the required tools and creates an image in the local registry.
+the required tools, then builds RMr and executes the unit and
+programm tests. If tests pass, then  an image is created in the
+local registry with both run-time and development packages.
+
+To support the distribution of package(s) created during the
+build by the CI process,  a YAML file is left in the /tmp
+directory (build_packages.yml) which contains a list of the
+packages available from the image.  Currently, both .deb and
+.rpm packages are generated.
+
+The following is a sample YAML file generated during this process:
+
+   ---
+   files:
+     - /tmp/rmr-dev_1.0.34_x86_64.deb
+     - /tmp/rmr-dev-1.0.34-x86_64.rpm
+     - /tmp/rmr_1.0.34_x86_64.deb
+     - /tmp/rmr-1.0.34-x86_64.rpm
+   ...
+
 
 
 Alternatives
@@ -70,7 +112,7 @@ NOT built as the required tool has yet to be incorporated into
 the build process and generally is not available on most systems.
 
 
-Compiling and Linking
+Compiling and Linking User Applications
 Should the Rmr and NNG/Nano libraries be installed in a directory
 outside of the normal system spots (e.g. not in /usr/local)
 it might be necessary to define the specific directory for
@@ -91,7 +133,7 @@ a different spot (e.g. in $HOME/usr):
 
 Libraries
 RMr supports both NNG and Nanomsg as underlying transport. They
-are separate beasts, and while an NNG based programme can
+are separate beasts, and while an NNG based program can
 communicate with a Nanomsg based programme, their APIs are NOT
 compatible.  For this reason, and others, RMr generates two
 libraries and requires that the underlying transport be selected
@@ -118,3 +160,5 @@ and will trigger the generation of the man pages in both postscript
 and troff format.  The troff pages are placed into the deb and
 the postscript pages are left in the build directory for the
 developer to convert to PDF, or otherwise use.
+
+