Просмотр исходного кода

cmake: Preseed the CMake cache for Haiku OS.

This change drops the configure time on my little Haiku virtual machine from
103 seconds to six.  :)

Fixes #15702.
Ryan C. Gordon 12 часов назад
Родитель
Сommit
c568c46f51
2 измененных файлов с 222 добавлено и 0 удалено
  1. 1 0
      CMakeLists.txt
  2. 221 0
      cmake/PreseedHaikuCache.cmake

+ 1 - 0
CMakeLists.txt

@@ -78,6 +78,7 @@ include("${SDL3_SOURCE_DIR}/cmake/GetGitRevisionDescription.cmake")
 include("${SDL3_SOURCE_DIR}/cmake/3rdparty.cmake")
 include("${SDL3_SOURCE_DIR}/cmake/PreseedMSVCCache.cmake")
 include("${SDL3_SOURCE_DIR}/cmake/PreseedEmscriptenCache.cmake")
+include("${SDL3_SOURCE_DIR}/cmake/PreseedHaikuCache.cmake")
 include("${SDL3_SOURCE_DIR}/cmake/PreseedNokiaNGageCache.cmake")
 include("${SDL3_SOURCE_DIR}/cmake/PreseedDOSCache.cmake")
 

+ 221 - 0
cmake/PreseedHaikuCache.cmake

