Commit 35e06c4c for xz
commit 35e06c4c426c6cc3866a9003e87a122eb78bccf2
Author: Lasse Collin <lasse.collin@tukaani.org>
Date: Sat Apr 12 15:31:01 2025 +0300
CMake: Don't check for optreset if using replacement getopt_long
If <getopt.h> had optreset but not getopt_long, xz used optreset while
the replacement getopt_long doesn't support optreset. I'm not aware of
any relevant system where bug is possible. Autotools build didn't have
this bug.
Fixes: af66cd585902 ("CMake: Add support for replacement getopt_long (lib/getopt*).")
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 32506cdd..a4a37956 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2171,8 +2171,10 @@ this many MiB of RAM if xz cannot determine the amount at runtime")
tuklib_progname(xz)
tuklib_mbstr(xz)
- check_symbol_exists(optreset getopt.h HAVE_OPTRESET)
- tuklib_add_definition_if(xz HAVE_OPTRESET)
+ if(HAVE_GETOPT_LONG)
+ check_symbol_exists(optreset getopt.h HAVE_OPTRESET)
+ tuklib_add_definition_if(xz HAVE_OPTRESET)
+ endif()
check_symbol_exists(posix_fadvise fcntl.h HAVE_POSIX_FADVISE)
tuklib_add_definition_if(xz HAVE_POSIX_FADVISE)