====================================================================== REQUIREMENTS ====================================================================== Before installing, please make sure that you have already installed the following packages: * autoconf * bison * build-essential * cmake * flex * git * libboost-dev * libboost-system-dev * libgmp-dev * liblapack-dev * libtool * ninja-build * texi2html * texinfo ====================================================================== BUILD ====================================================================== $mkdir build $cd build $cmake .. $make The APOLLO binaries are generated in the bin folder located at the root of build folder. ===== Parallel build ===== By default APOLLO will be built using a single job when running make. To enable parallel build you must specify the NB_JOBS variable when running cmake: $cmake -DNB_JOBS=8 .. ===== Debug build ===== By default APOLLO will be built in release mode. To enable debug build you must specify the CMAKE_BUILD_TYPE variable when running cmake: $cmake -DCMAKE_BUILD_TYPE=Debug .. In addition to the inclusion of debug symbols, the debug version allows the APOLLO compiler to print information about the performed transformations: $apolloc -mllvm -debug-only=apollo-pass-0 $apolloc -mllvm -debug-only=apollo-pass-1 Note that llvm is alawys built in Release mode even if APOLLO is built in Debug mode. This is done because compiling LLVM (with clang) in Debug mode requires a LOT of memory and time and because APOLLO should not need to debug into LLVM. Nevertheless, to ease the debugging of APOLLO, mainly to understand wrong usage of the LLVM API, we enable LLVM assertion when APOLLO is built in Debug mode. ====================================================================== INSTALL ====================================================================== To install a previous build, just go to the folder where APOLLO has been built and run: $make install By default APOLLO is installed in /usr/local. If you want to specify an other installation place, set the CMAKE_INSTALL_PREFIX variable when running cmake: $cmake -DCMAKE_INSTALL_PREFIX= .. The installation step consists simply in copying the 3 APOLLO tools in /bin: - apolloc - apolloc++ - apolloopt These 3 tools are shell scripts pointing to binaries and libraries located in the folder where APOLLO has been built. As consequence, this built folder should not be deleted as long as the APOLLO tools are installed. To uninstall APOLLO, you can use the following command and then delete the build folder: $make uninstall