@@ -0,0 +1,221 @@
+if(HAIKU)
+  function(SDL_Preseed_CMakeCache)
+
+    # Compiler instruction set support...
+    # Note that we don't know what CPU we're targeting when this file is read,
+    # but we know when targeting Intel CPUs, Haiku's compiler always supports
+    # these instruction sets. If you happen to do a PowerPC build, or whatever,
+    # SDL's base CMakeLists.txt just won't check COMPILER_SUPPORTS_MMX, etc, so
+    # it's safe to set these here anyhow.
+
+    # Intel (X86 and X64)
+    set(COMPILER_SUPPORTS_MMX                            "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_MMX")
+    set(COMPILER_SUPPORTS_SSE                            "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE")
+    set(COMPILER_SUPPORTS_SSE2                           "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE2")
+    set(COMPILER_SUPPORTS_SSE3                           "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE3")
+    set(COMPILER_SUPPORTS_SSE4_1                         "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_1")
+    set(COMPILER_SUPPORTS_SSE4_2                         "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_SSE4_2")
+    set(COMPILER_SUPPORTS_AVX                            "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX")
+    set(COMPILER_SUPPORTS_AVX2                           "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX2")
+    set(COMPILER_SUPPORTS_AVX512F                        "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_AVX512F")
+
+    # TODO: other CPU architectures (Haiku has experimental support for ARM and RISC-V, etc, but they aren't as far along as Intel atm.)
+
+    set(HAVE_CLANG_COMMENT_BLOCK_COMMANDS                ""    CACHE INTERNAL "Test HAVE_CLANG_COMMENT_BLOCK_COMMANDS")
+    set(COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR_ALWAYS      "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR_ALWAYS")
+    set(HAVE_ALLOCA_H                                    "1"   CACHE INTERNAL "Have include alloca.h")
+    set(HAVE_LIBM                                        "1"   CACHE INTERNAL "Have library m")
+    set(HAVE_MALLOC                                      "1"   CACHE INTERNAL "Have include malloc.h")
+    set(HAVE_MALLOC_H                                    "1"   CACHE INTERNAL "Have include malloc.h")
+    set(LIBC_HAS_ABS                                     "1"   CACHE INTERNAL "Have symbol abs")
+    set(LIBC_HAS_ACOS                                    "1"   CACHE INTERNAL "Have symbol acos")
+    set(LIBC_HAS_ACOSF                                   "1"   CACHE INTERNAL "Have symbol acosf")
+    set(LIBC_HAS_ASIN                                    "1"   CACHE INTERNAL "Have symbol asin")
+    set(LIBC_HAS_ASINF                                   "1"   CACHE INTERNAL "Have symbol asinf")
+    set(LIBC_HAS_ATAN                                    "1"   CACHE INTERNAL "Have symbol atan")
+    set(LIBC_HAS_ATAN2                                   "1"   CACHE INTERNAL "Have symbol atan2")
+    set(LIBC_HAS_ATAN2F                                  "1"   CACHE INTERNAL "Have symbol atan2f")
+    set(LIBC_HAS_ATANF                                   "1"   CACHE INTERNAL "Have symbol atanf")
+    set(LIBC_HAS_ATOF                                    "1"   CACHE INTERNAL "Have symbol atof")
+    set(LIBC_HAS_ATOI                                    "1"   CACHE INTERNAL "Have symbol atoi")
+    set(LIBC_HAS_BCOPY                                   "1"   CACHE INTERNAL "Have symbol bcopy")
+    set(LIBC_HAS_CALLOC                                  "1"   CACHE INTERNAL "Have symbol calloc")
+    set(LIBC_HAS_CEIL                                    "1"   CACHE INTERNAL "Have symbol ceil")
+    set(LIBC_HAS_CEILF                                   "1"   CACHE INTERNAL "Have symbol ceilf")
+    set(LIBC_HAS_COPYSIGN                                "1"   CACHE INTERNAL "Have symbol copysign")
+    set(LIBC_HAS_COPYSIGNF                               "1"   CACHE INTERNAL "Have symbol copysignf")
+    set(LIBC_HAS_COS                                     "1"   CACHE INTERNAL "Have symbol cos")
+    set(LIBC_HAS_COSF                                    "1"   CACHE INTERNAL "Have symbol cosf")
+    set(LIBC_HAS_EXP                                     "1"   CACHE INTERNAL "Have symbol exp")
+    set(LIBC_HAS_EXPF                                    "1"   CACHE INTERNAL "Have symbol expf")
+    set(LIBC_HAS_FABS                                    "1"   CACHE INTERNAL "Have symbol fabs")
+    set(LIBC_HAS_FABSF                                   "1"   CACHE INTERNAL "Have symbol fabsf")
+    set(LIBC_HAS_FLOAT_H                                 "1"   CACHE INTERNAL "Have include float.h")
+    set(LIBC_HAS_FLOOR                                   "1"   CACHE INTERNAL "Have symbol floor")
+    set(LIBC_HAS_FLOORF                                  "1"   CACHE INTERNAL "Have symbol floorf")
+    set(LIBC_HAS_FMOD                                    "1"   CACHE INTERNAL "Have symbol fmod")
+    set(LIBC_HAS_FMODF                                   "1"   CACHE INTERNAL "Have symbol fmodf")
+    set(LIBC_HAS_FOPEN64                                 ""    CACHE INTERNAL "Have symbol fopen64")
+    set(LIBC_HAS_FREE                                    "1"   CACHE INTERNAL "Have symbol free")
+    set(LIBC_HAS_FSEEKO                                  "1"   CACHE INTERNAL "Have symbol fseeko")
+    set(LIBC_HAS_FSEEKO64                                ""    CACHE INTERNAL "Have symbol fseeko64")
+    set(LIBC_HAS_GETENV                                  "1"   CACHE INTERNAL "Have symbol getenv")
+    set(LIBC_HAS_ICONV_H                                 ""    CACHE INTERNAL "Have include iconv.h")
+    set(LIBC_HAS_INDEX                                   "1"   CACHE INTERNAL "Have symbol index")
+    set(LIBC_HAS_INTTYPES_H                              "1"   CACHE INTERNAL "Have include inttypes.h")
+    set(LIBC_HAS_ISINF                                   "1"   CACHE INTERNAL "Have include isinf(double)")
+    set(LIBC_ISINF_HANDLES_FLOAT                         "1"   CACHE INTERNAL "Have include isinf(float)")
+    set(LIBC_HAS_ISINFF                                  "1"   CACHE INTERNAL "Have include isinff(float)")
+    set(LIBC_HAS_ISNAN                                   "1"   CACHE INTERNAL "Have include isnan(double)")
+    set(LIBC_ISNAN_HANDLES_FLOAT                         "1"   CACHE INTERNAL "Have include isnan(float)")
+    set(LIBC_HAS_ISNANF                                  "1"   CACHE INTERNAL "Have include isnanf(float)")
+    set(LIBC_HAS_ITOA                                    ""    CACHE INTERNAL "Have symbol itoa")
+    set(LIBC_HAS_LIMITS_H                                "1"   CACHE INTERNAL "Have include limits.h")
+    set(LIBC_HAS_LOG                                     "1"   CACHE INTERNAL "Have symbol log")
+    set(LIBC_HAS_LOG10                                   "1"   CACHE INTERNAL "Have symbol log10")
+    set(LIBC_HAS_LOG10F                                  "1"   CACHE INTERNAL "Have symbol log10f")
+    set(LIBC_HAS_LOGF                                    "1"   CACHE INTERNAL "Have symbol logf")
+    set(LIBC_HAS_LROUND                                  "1"   CACHE INTERNAL "Have symbol lround")
+    set(LIBC_HAS_LROUNDF                                 "1"   CACHE INTERNAL "Have symbol lroundf")
+    set(LIBC_HAS_MALLOC                                  "1"   CACHE INTERNAL "Have symbol malloc")
+    set(LIBC_HAS_MALLOC_H                                "1"   CACHE INTERNAL "Have include malloc.h")
+    set(LIBC_HAS_MATH_H                                  "1"   CACHE INTERNAL "Have include math.h")
+    set(LIBC_HAS_MEMCMP                                  "1"   CACHE INTERNAL "Have symbol memcmp")
+    set(LIBC_HAS_MEMCPY                                  "1"   CACHE INTERNAL "Have symbol memcpy")
+    set(LIBC_HAS_MEMMOVE                                 "1"   CACHE INTERNAL "Have symbol memmove")
+    set(LIBC_HAS_MEMORY_H                                "1"   CACHE INTERNAL "Have include memory.h")
+    set(LIBC_HAS_MEMSET                                  "1"   CACHE INTERNAL "Have symbol memset")
+    set(LIBC_HAS_MODF                                    "1"   CACHE INTERNAL "Have symbol modf")
+    set(LIBC_HAS_MODFF                                   "1"   CACHE INTERNAL "Have symbol modff")
+    set(LIBC_HAS_POW                                     "1"   CACHE INTERNAL "Have symbol pow")
+    set(LIBC_HAS_POWF                                    "1"   CACHE INTERNAL "Have symbol powf")
+    set(LIBC_HAS_PUTENV                                  "1"   CACHE INTERNAL "Have symbol putenv")
+    set(LIBC_HAS_REALLOC                                 "1"   CACHE INTERNAL "Have symbol realloc")
+    set(LIBC_HAS_RINDEX                                  "1"   CACHE INTERNAL "Have symbol rindex")
+    set(LIBC_HAS_ROUND                                   "1"   CACHE INTERNAL "Have symbol round")
+    set(LIBC_HAS_ROUNDF                                  "1"   CACHE INTERNAL "Have symbol roundf")
+    set(LIBC_HAS_SCALBN                                  "1"   CACHE INTERNAL "Have symbol scalbn")
+    set(LIBC_HAS_SCALBNF                                 "1"   CACHE INTERNAL "Have symbol scalbnf")
+    set(LIBC_HAS_SETENV                                  "1"   CACHE INTERNAL "Have symbol setenv")
+    set(LIBC_HAS_SIGNAL_H                                "1"   CACHE INTERNAL "Have include signal.h")
+    set(LIBC_HAS_SIN                                     "1"   CACHE INTERNAL "Have symbol sin")
+    set(LIBC_HAS_SINF                                    "1"   CACHE INTERNAL "Have symbol sinf")
+    set(LIBC_HAS_SQR                                     ""    CACHE INTERNAL "Have symbol sqr")
+    set(LIBC_HAS_SQRT                                    "1"   CACHE INTERNAL "Have symbol sqrt")
+    set(LIBC_HAS_SQRTF                                   "1"   CACHE INTERNAL "Have symbol sqrtf")
+    set(LIBC_HAS_SSCANF                                  "1"   CACHE INTERNAL "Have symbol sscanf")
+    set(LIBC_HAS_STDARG_H                                "1"   CACHE INTERNAL "Have include stdarg.h")
+    set(LIBC_HAS_STDBOOL_H                               "1"   CACHE INTERNAL "Have include stdbool.h")
+    set(LIBC_HAS_STDDEF_H                                "1"   CACHE INTERNAL "Have include stddef.h")
+    set(LIBC_HAS_STDINT_H                                "1"   CACHE INTERNAL "Have include stdint.h")
+    set(LIBC_HAS_STDIO_H                                 "1"   CACHE INTERNAL "Have include stdio.h")
+    set(LIBC_HAS_STDLIB_H                                "1"   CACHE INTERNAL "Have include stdlib.h")
+    set(LIBC_HAS_STRCASESTR                              "1"   CACHE INTERNAL "Have symbol strcasestr")
+    set(LIBC_HAS_STRCHR                                  "1"   CACHE INTERNAL "Have symbol strchr")
+    set(LIBC_HAS_STRCMP                                  "1"   CACHE INTERNAL "Have symbol strcmp")
+    set(LIBC_HAS_STRINGS_H                               "1"   CACHE INTERNAL "Have include strings.h")
+    set(LIBC_HAS_STRING_H                                "1"   CACHE INTERNAL "Have include string.h")
+    set(LIBC_HAS_STRLCAT                                 "1"   CACHE INTERNAL "Have symbol strlcat")
+    set(LIBC_HAS_STRLCPY                                 "1"   CACHE INTERNAL "Have symbol strlcpy")
+    set(LIBC_HAS_STRLEN                                  "1"   CACHE INTERNAL "Have symbol strlen")
+    set(LIBC_HAS_STRNCMP                                 "1"   CACHE INTERNAL "Have symbol strncmp")
+    set(LIBC_HAS_STRNLEN                                 "1"   CACHE INTERNAL "Have symbol strnlen")
+    set(LIBC_HAS_STRNSTR                                 ""    CACHE INTERNAL "Have symbol strnstr")
+    set(LIBC_HAS_STRPBRK                                 "1"   CACHE INTERNAL "Have symbol strpbrk")
+    set(LIBC_HAS_STRRCHR                                 "1"   CACHE INTERNAL "Have symbol strrchr")
+    set(LIBC_HAS_STRSTR                                  "1"   CACHE INTERNAL "Have symbol strstr")
+    set(LIBC_HAS_STRTOD                                  "1"   CACHE INTERNAL "Have symbol strtod")
+    set(LIBC_HAS_STRTOK_R                                "1"   CACHE INTERNAL "Have symbol strtok_r")
+    set(LIBC_HAS_STRTOL                                  "1"   CACHE INTERNAL "Have symbol strtol")
+    set(LIBC_HAS_STRTOLL                                 "1"   CACHE INTERNAL "Have symbol strtoll")
+    set(LIBC_HAS_STRTOUL                                 "1"   CACHE INTERNAL "Have symbol strtoul")
+    set(LIBC_HAS_STRTOULL                                "1"   CACHE INTERNAL "Have symbol strtoull")
+    set(LIBC_HAS_SYS_TYPES_H                             "1"   CACHE INTERNAL "Have include sys/types.h")
+    set(LIBC_HAS_TAN                                     "1"   CACHE INTERNAL "Have symbol tan")
+    set(LIBC_HAS_TANF                                    "1"   CACHE INTERNAL "Have symbol tanf")
+    set(LIBC_HAS_TIME_H                                  "1"   CACHE INTERNAL "Have include time.h")
+    set(LIBC_HAS_TRUNC                                   "1"   CACHE INTERNAL "Have symbol trunc")
+    set(LIBC_HAS_TRUNCF                                  "1"   CACHE INTERNAL "Have symbol truncf")
+    set(LIBC_HAS_UNSETENV                                "1"   CACHE INTERNAL "Have symbol unsetenv")
+    set(LIBC_HAS_VSNPRINTF                               "1"   CACHE INTERNAL "Have symbol vsnprintf")
+    set(LIBC_HAS_VSSCANF                                 "1"   CACHE INTERNAL "Have symbol vsscanf")
+    set(LIBC_HAS_WCHAR_H                                 "1"   CACHE INTERNAL "Have include wchar.h")
+    set(LIBC_HAS_WCSCMP                                  "1"   CACHE INTERNAL "Have symbol wcscmp")
+    set(LIBC_HAS_WCSDUP                                  "1"   CACHE INTERNAL "Have symbol wcsdup")
+    set(LIBC_HAS_WCSLCAT                                 "1"   CACHE INTERNAL "Have symbol wcslcat")
+    set(LIBC_HAS_WCSLCPY                                 "1"   CACHE INTERNAL "Have symbol wcslcpy")
+    set(LIBC_HAS_WCSLEN                                  "1"   CACHE INTERNAL "Have symbol wcslen")
+    set(LIBC_HAS_WCSNCMP                                 "1"   CACHE INTERNAL "Have symbol wcsncmp")
+    set(LIBC_HAS_WCSNLEN                                 "1"   CACHE INTERNAL "Have symbol wcsnlen")
+    set(LIBC_HAS_WCSSTR                                  "1"   CACHE INTERNAL "Have symbol wcsstr")
+    set(LIBC_HAS_WCSTOL                                  "1"   CACHE INTERNAL "Have symbol wcstol")
+    set(LIBC_HAS__EXIT                                   "1"   CACHE INTERNAL "Have symbol _Exit")
+    set(LIBC_HAS__I64TOA                                 ""    CACHE INTERNAL "Have symbol _i64toa")
+    set(LIBC_HAS__LTOA                                   ""    CACHE INTERNAL "Have symbol _ltoa")
+    set(LIBC_HAS__STRREV                                 ""    CACHE INTERNAL "Have symbol _strrev")
+    set(LIBC_HAS__UI64TOA                                ""    CACHE INTERNAL "Have symbol _ui64toa")
+    set(LIBC_HAS__ULTOA                                  ""    CACHE INTERNAL "Have symbol _ultoa")
+    set(LIBC_HAS__WCSDUP                                 ""    CACHE INTERNAL "Have symbol _wcsdup")
+    set(LIBC_IS_GLIBC                                    ""    CACHE INTERNAL "Have symbol __GLIBC__")
+    set(_ALLOCA_IN_MALLOC_H                              ""    CACHE INTERNAL "Have symbol _alloca")
+    set(HAVE_GCC_WALL                                    "1"   CACHE INTERNAL "Test HAVE_GCC_WALL")
+    set(HAVE_GCC_WUNDEF                                  "1"   CACHE INTERNAL "Test HAVE_GCC_WUNDEF")
+    set(HAVE_GCC_WFLOAT_CONVERSION                       "1"   CACHE INTERNAL "Test HAVE_GCC_WFLOAT_CONVERSION")
+    set(HAVE_GCC_NO_STRICT_ALIASING                      "1"   CACHE INTERNAL "Test HAVE_GCC_NO_STRICT_ALIASING")
+    set(HAVE_GCC_WDOCUMENTATION                          ""    CACHE INTERNAL "Test HAVE_GCC_WDOCUMENTATION")
+    set(HAVE_GCC_WDOCUMENTATION_UNKNOWN_COMMAND          ""    CACHE INTERNAL "Test HAVE_GCC_WDOCUMENTATION_UNKNOWN_COMMAND")
+    set(HAVE_GCC_COMMENT_BLOCK_COMMANDS                  ""    CACHE INTERNAL "Test HAVE_GCC_COMMENT_BLOCK_COMMANDS")
+    set(HAVE_GCC_WSHADOW                                 "1"   CACHE INTERNAL "Test HAVE_GCC_WSHADOW")
+    set(HAVE_GCC_WUNUSED_LOCAL_TYPEDEFS                  "1"   CACHE INTERNAL "Test HAVE_GCC_WUNUSED_LOCAL_TYPEDEFS")
+    set(HAVE_GCC_WIMPLICIT_FALLTHROUGH                   "1"   CACHE INTERNAL "Test HAVE_GCC_WIMPLICIT_FALLTHROUGH")
+    set(HAVE_GCC_FVISIBILITY                             "1"   CACHE INTERNAL "Test HAVE_GCC_FVISIBILITY")
+    set(HAVE_ST_MTIM                                     "1"   CACHE INTERNAL "Test HAVE_ST_MTIM")
+    set(HAVE_O_CLOEXEC                                   "1"   CACHE INTERNAL "Test HAVE_O_CLOEXEC")
+    set(COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR             "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_FDIAGNOSTICS_COLOR")
+    set(COMPILER_SUPPORTS_GCC_ATOMICS                    "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_GCC_ATOMICS")
+    set(HAVE_WL_VERSION_SCRIPT                           "1"   CACHE INTERNAL "Test HAVE_WL_VERSION_SCRIPT")
+    set(LINKER_SUPPORTS_WL_NO_UNDEFINED                  "1"   CACHE INTERNAL "Test LINKER_SUPPORTS_WL_NO_UNDEFINED")
+    set(ICONV_IN_LIBC                                    ""    CACHE INTERNAL "Test ICONV_IN_LIBC")
+    set(ICONV_IN_LIBICONV                                ""    CACHE INTERNAL "Test ICONV_IN_LIBICONV")
+    set(LIBC_HAS_WORKING_LIBUNWIND                       ""    CACHE INTERNAL "Test LIBC_HAS_WORKING_LIBUNWIND")
+    set(LIBUNWIND_HAS_WORKINGLIBUNWIND                   ""    CACHE INTERNAL "Test LIBUNWIND_HAS_WORKINGLIBUNWIND")
+    set(HAVE_GETPAGESIZE                                 "1"   CACHE INTERNAL "Have symbol getpagesize")
+    set(HAVE_SIGACTION                                   "1"   CACHE INTERNAL "Have symbol sigaction")
+    set(HAVE_SA_SIGACTION                                "1"   CACHE INTERNAL "Have symbol sa_sigaction")
+    set(HAVE_SETJMP                                      "1"   CACHE INTERNAL "Have symbol setjmp")
+    set(HAVE_NANOSLEEP                                   "1"   CACHE INTERNAL "Have symbol nanosleep")
+    set(HAVE_GMTIME_R                                    "1"   CACHE INTERNAL "Have symbol gmtime_r")
+    set(HAVE_LOCALTIME_R                                 "1"   CACHE INTERNAL "Have symbol localtime_r")
+    set(HAVE_NL_LANGINFO                                 "1"   CACHE INTERNAL "Have symbol nl_langinfo")
+    set(HAVE_SYSCONF                                     "1"   CACHE INTERNAL "Have symbol sysconf")
+    set(HAVE_SYSCTLBYNAME                                ""    CACHE INTERNAL "Have symbol sysctlbyname")
+    set(HAVE_GETAUXVAL                                   ""    CACHE INTERNAL "Have symbol getauxval")
+    set(HAVE_ELF_AUX_INFO                                ""    CACHE INTERNAL "Have symbol elf_aux_info")
+    set(HAVE_POLL                                        "1"   CACHE INTERNAL "Have symbol poll")
+    set(HAVE_MEMFD_CREATE                                ""    CACHE INTERNAL "Have symbol memfd_create")
+    set(HAVE_POSIX_FALLOCATE                             "1"   CACHE INTERNAL "Have symbol posix_fallocate")
+    set(HAVE_DLOPEN_IN_LIBC                              "1"   CACHE INTERNAL "Have symbol dlopen")
+    set(HAVE_FDATASYNC                                   ""    CACHE INTERNAL "Have symbol fdatasync")
+    set(HAVE_GETHOSTNAME                                 "1"   CACHE INTERNAL "Have symbol gethostname")
+    set(HAVE_SIGTIMEDWAIT                                "1"   CACHE INTERNAL "Have symbol sigtimedwait")
+    set(HAVE_PPOLL                                       "1"   CACHE INTERNAL "Have symbol ppoll")
+    set(HAVE_POSIX_SPAWN                                 "1"   CACHE INTERNAL "Have symbol posix_spawn")
+    set(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR           ""    CACHE INTERNAL "Have symbol posix_spawn_file_actions_addchdir")
+    set(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP        "1"   CACHE INTERNAL "Have symbol posix_spawn_file_actions_addchdir_np")
+    set(LIBC_HAS_VFORK                                   "1"   CACHE INTERNAL "Have symbol vfork")
+    set(HAVE_GETRESUID                                   ""    CACHE INTERNAL "Have symbol getresuid")
+    set(HAVE_GETRESGID                                   ""    CACHE INTERNAL "Have symbol getresgid")
+    set(HAVE_LIBUDEV_H                                   ""    CACHE INTERNAL "Have include libudev.h")
+    set(HAVE_WFORMAT                                     "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_WFORMAT")
+    set(HAVE_WFORMAT_OVERFLOW                            "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_WFORMAT_OVERFLOW")
+    set(HAVE_WFORMAT_EXTRA_ARGS                          "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_WFORMAT_EXTRA_ARGS")
+    set(COMPILER_SUPPORTS_FCOLOR_DIAGNOSTICS             "1"   CACHE INTERNAL "Test COMPILER_SUPPORTS_FCOLOR_DIAGNOSTICS")
+    set(HAVE_PTHREAD_H                                   "1"   CACHE INTERNAL "Test HAVE_PTHREAD_H")
+    set(HAVE_PTHREAD_NP_H                                ""    CACHE INTERNAL "Test HAVE_PTHREAD_NP_H")
+    set(HAVE_PTHREADS                                    "1"   CACHE INTERNAL "Test HAVE_PTHREADS")
+    set(HAVE_PTHREADS_SEM                                "1"   CACHE INTERNAL "Test HAVE_PTHREADS_SEM")
+    set(HAVE_PTHREAD_SETNAME_NP                          "1"   CACHE INTERNAL "Test HAVE_PTHREAD_SETNAME_NP")
+    set(HAVE_RECURSIVE_MUTEXES                           "1"   CACHE INTERNAL "Test HAVE_RECURSIVE_MUTEXES")
+    set(COMPILER_HAS_SEM_TIMEDWAIT                       "1"   CACHE INTERNAL "Test COMPILER_HAS_SEM_TIMEDWAIT")
+  endfunction()
+endif()