Skip to content

Building Aeron

Michael Barker edited this page Mar 9, 2023 · 3 revisions

Java Build

Build the project with Gradle using this build.gradle file.

You will require the Java 8+ to build Aeron:

  • JDK 8 or later, Java versions before 1.8.0_65 are very buggy and can cause tests to fail.

Full clean and build of all modules

    $ ./gradlew

C++ Build

You require the following to build the C++ API for Aeron:

  • 3.6.1 or higher of CMake
  • C++11 supported compiler for the supported platform
  • C11 supported compiler for the supported platform
  • Requirements to build HdrHistogram_c.
  • JDK 8 or later to compile the SBE schema definitions used by the archive client and run the system tests.

Note: Aeron support is available for 64-bit Linux, OSX, and Windows.

For convenience, the cppbuild script does a full clean, build, and test of all targets as a Release build.

    $ ./cppbuild/cppbuild

For those comfortable with CMake - then a clean, build, and test looks like:

    $ mkdir -p cppbuild/Debug
    $ cd cppbuild/Debug
    $ cmake -DCMAKE_BUILD_TYPE=Debug ../..
    $ cmake --build . --clean-first
    $ ctest

C Media Driver

By default, the C Media Driver is built as part of the C++ Build. However, it can be disabled via the CMake option BUILD_AERON_DRIVER being set to OFF.

Note: C Media Driver is supported on Mac and Linux, the Windows version is experimental.

For dependencies and other information, see the README.

Documentation

If you have doxygen installed and want to build the Doxygen doc, there is a nice doc target that can be used.

    $ make doc

Packaging

If you would like a packaged version of the compiled API, there is the package target that uses CPack. If the doc has been built previous to the packaging, it will be included. Packages created are "TGZ;STGZ", but can be changed by running cpack directly.

    $ make package

The Media Driver is packaged by the default build into an application that can be found here

aeron-driver/build/distributions/aeron-driver-${VERSION}.zip