SDL: cmake: don't cache HAVE_xxx variables for checking libc features

From 9d7e4a7d6e94123f07b8e3136b5fa940c2dd3317 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Sat, 26 Nov 2022 01:56:22 +0100
Subject: [PATCH] cmake: don't cache HAVE_xxx variables for checking libc
 features

---
 CMakeLists.txt | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ba775cc9aad6..23b528939765 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1068,9 +1068,11 @@ if(SDL_LIBC)
       list(APPEND headers_to_check libunwind.h)
     endif()
     foreach(_HEADER ${headers_to_check})
-      string(TOUPPER "HAVE_${_HEADER}" _UPPER)
-      string(REGEX REPLACE "[./]" "_" _HAVE_H ${_UPPER})
-      check_include_file("${_HEADER}" ${_HAVE_H})
+      string(TOUPPER "${_HEADER}" HEADER_IDENTIFIER)
+      string(REGEX REPLACE "[./]" "_" HEADER_IDENTIFIER "${HEADER_IDENTIFIER}")
+      set(LIBC_HAS_VAR "LIBC_HAS_${HEADER_IDENTIFIER}")
+      check_include_file("${_HEADER}" "${LIBC_HAS_VAR}")
+      set(HAVE_${HEADER_IDENTIFIER} ${${LIBC_HAS_VAR}})
     endforeach()
     check_include_file(linux/input.h HAVE_LINUX_INPUT_H)
 
@@ -1090,8 +1092,9 @@ if(SDL_LIBC)
             sscanf vsscanf vsnprintf fopen64 fseeko fseeko64 _Exit
             )
       string(TOUPPER ${_FN} _UPPER)
-      set(_HAVEVAR "HAVE_${_UPPER}")
-      check_symbol_exists("${_FN}" "${STDC_HEADER_NAMES}" ${_HAVEVAR})
+      set(LIBC_HAS_VAR "LIBC_HAS_${_UPPER}")
+      check_symbol_exists("${_FN}" "${STDC_HEADER_NAMES}" ${LIBC_HAS_VAR})
+      set(HAVE_${_UPPER} ${${LIBC_HAS_VAR}})
     endforeach()
 
     check_symbol_exists(sigaction "signal.h" HAVE_SIGACTION)
@@ -1112,8 +1115,9 @@ if(SDL_LIBC)
               lround lroundf pow powf round roundf scalbn scalbnf sin sinf sqrt
               sqrtf tan tanf acos acosf asin asinf trunc truncf)
         string(TOUPPER ${_FN} _UPPER)
-        set(_HAVEVAR "HAVE_${_UPPER}")
-        check_symbol_exists("${_FN}" "math.h" ${_HAVEVAR})
+        set(LIBC_HASVAR "LIBC_HAS_${_UPPER}")
+        check_symbol_exists("${_FN}" "math.h" ${LIBC_HASVAR})
+        set(HAVE_${_UPPER} ${${LIBC_HASVAR}})
       endforeach()
       set(CMAKE_REQUIRED_LIBRARIES)
       if(NOT VITA)