diff options
author | Jia Tan <jiat0218@gmail.com> | 2023-10-14 12:17:57 +0800 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2023-10-18 23:54:36 +0800 |
commit | 8c0f9376f58c0696d5d6719705164d35542dd891 (patch) | |
tree | 104f3471d2ecd77b25314e67fdef743fcecbe193 /CMakeLists.txt | |
parent | liblzma: Define CRC_USE_IFUNC in crc_common.h. (diff) | |
download | xz-8c0f9376f58c0696d5d6719705164d35542dd891.tar.xz |
liblzma: Create crc_clmul.c.
Both crc32_clmul() and crc64_clmul() are now exported from
crc32_clmul.c as lzma_crc32_clmul() and lzma_crc64_clmul(). This
ensures that is_clmul_supported() (now lzma_is_clmul_supported()) is
not duplicated between crc32_fast.c and crc64_fast.c.
Also, it encapsulates the complexity of the CLMUL implementations into a
single file and reduces the complexity of crc32_fast.c and crc64_fast.c.
Before, CLMUL code was present in crc32_fast.c, crc64_fast.c, and
crc_common.h.
During the conversion, various cleanups were applied to code (thanks to
Lasse Collin) including:
- Require using semicolons with MASK_/L/H/LH macros.
- Variable typing and const handling improvements.
- Improvements to comments.
- Fixes to the pragmas used.
- Removed unneeded variables.
- Whitespace improvements.
- Fixed CRC_USE_GENERIC_FOR_SMALL_INPUTS handling.
- Silenced warnings and removed the need for some #pragmas
Diffstat (limited to '')
-rw-r--r-- | CMakeLists.txt | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ecbb7b2d..6e3cd6f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -845,7 +845,11 @@ if(HAVE_IMMINTRIN_H) int main(void) { return 0; } " HAVE_USABLE_CLMUL) - tuklib_add_definition_if(liblzma HAVE_USABLE_CLMUL) + + if(HAVE_USABLE_CLMUL) + target_sources(liblzma PRIVATE src/liblzma/check/crc_clmul.c) + target_compile_definitions(liblzma PRIVATE HAVE_USABLE_CLMUL) + endif() endif() # Support -fvisiblity=hidden when building shared liblzma. |