summaryrefslogtreecommitdiffstats
path: root/src/libkmip/docs/source/installation.rst
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/libkmip/docs/source/installation.rst101
1 files changed, 101 insertions, 0 deletions
diff --git a/src/libkmip/docs/source/installation.rst b/src/libkmip/docs/source/installation.rst
new file mode 100644
index 000000000..e3e0720ee
--- /dev/null
+++ b/src/libkmip/docs/source/installation.rst
@@ -0,0 +1,101 @@
+Installation
+============
+
+Dependencies
+------------
+Building libkmip requires the following dependencies:
+
+* `OpenSSL 1.1.0`_
+
+These may come installed by default on your target system or they may require
+separate installation procedures. See each individual dependency's
+documentation for more details.
+
+.. _building-libkmip-on-linux:
+
+Building libkmip on Linux
+-------------------------
+You can install libkmip from source via ``git``:
+
+.. code-block:: console
+
+ $ git clone https://github.com/openkmip/libkmip.git
+ $ cd libkmip
+ $ make
+ $ make install
+
+The default build settings will direct ``make`` to install libkmip under
+``/usr/local``, which may require ``sudo`` access. There are several different
+libkmip components that will be installed, including the documentation, the
+source code and header files, the shared library, and the example demo
+applications. The following list defines the default install directories and
+the files that can be found in them:
+
+* ``/usr/local/bin/kmip``
+ Contains demo libkmip applications showing how to use the supported KMIP
+ operations.
+* ``/usr/local/include/kmip``
+ Contains the libkmip header files for use in third-party applications.
+* ``/usr/local/lib/kmip``
+ Contains the libkmip shared library, ``libkmip.so``.
+* ``/usr/local/src/kmip``
+ Contains the libkmip source files.
+* ``/usr/local/share/doc/kmip/src``
+ Contains the libkmip documentation source files.
+* ``/usr/local/share/doc/kmip/html``
+ Contains the libkmip documentation HTML files `if they have have already
+ been built`.
+
+You can override the build defaults when invoking ``make install``. The
+following list defines the build variables used by ``make`` and what their
+default values are:
+
+* ``PREFIX``
+ Defines where libkmip will be installed. Defaults to ``/usr/local``.
+* ``KMIP``
+ Defines the common name of the libkmip subdirectories that will be created
+ under ``PREFIX``. Defaults to ``kmip``.
+* ``DESTDIR``
+ Defines an alternative root of the file system where libkmip will be
+ installed. Used primarily to test the installation process without needing
+ to modify the default values of ``PREFIX`` or ``KMIP``. Defaults to the
+ empty string.
+
+For example, to install libkmip under your home directory, you could use the
+following command:
+
+.. code-block:: console
+
+ $ make PREFIX=$HOME/.local install
+
+This would create all of the normal installation directories (e.g., ``bin``,
+``include``, ``lib``) under ``$HOME/.local`` instead of ``/usr/local``.
+
+To ensure that your system is up-to-date after you install libkmip, make sure
+to run ``ldconfig`` to update the dynamic linker's run-time bindings.
+
+.. code-block:: console
+
+ $ ldconfig
+
+For more information see the project Makefile (insert link here).
+
+Uninstalling libkmip
+--------------------
+You can uninstall libkmip using the provided ``make uninstall`` target:
+
+.. code-block:: console
+
+ $ cd libkmip
+ $ make uninstall
+
+This will simply remove all of the installation directories and files created
+during the above installation process. Like with ``make install``, the default
+build settings will direct ``make`` to remove libkmip from under
+``/usr/local``, which may require ``sudo`` access. If you customize the
+installation settings, be sure to use those same settings when uninstalling.
+
+Like the installation process, run ``ldconfig`` again after uninstall to make
+the dynamic linker is up-to-date.
+
+.. _`OpenSSL 1.1.0`: https://www.openssl.org/docs/man1.1.0/ \ No newline at end of file