nixpkgs/pkgs/development/compilers/llvm/10/find-darwin-sdk-version.patch
Gabor Greif f111c6f9ce llvmPackages_10: copy llvmPackages_9
* starting with rc2
* make `lldb` compilable again on Darwin
* separate out manpage creation for `lldb` into a new derivation
* minor tweaks to the patching of sources,
  some of which are backportable to earlier versions
2020-02-25 13:24:27 +01:00

63 lines
2.4 KiB
Diff

--- 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