summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch')
-rw-r--r--pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch b/pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch
new file mode 100644
index 00000000000..fc16ddda76b
--- /dev/null
+++ b/pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch
@@ -0,0 +1,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