summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2017-01-01 20:20:38 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2017-01-01 20:20:38 +0000
commitcfe109bf3d0bfe44741deb9834d866263fdee558 (patch)
treee94804605ea7951937ca8e0e6f854b0ff1d0190d /cmake
parent63de5d2a7f88f3e7ef513f991491e68afd26fca6 (diff)
downloadexternal_libcxx-cfe109bf3d0bfe44741deb9834d866263fdee558.tar.gz
external_libcxx-cfe109bf3d0bfe44741deb9834d866263fdee558.tar.bz2
external_libcxx-cfe109bf3d0bfe44741deb9834d866263fdee558.zip
build: dont detect libraries for Windows
Hard code the defaults for Windows for the time being. The checks really are always going to return the same value. Technically, the pthread linkage is possible, however, it seems better to use the Win32 threading along with the external threading support that we have added. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290801 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rw-r--r--cmake/config-ix.cmake33
1 files changed, 27 insertions, 6 deletions
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
index 3f7aff115..4f13b787a 100644
--- a/cmake/config-ix.cmake
+++ b/cmake/config-ix.cmake
@@ -1,9 +1,20 @@
include(CheckLibraryExists)
include(CheckCXXCompilerFlag)
-check_library_exists(c fopen "" LIBCXX_HAS_C_LIB)
+if(WIN32 AND NOT MINGW)
+ # NOTE(compnerd) this is technically a lie, there is msvcrt, but for now, lets
+ # let the default linking take care of that.
+ set(LIBCXX_HAS_C_LIB NO)
+else()
+ check_library_exists(c fopen "" LIBCXX_HAS_C_LIB)
+endif()
+
if (NOT LIBCXX_USE_COMPILER_RT)
- check_library_exists(gcc_s __gcc_personality_v0 "" LIBCXX_HAS_GCC_S_LIB)
+ if(WIN32 AND NOT MINGW)
+ set(LIBCXX_HAS_GCC_S_LIB NO)
+ else()
+ check_library_exists(gcc_s __gcc_personality_v0 "" LIBCXX_HAS_GCC_S_LIB)
+ endif()
endif()
# libc++ is built with -nodefaultlibs, so we want all our checks to also
@@ -32,7 +43,9 @@ if (LIBCXX_SUPPORTS_NODEFAULTLIBS_FLAG)
endif ()
endif ()
-include(CheckLibcxxAtomic)
+if(NOT WIN32 OR MINGW)
+ include(CheckLibcxxAtomic)
+endif()
# Check compiler flags
@@ -45,6 +58,14 @@ check_cxx_compiler_flag(/GR- LIBCXX_HAS_NO_GR_FLAG)
# Check libraries
-check_library_exists(pthread pthread_create "" LIBCXX_HAS_PTHREAD_LIB)
-check_library_exists(m ccos "" LIBCXX_HAS_M_LIB)
-check_library_exists(rt clock_gettime "" LIBCXX_HAS_RT_LIB)
+if(WIN32 AND NOT MINGW)
+ # TODO(compnerd) do we want to support an emulation layer that allows for the
+ # use of pthread-win32 or similar libraries to emulate pthreads on Windows?
+ set(LIBCXX_HAS_PTHREAD_LIB NO)
+ set(LIBCXX_HAS_M_LIB NO)
+ set(LIBCXX_HAS_RT_LIB NO)
+else()
+ check_library_exists(pthread pthread_create "" LIBCXX_HAS_PTHREAD_LIB)
+ check_library_exists(m ccos "" LIBCXX_HAS_M_LIB)
+ check_library_exists(rt clock_gettime "" LIBCXX_HAS_RT_LIB)
+endif()