The conan-based configuration for the other platforms is unavailable on AIX, and so the build process is somewhat different. Makefile.aix provides the basis for building the LIL in two modes: GCC and xlC. The GCC build creates statsdsw-gcc630.lil and builds with C++11 (as do the other platforms, while the xlC build does not use C++11 and instead uses a compatibility layer.
The build has several prerequisites:
-
An IIB installation
Set IIB_INSTALL_LOCATION at the top of the file to point to a local installation of IIB 10.
-
Boost 1.60
Set BOOST_LOCATION to point to the root of a downloaded and unzipped boost source tree. Downloads available from http://www.boost.org/users/history/version_1_60_0.html and no building is needed, as the source files are pulled in by Makefile.aix.
-
IBM XL C++ 13 (for xlC builds)
Set XLC_LOCATION to the base install path for the xlC installation.
-
GCC 6.3.0 (for GCC builds)
Downloadable from various sources including http://www.oss4aix.org/download/RPMS/gcc/ but not supported official by IBM. Choose the correct RPM for your AIX version, and install the compiler plus any prerequisite RPMs. Ensure that /opt/freeware/bin in included in the PATH environment variable.
-
GoogleTest (for unit testing)
Downloadable from various sources including https://github.com/google/googletest/releases but not supported official by IBM. The code has most recently been tested with release 1.8.0 but should work with any recent level; set GTEST_SOURCE_LOCATION to point to the root of the unzipped download, as no building is needed.
The key operational difference between the two LILs is that the GCC-built LIL requires extra libraries to be installed for GCC support; libstdc++-6.3.0 and libgcc-6.3.0 must be installed from RPMs on any system on which the LIL is to be used. The xlC-built LIL needs no extra libraries. See README.md in prebuilt/aix-7.1 for more details.
Once Makefile.aix has been customised (along with test/Makefile.aix), then running the appropriate target using make -f Makefile.aix test-all
(if both compilers are available), or one of make -f Makefile.aix test-gcc
(for GCC only) and make -f Makefile.aix test-xlC
(for xlC only) if only one compiler is available.