about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/llvm/10/find-darwin-sdk-version.patch
blob: fc16ddda76b7309f4388df8cc7c8ff526816ca6e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
--- a/cmake/Modules/CompilerRTDarwinUtils.cmake	2020-01-25 23:13:55.000000000 +0100
+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake	2020-01-25 23:19:37.000000000 +0100
@@ -43,41 +43,6 @@
   set(DARWIN_${sdk_name}_CACHED_SYSROOT ${var_internal} CACHE STRING "Darwin SDK path for SDK ${sdk_name}." FORCE)
 endfunction()
 
-function(find_darwin_sdk_version var sdk_name)
-  # We deliberately don't cache the result here because
-  # CMake's caching causes too many problems.
-  set(result_process 1)
-  if(NOT DARWIN_PREFER_PUBLIC_SDK)
-    # Let's first try the internal SDK, otherwise use the public SDK.
-    execute_process(
-      COMMAND xcrun --sdk ${sdk_name}.internal --show-sdk-version
-      RESULT_VARIABLE result_process
-      OUTPUT_VARIABLE var_internal
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      ERROR_FILE /dev/null
-    )
-  endif()
-  if((NOT ${result_process} EQUAL 0) OR "" STREQUAL "${var_internal}")
-    execute_process(
-      COMMAND xcrun --sdk ${sdk_name} --show-sdk-version
-      RESULT_VARIABLE result_process
-      OUTPUT_VARIABLE var_internal
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      ERROR_FILE /dev/null
-    )
-  endif()
-  if(NOT result_process EQUAL 0)
-    message(FATAL_ERROR
-      "Failed to determine SDK version for \"${sdk_name}\" SDK")
-  endif()
-  # Check reported version looks sane.
-  if (NOT "${var_internal}" MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$")
-    message(FATAL_ERROR
-      "Reported SDK version \"${var_internal}\" does not look like a version")
-  endif()
-  set(${var} ${var_internal} PARENT_SCOPE)
-endfunction()
-
 # There isn't a clear mapping of what architectures are supported with a given
 # target platform, but ld's version output does list the architectures it can
 # link for.
@@ -119,17 +84,6 @@
     foreach(flag ${DARWIN_${os}_LINK_FLAGS})
       set(os_linker_flags "${os_linker_flags} ${flag}")
     endforeach()
-
-    # Disable building for i386 for macOS SDK >= 10.15. The SDK doesn't support
-    # linking for i386 and the corresponding OS doesn't allow running macOS i386
-    # binaries.
-    if ("${os}" STREQUAL "osx")
-      find_darwin_sdk_version(macosx_sdk_version "macosx")
-      if ("${macosx_sdk_version}" VERSION_GREATER 10.15 OR "${macosx_sdk_version}" VERSION_EQUAL 10.15)
-        message(STATUS "Disabling i386 slice for ${valid_archs}")
-        list(REMOVE_ITEM archs "i386")
-      endif()
-    endif()
   endif()
 
   # The simple program will build for x86_64h on the simulator because it is