From de42e01e90a7c1c067b56d2122e6bbab9471b29e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Kn=C3=A1pek?= Date: Sat, 6 Apr 2024 08:02:55 +0200 Subject: [PATCH] Improve usage of mk_clib. - Rename to mk_clib everywhere. - No need to use extern "C". - Start using header only style. - No need to specify global namespace. - No need to initialize variables. - No need to compile source since using header only. - Update to newer version in order to fix ARM build. --- CMakeLists.txt | 2 +- Modules/Crypto/CMakeLists.txt | 2 +- Modules/Crypto/Source/Crypto.cpp | 89 ++++---- cmake/FindMkCLib.cmake | 364 ------------------------------- cmake/Findmk_clib.cmake | 140 ++++++++++++ 5 files changed, 186 insertions(+), 411 deletions(-) delete mode 100644 cmake/FindMkCLib.cmake create mode 100644 cmake/Findmk_clib.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index c8876a1..dd10b5e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,7 +97,7 @@ else() set(CMAKE_INTERPROCEDURAL_OPTIMIZATION True) endif() -find_package(MkCLib REQUIRED) +find_package(mk_clib REQUIRED) if(PWN_DISASSEMBLE_X86) find_package(Zydis REQUIRED) diff --git a/Modules/Crypto/CMakeLists.txt b/Modules/Crypto/CMakeLists.txt index b9555ed..26a7c8e 100644 --- a/Modules/Crypto/CMakeLists.txt +++ b/Modules/Crypto/CMakeLists.txt @@ -13,7 +13,7 @@ add_library(${PROJECT_NAME} STATIC ${PWN_CRYPTO_SOURCE_FILES}) add_library(PWN::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) target_include_directories(${PROJECT_NAME} PUBLIC ${INTERFACE_DIR} PRIVATE ${HEADER_DIR}) target_compile_definitions(${PROJECT_NAME} PUBLIC) -target_link_libraries(${PROJECT_NAME} PUBLIC PWN::Common PWN::Deps::MkClib::Crypto) +target_link_libraries(${PROJECT_NAME} PUBLIC PWN::Common PWN::Deps::mk_clib::Crypto) install(DIRECTORY ${INTERFACE_DIR} DESTINATION ${CMAKE_PROJECT_NAME}) diff --git a/Modules/Crypto/Source/Crypto.cpp b/Modules/Crypto/Source/Crypto.cpp index be7d597..ebaece7 100644 --- a/Modules/Crypto/Source/Crypto.cpp +++ b/Modules/Crypto/Source/Crypto.cpp @@ -2,15 +2,14 @@ #include "Handle.hpp" #include "Log.hpp" -extern "C" -{ + +#define mk_lang_jumbo_want 1 #include "mk_lib_crypto_hash_stream_md2.h" #include "mk_lib_crypto_hash_stream_md4.h" #include "mk_lib_crypto_hash_stream_md5.h" #include "mk_lib_crypto_hash_stream_sha1.h" #include "mk_lib_crypto_hash_stream_sha2_256.h" #include "mk_lib_crypto_hash_stream_sha2_512.h" -} using namespace pwn; @@ -82,89 +81,89 @@ Crypto::CRC64(std::vector const& data) PWNAPI auto Crypto::MD2(std::vector const& data) -> std::array { - std::array hash {}; - mk_lib_crypto_hash_stream_md2_t hasher {}; - mk_lib_crypto_hash_block_md2_digest_t digest {}; + std::array hash; + mk_lib_crypto_hash_stream_md2_t hasher; + mk_lib_crypto_hash_block_md2_digest_t digest; - ::mk_lib_crypto_hash_stream_md2_init(&hasher); - ::mk_lib_crypto_hash_stream_md2_append(&hasher, data.data(), data.size()); - ::mk_lib_crypto_hash_stream_md2_finish(&hasher, &digest); + mk_lib_crypto_hash_stream_md2_init(&hasher); + mk_lib_crypto_hash_stream_md2_append(&hasher, data.data(), data.size()); + mk_lib_crypto_hash_stream_md2_finish(&hasher, &digest); - ::memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); + memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); return hash; } PWNAPI auto Crypto::MD4(std::vector const& data) -> std::array { - std::array hash {}; - mk_lib_crypto_hash_stream_md4_t hasher {}; - mk_lib_crypto_hash_block_md4_digest_t digest {}; + std::array hash; + mk_lib_crypto_hash_stream_md4_t hasher; + mk_lib_crypto_hash_block_md4_digest_t digest; - ::mk_lib_crypto_hash_stream_md4_init(&hasher); - ::mk_lib_crypto_hash_stream_md4_append(&hasher, data.data(), data.size()); - ::mk_lib_crypto_hash_stream_md4_finish(&hasher, &digest); + mk_lib_crypto_hash_stream_md4_init(&hasher); + mk_lib_crypto_hash_stream_md4_append(&hasher, data.data(), data.size()); + mk_lib_crypto_hash_stream_md4_finish(&hasher, &digest); - ::memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); + memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); return hash; } PWNAPI auto Crypto::MD5(std::vector const& data) -> std::array { - std::array hash {}; - mk_lib_crypto_hash_stream_md5_t hasher {}; - mk_lib_crypto_hash_block_md5_digest_t digest {}; + std::array hash; + mk_lib_crypto_hash_stream_md5_t hasher; + mk_lib_crypto_hash_block_md5_digest_t digest; - ::mk_lib_crypto_hash_stream_md5_init(&hasher); - ::mk_lib_crypto_hash_stream_md5_append(&hasher, data.data(), data.size()); - ::mk_lib_crypto_hash_stream_md5_finish(&hasher, &digest); + mk_lib_crypto_hash_stream_md5_init(&hasher); + mk_lib_crypto_hash_stream_md5_append(&hasher, data.data(), data.size()); + mk_lib_crypto_hash_stream_md5_finish(&hasher, &digest); - ::memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); + memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); return hash; } PWNAPI auto Crypto::SHA1(std::vector const& data) -> std::array { - std::array hash {}; - mk_lib_crypto_hash_stream_sha1_t hasher {}; - mk_lib_crypto_hash_block_sha1_digest_t digest {}; + std::array hash; + mk_lib_crypto_hash_stream_sha1_t hasher; + mk_lib_crypto_hash_block_sha1_digest_t digest; - ::mk_lib_crypto_hash_stream_sha1_init(&hasher); - ::mk_lib_crypto_hash_stream_sha1_append(&hasher, data.data(), data.size()); - ::mk_lib_crypto_hash_stream_sha1_finish(&hasher, &digest); + mk_lib_crypto_hash_stream_sha1_init(&hasher); + mk_lib_crypto_hash_stream_sha1_append(&hasher, data.data(), data.size()); + mk_lib_crypto_hash_stream_sha1_finish(&hasher, &digest); - ::memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); + memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); return hash; } PWNAPI auto Crypto::SHA256(std::vector const& data) -> std::array { - std::array hash {}; - mk_lib_crypto_hash_stream_sha2_256_t hasher {}; - mk_lib_crypto_hash_block_sha2_256_digest_t digest {}; + std::array hash; + mk_lib_crypto_hash_stream_sha2_256_t hasher; + mk_lib_crypto_hash_block_sha2_256_digest_t digest; - ::mk_lib_crypto_hash_stream_sha2_256_init(&hasher); - ::mk_lib_crypto_hash_stream_sha2_256_append(&hasher, data.data(), data.size()); - ::mk_lib_crypto_hash_stream_sha2_256_finish(&hasher, &digest); + mk_lib_crypto_hash_stream_sha2_256_init(&hasher); + mk_lib_crypto_hash_stream_sha2_256_append(&hasher, data.data(), data.size()); + mk_lib_crypto_hash_stream_sha2_256_finish(&hasher, &digest); - ::memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); + memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); return hash; } PWNAPI auto Crypto::SHA512(std::vector const& data) -> std::array { - std::array hash {}; - mk_lib_crypto_hash_stream_sha2_512_t hasher {}; - mk_lib_crypto_hash_block_sha2_512_digest_t digest {}; + std::array hash; + mk_lib_crypto_hash_stream_sha2_512_t hasher; + mk_lib_crypto_hash_block_sha2_512_digest_t digest; - ::mk_lib_crypto_hash_stream_sha2_512_init(&hasher); - ::mk_lib_crypto_hash_stream_sha2_512_append(&hasher, data.data(), data.size()); - ::mk_lib_crypto_hash_stream_sha2_512_finish(&hasher, &digest); + mk_lib_crypto_hash_stream_sha2_512_init(&hasher); + mk_lib_crypto_hash_stream_sha2_512_append(&hasher, data.data(), data.size()); + mk_lib_crypto_hash_stream_sha2_512_finish(&hasher, &digest); - ::memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); + memcpy(hash.data(), reinterpret_cast(&digest), hash.size()); return hash; } diff --git a/cmake/FindMkCLib.cmake b/cmake/FindMkCLib.cmake deleted file mode 100644 index 3f3ce7e..0000000 --- a/cmake/FindMkCLib.cmake +++ /dev/null @@ -1,364 +0,0 @@ -include(FetchContent) - -FetchContent_Declare( - Deps_Mk_Clib - GIT_REPOSITORY https://github.com/hugsy/mk_clib - GIT_TAG 25435c8fd6d30330c43c589ea01859a6984d7f87 -) -FetchContent_MakeAvailable(Deps_Mk_Clib) - -message(STATUS "Using MkCLib in '${deps_mk_clib_SOURCE_DIR}'") - -set(MK_CLIB_SOURCE_DIR ${deps_mk_clib_SOURCE_DIR}/mk_clib/src) - -find_program( - M4_EXECUTABLE m4 - HINTS - "C:/Program Files (x86)/GnuWin32/bin" - "/usr/bin" -) -if(NOT M4_EXECUTABLE) - message(FATAL_ERROR "m4 macro processor not found") -endif() - -set(MK_CLIB_SOURCE_M4_H - ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defd.h - ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defu.h - ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_filec.h - ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_fileh.h - ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defd.h - ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defu.h - ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_filec.h - ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_fileh.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_128.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_192.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_256.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_128.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_192.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_256.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_serpent.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_128.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_192.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_256.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_serpent.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_128.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_192.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_256.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_serpent.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_128.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_192.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_256.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_serpent.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_128.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_192.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_256.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_serpent.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_128.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_192.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_256.h - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_serpent.h -) - -# add_custom_target( -# Deps_Mk_Clib_Crypto_M4PreBuild -# WORKING_DIRECTORY ${MK_CLIB_SOURCE_DIR} -# DEPENDS ${MK_CLIB_SOURCE_M4_H} -# ) - -add_custom_command( - OUTPUT ${MK_CLIB_SOURCE_M4_H} - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defd.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defd.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defu.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defu.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_filec.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_filec.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_fileh.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_fileh.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defd.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defd.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defu.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defu.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_filec.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_filec.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_fileh.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_fileh.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_128.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_192.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_256.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_128.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_192.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_256.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_serpent.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_128.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_192.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_256.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_serpent.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_128.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_192.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_256.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_serpent.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_128.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_192.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_256.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_serpent.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_128.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_192.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_256.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_serpent.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_128.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_192.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_256.h - COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_serpent.h - WORKING_DIRECTORY ${MK_CLIB_SOURCE_DIR} -) - -set(MK_CLIB_SOURCE_FILES - ${MK_CLIB_SOURCE_DIR}/mk_lang_alignof_test.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_bi_info.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_bi_test.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_example.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_check.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_clobber.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_cpuid.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_crash.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_exception_data.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_exception_out_of_memory.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_exception_test.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_exception.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_limits_test.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_num_longdivmod_fuzz_bui.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_num_longdivmod_fuzz_cui.c - ${MK_CLIB_SOURCE_DIR}/mk_lang_sizeof_test.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_aes_fuzz.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_base.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_serpent.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_app.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_gapp.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake2b_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake2b_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake2b_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake2b_base.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake2s_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake2s_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake2s_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake2s_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake2s_base.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_blake3.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_md2.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_md4.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_md5.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha0.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha1.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha1c.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2_512_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2_512_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2_base_32bit.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2_base_64bit.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2c_base_32bit.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha3_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha3_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha3_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha3_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha3_base.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_streebog_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_streebog_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_streebog_base.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_tiger_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_tiger_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_tiger_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_tiger_base.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_tiger2_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_tiger2_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_tiger2_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_whirlpool.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake2b_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake2b_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake2b_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake2b_base.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake2s_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake2s_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake2s_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake2s_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake2s_base.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_blake3.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_md2.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_md4.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_md5.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha0.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha1.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha1c.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha2_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha2_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha2_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha2_512_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha2_512_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha2_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha3_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha3_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha3_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha3_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_streebog_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_streebog_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_tiger_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_tiger_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_tiger_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_tiger2_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_tiger2_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_tiger2_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_whirlpool.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf1_md2.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf1_md5.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf1_sha1.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf1_sha1c.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf1.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_blake2b_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_blake2b_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_blake2b_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_blake2s_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_blake2s_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_blake2s_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_blake2s_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_blake3.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_md2.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_md4.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_md5.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha0.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha1.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha1c.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha2_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha2_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha2_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha2_512_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha2_512_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha2_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha3_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha3_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha3_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha3_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_streebog_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_streebog_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_tiger_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_tiger_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_tiger_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_tiger2_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_tiger2_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_tiger2_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_whirlpool.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_blake2b_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_blake2b_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_blake2b_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_blake2s_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_blake2s_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_blake2s_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_blake2s_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_blake3.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_md2.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_md4.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_md5.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha0.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha1.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha1c.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha2_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha2_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha2_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha2_512_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha2_512_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha2_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha3_224.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha3_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha3_384.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha3_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_streebog_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_streebog_512.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_tiger_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_tiger_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_tiger_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_tiger2_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_tiger2_160.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_tiger2_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_whirlpool.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_serpent.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_serpent.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_serpent.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_serpent.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_serpent.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_192.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_serpent.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_padding_iso9797pm2.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_padding_pkcs7.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_serpent_fuzz.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_xof_block_shake_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_xof_block_shake_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_xof_stream_shake_128.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_xof_stream_shake_256.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_flt_analyzer_double.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_flt_analyzer_float.c - ${MK_CLIB_SOURCE_DIR}/mk_lib_fmt.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_buffer_lang.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_example.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_flt_fuzz.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_flt.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_mallocator_lang.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_sort_merge_fuzz.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_uint.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_uint1024.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_uint128.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_uint16.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_uint256.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_uint32.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_uint512.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_uint64.c - ${MK_CLIB_SOURCE_DIR}/mk_sl_uint8.c -) - -if(WIN32) - set(MK_CLIB_SOURCE_FILES - ${MK_CLIB_SOURCE_FILES} - ${MK_CLIB_SOURCE_DIR}/mk_win_advapi.c - ${MK_CLIB_SOURCE_DIR}/mk_win_base.c - ${MK_CLIB_SOURCE_DIR}/mk_win_bcrypt.c - ) -endif(WIN32) - -add_library(Deps_Mk_Clib_Crypto STATIC ${MK_CLIB_SOURCE_FILES} ${MK_CLIB_SOURCE_M4_H}) -target_include_directories(Deps_Mk_Clib_Crypto PUBLIC ${MK_CLIB_SOURCE_DIR}) -set_property(TARGET Deps_Mk_Clib_Crypto PROPERTY CXX_STANDARD 23) -target_compile_definitions( - Deps_Mk_Clib_Crypto - PUBLIC mk_lang_jumbo_want=0 - PRIVATE $<$>:NDEBUG> -) -target_compile_features(Deps_Mk_Clib_Crypto PUBLIC cxx_std_23) -# add_dependencies(Deps_Mk_Clib_Crypto Deps_Mk_Clib_Crypto_M4PreBuild) -add_library(PWN::Deps::MkClib::Crypto ALIAS Deps_Mk_Clib_Crypto) - -# -# Architecture specific -# -target_sources( - Deps_Mk_Clib_Crypto - PRIVATE - $<$:${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha1x86.c> - $<$:${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_block_sha2x86_base_32bit.c> - $<$:${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_hash_stream_sha1x86.c> - $<$:${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf1_sha1x86.c> - $<$:${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_kdf_pbkdf2_sha1x86.c> - $<$:${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mac_hmac_sha1x86.c> -) diff --git a/cmake/Findmk_clib.cmake b/cmake/Findmk_clib.cmake new file mode 100644 index 0000000..5b45e7a --- /dev/null +++ b/cmake/Findmk_clib.cmake @@ -0,0 +1,140 @@ +include(FetchContent) + +FetchContent_Declare( + deps_mk_clib + GIT_REPOSITORY https://github.com/MarekKnapek/mk_clib.git + GIT_TAG 14317ca3a4bad459c7b102a7d2af066e467130f9 +) +FetchContent_MakeAvailable(deps_mk_clib) + +message(STATUS "Using mk_clib in '${deps_mk_clib_SOURCE_DIR}'") + +set(MK_CLIB_SOURCE_DIR ${deps_mk_clib_SOURCE_DIR}/mk_clib/src) + +find_program( + M4_EXECUTABLE m4 + HINTS + "C:/Program Files (x86)/GnuWin32/bin" + "/usr/bin" +) +if(NOT M4_EXECUTABLE) + message(FATAL_ERROR "m4 macro processor not found") +endif() + +set(MK_CLIB_SOURCE_M4_H + ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defd.h + ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defu.h + ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_filec.h + ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_fileh.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_128.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_192.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_256.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_128.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_192.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_256.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_des.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_serpent.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_tdes2.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_tdes3.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_128.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_192.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_256.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_serpent.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_64_des.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_64_tdes2.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_64_tdes3.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_128.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_192.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_256.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_des.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_serpent.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_tdes2.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_tdes3.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_128.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_192.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_256.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_des.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_serpent.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_tdes2.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_tdes3.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_128.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_192.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_256.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_des.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_serpent.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_tdes2.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_tdes3.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_128.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_192.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_256.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_des.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_serpent.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_tdes2.h + ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_tdes3.h + ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defd.h + ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defu.h + ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_filec.h + ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_fileh.h +) + +add_custom_command( + OUTPUT ${MK_CLIB_SOURCE_M4_H} + WORKING_DIRECTORY ${MK_CLIB_SOURCE_DIR} + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defd.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defd.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defu.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_defu.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_filec.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_filec.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_fileh.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lang_bui_inl_fileh.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_128.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_192.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_alg_aes_256.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_128.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_192.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_aes_256.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_des.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_des.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_serpent.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_tdes2.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_tdes2.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_tdes3.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cbc_tdes3.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_128.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_192.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_aes_256.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_128_serpent.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_64_des.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_64_des.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_64_tdes2.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_64_tdes2.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_64_tdes3.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_64_tdes3.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_128.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_192.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_aes_256.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_des.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_des.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_serpent.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_tdes2.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_tdes2.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_tdes3.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_cfb_8_tdes3.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_128.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_192.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_aes_256.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_des.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_des.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_serpent.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_tdes2.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_tdes2.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_tdes3.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ctr_be_tdes3.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_128.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_192.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_aes_256.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_des.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_des.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_serpent.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_tdes2.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_tdes2.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_tdes3.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ecb_tdes3.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_128.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_128.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_192.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_192.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_256.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_aes_256.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_des.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_des.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_serpent.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_serpent.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_tdes2.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_tdes2.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_tdes3.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_lib_crypto_mode_ofb_tdes3.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defd.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defd.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defu.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_defu.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_filec.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_filec.h + COMMAND ${M4_EXECUTABLE} -Q -I ${MK_CLIB_SOURCE_DIR} ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_fileh.h.m4 > ${MK_CLIB_SOURCE_DIR}/mk_sl_cui_inl_fileh.h +) + +add_library(deps_mk_clib_crypto INTERFACE ${MK_CLIB_SOURCE_M4_H}) +target_include_directories(deps_mk_clib_crypto INTERFACE ${MK_CLIB_SOURCE_DIR}) +add_library(PWN::Deps::mk_clib::Crypto ALIAS deps_mk_clib_crypto)