Complete the following steps to build AOCL-Cryptography from source on Linux:
GitHub URL: repo
Clone the repository aocl-crypto.
cd aocl-cryptomkdir buildcd buildRun the configure command
cmake ../using the following options:Table 6.1 AOCL-Cryptography - Linux Options# Option
Description
ALCP_ENABLE_EXAMPLES (ON/OFF)
Compile the example code (default: ON)
CMAKE_BUILD_TYPE (Debug/Release)
Specify the build type (default: Release)
ENABLE_AOCL_UTILS (ON/OFF)
Enable Zen architecture based dynamic dispatch using the AOCL-Utils library (default: ON)
AOCL_UTILS_INSTALL_DIR
AOCL-Utils library installation path. If not provided, the build system picks and compiles aocl-utils from the latest release branch.
OPENSSL_INSTALL_DIR
OpenSSL (3.1.3 through 3.3.0) installation path (if not given, compilation will fail)
CMAKE_INSTALL_PREFIX
AOCL-Cryptography library installation path (Default: CMake default install path)
ALCP_SANITIZE (ON/OFF)
Enable sanitizers in compilation (asan, ubsan, and so on). (Default: OFF)
AOCL_COMPAT_LIBS
Supported values = ipp, openssl/ipp/openssl (Default: “”). Enables compilation of IPP compat and OpenSSL provider libraries. Notes: (1) The IPP header files should be added to the environment variable (working version for IPP is 2021_10.0). (2) OpenSSL provider support is enabled for Cipher (all modes except AES CBC and CCM), Digest (only SHA3 and SHAKE algorithms), CMAC, Poly1305, and RSA Algorithms in 5.2 release. (3) IPP provider support is experimental in 5.2 release.
ALCP_ENABLE_HTML (ON/OFF)
Enable HTML documentation generation (Default: OFF)
ALCP_ENABLE_TESTS (ON/OFF)
Compile AOCL-Crypto Integration Tests (Default: OFF)
ENABLE_TESTS_OPENSSL_API (ON/OFF)
Use OpenSSL API calls in tests and bench (Default: OFF)
ENABLE_TESTS_IPP_API (ON/OFF)
Use IPP CP API calls in tests and bench (Default: OFF)
IPP_INSTALL_DIR
Provide IPPCP installation path (Default: “ “)
ALCP_MEMCHECK_VALGRIND (ON/OFF)
Compile and Run CTEST with valgrind (Default: OFF)
CMAKE_C_COMPILER
Provide full path to C Compiler (Default: Default CC in the environment)
CMAKE_CXX_COMPILER
Provide full path to CXX Compiler (Default: Default CXX in the environment)
ALCP_ENABLE_BENCH (ON/OFF)
Compile AOCL-Crypto Benchmarks (Default: OFF)
ALCP_ENABLE_CIPHER_MULTI_UPDATE (ON/OFF)
Enable multi update for all supported ciphers (Default: OFF)
ALCP_ENABLE_CBC_INPLACE_BUFFER (ON/OFF)
Enable CBC in-place buffer support (Default: OFF)
ALCP_ENABLE_GCM_ALWAYS_COMPUTE_TABLE (ON/OFF)
Enable GCM always compute table for performance uplift (Default: ON). Precomputes table for every encrypt/decrypt update without storage. When disabled, stored precomputed subkeys table is used for next calls if no change in key or iv. ON improves application performance, OFF improves OpenSSL speed and microbenchmarks.
ALCP_ENABLE_DEBUG_LOGGING (ON/OFF)
Enable debug logging from within the CAPIs (Default: OFF)
-G (“Ninja”/ “Unix Makefiles”)
Specify the build system generator (default: “Unix Makefiles”)
make -j$(nproc)make installFor detailed steps on cmake flags and compilation steps on linux, refer to