summaryrefslogtreecommitdiffstats
path: root/storage/maria/libmarias3/docs/introduction/compiling.rst
diff options
context:
space:
mode:
Diffstat (limited to 'storage/maria/libmarias3/docs/introduction/compiling.rst')
-rw-r--r--storage/maria/libmarias3/docs/introduction/compiling.rst79
1 files changed, 79 insertions, 0 deletions
diff --git a/storage/maria/libmarias3/docs/introduction/compiling.rst b/storage/maria/libmarias3/docs/introduction/compiling.rst
new file mode 100644
index 00000000..b0ad3b4b
--- /dev/null
+++ b/storage/maria/libmarias3/docs/introduction/compiling.rst
@@ -0,0 +1,79 @@
+Compiling libMariaS3
+====================
+
+libMariaS3 is designed to be compiled with GCC or CLang on a modern Linux distrubition or Mac OSX.
+
+Prerequisites
+-------------
+
+libMariaS3 requires *libcurl 7.x* and *libxml2* to be installed. For RPM based distributions this can be installed using:
+
+.. code-block:: bash
+
+ sudo dnf install libcurl-devel libxml2-devel
+
+Building
+--------
+
+On most systems you can use the following commands, this is especially useful for customising your install::
+
+ autoreconf -fi
+ ./configure
+ make
+ make install
+
+The build system will automatically detect how many processor cores you have (physicaly and virtual) and set the ``--jobs`` options of make accordingly.
+
+Testing
+-------
+
+libMariaS3 comes with a basic test suite which we recommend executing, especially if you are building for a new platform.
+
+You will need the following OS environment variables set to run the tests:
+
++------------+----------------------------------------------------------+
+| Variable | Desription |
++============+==========================================================+
+| S3KEY | Your AWS access key |
++------------+----------------------------------------------------------+
+| S3SECRET | Your AWS secret key |
++------------+----------------------------------------------------------+
+| S3REGION | The AWS region (for example us-east-1) |
++------------+----------------------------------------------------------+
+| S3BUCKET | The S3 bucket name |
++------------+----------------------------------------------------------+
+| S3HOST | OPTIONAL hostname for non-AWS S3 service |
++------------+----------------------------------------------------------+
+| S3NOVERIFY | Set to ``1`` if the host should not use SSL verification |
++------------+----------------------------------------------------------+
+
+The test suite is automatically built along with the library and can be executed with ``make check`` or ``make distcheck``. If you wish to test with valgrind you can use::
+
+ TESTS_ENVIRONMENT="./libtool --mode=execute valgrind --error-exitcode=1 --leak-check=yes --track-fds=yes --malloc-fill=A5 --free-fill=DE" make check
+
+Building RPMs
+-------------
+
+The build system for libMariaS3 has the capability to build RPMs. To build RPMs simply do the following:
+
+.. code-block:: bash
+
+ autoreconf -fi
+ ./configure
+ make dist-rpm
+
+.. note::
+ The package ``redhat-rpm-config`` is required for building the RPM because this generates the debuginfo RPM.
+
+Building DEBs
+-------------
+
+Debian packages for libMariaS3 can be built using the standard ``dpkg-buildpackage`` tool as follows:
+
+.. code-block:: bash
+
+ autoreconf -fi
+ dpkg-buildpackage
+
+.. note::
+ You may need to add ``--no-sign`` to dpkg-buildpackage to build unsigned packages.