$OpenBSD: patch-Source_cmake_OptionsCommon_cmake,v 1.12 2017/09/15 07:43:42 ajacoutot Exp $

Our ar(1) is too old and have not support for `T'.

Undefined references to libc functions.

Index: Source/cmake/OptionsCommon.cmake
--- Source/cmake/OptionsCommon.cmake.orig
+++ Source/cmake/OptionsCommon.cmake
@@ -5,10 +5,10 @@ option(USE_THIN_ARCHIVES "Produce all static libraries
 if (USE_THIN_ARCHIVES)
     execute_process(COMMAND ${CMAKE_AR} -V OUTPUT_VARIABLE AR_VERSION)
     if ("${AR_VERSION}" MATCHES "^GNU ar")
-        set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
-        set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> crT <TARGET> <LINK_FLAGS> <OBJECTS>")
-        set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>")
-        set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> rT <TARGET> <LINK_FLAGS> <OBJECTS>")
+        set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
+        set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
+        set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
+        set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
     endif ()
 endif ()
 
@@ -116,7 +116,7 @@ endif ()
 
 # Macros for determining HAVE values.
 macro(_HAVE_CHECK_INCLUDE _variable _header)
-    check_include_file(${_header} ${_variable}_value)
+    check_include_files("${_header}" ${_variable}_value)
     SET_AND_EXPOSE_TO_BUILD(${_variable} ${_variable}_value)
 endmacro()
 
@@ -143,7 +143,7 @@ _HAVE_CHECK_INCLUDE(HAVE_FEATURES_H features.h)
 _HAVE_CHECK_INCLUDE(HAVE_ERRNO_H errno.h)
 _HAVE_CHECK_INCLUDE(HAVE_LANGINFO_H langinfo.h)
 _HAVE_CHECK_INCLUDE(HAVE_MMAP sys/mman.h)
-_HAVE_CHECK_INCLUDE(HAVE_PTHREAD_NP_H pthread_np.h)
+_HAVE_CHECK_INCLUDE(HAVE_PTHREAD_NP_H "pthread.h;pthread_np.h")
 _HAVE_CHECK_INCLUDE(HAVE_STRINGS_H strings.h)
 _HAVE_CHECK_INCLUDE(HAVE_SYS_PARAM_H sys/param.h)
 _HAVE_CHECK_INCLUDE(HAVE_SYS_TIME_H sys/time.h)
