-
Notifications
You must be signed in to change notification settings - Fork 51
Building
There are two ways of building uMurmur.
- CMake
- GNU Autotools (deprecated and will be removed in a future release)
Whichever way you choose, there are some dependencies that need to be installed in order to successfully build uMurmur.
The following libraries are required:
- libconfig
- libprotobuf-c at least version 1.0.0
And one of:
To build uMurmur using CMake, at least CMake version 3.10 is required. If you are new to CMake, it is good practice to build the product 'out-of-tree'. In the following instructions, it is assumed you are starting inside your clone of the uMurmur repository.
$ cmake -B builddir -H . -D SSL=mbedtls # Build against the Mbed TLS library instead of OpenSSL, the default
$ ccmake builddir # Optionally set other options interactively
$ cmake --build builddir
$ sudo cmake --install builddir
There are some configuration options you might be interested in setting:
-DSSL=[openssl|mbedtls|gnutls]
Select the TLS backend. The default is openssl.
-DUSE_SHAREDMEMORY_API=[On|Off]
Enables/Disables the SharedMemory API. The default is Off.
-DUSE_MBEDTLS_TESTCERT=[On|Off]
Use the mbedTLS testing certificate. The default is Off.
-DUSE_MBEDTLS_HAVEGE=[On|Off]
Use the mbedTLS HAVEGE random number generator. The default is Off.
-DBUILD_UMURMUR_MONITOR=[On|Off]
Build the umurmur-monitor utility. The default is Off.
Please note that if you would like to build the umurmur-monitor utility, you would need to either use the
--recursive
option when cloning uMurmur or supply
-DUMURMUR_MONITOR_SOURCE_DIR=<path-to-umurmur-monitor-clone>`
where <path-to-umurmur-monitor-clone>
should be replaced with the patch to the cloned source code of umurmur-monitor
Building with GNU Autotools is no longer supported, and the option to do so will be removed entirely in a future release. We strongly recommend that you build with cmake instead.
Make sure you have GNU Autotools installed. Afterwards you can use the following commands to build a default configuration of uMurmur:
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
You can supply different configuration options to the configure
script (use configure --help
for all options):
--with-ssl=[openssl|gnutls|mbedtls]
Selects the TLS backend. The default selection is openssl
--enable-shmapi
Enables the SharedMemory API to use with tools like umurmur-monitor
--enable-mbedtls-test-cert
Use the mbedTLS testing certificate. !!!NOT INTENDED FOR PRODUCTION!!!
--enable-mbedtls-havege
Use the mbedTLS HAVEGE random number generator.