[Bf-blender-cvs] [c498abb1032] master: Fix macOS LLVM precompiled link error with older Xcode versions

Brecht Van Lommel noreply at git.blender.org
Mon Feb 17 11:35:33 CET 2020


Commit: c498abb1032026fac3b84f3622264b34c27212af
Author: Brecht Van Lommel
Date:   Mon Feb 17 09:29:39 2020 +0100
Branches: master
https://developer.blender.org/rBc498abb1032026fac3b84f3622264b34c27212af

Fix macOS LLVM precompiled link error with older Xcode versions

===================================================================

M	build_files/build_environment/cmake/llvm.cmake
A	build_files/build_environment/patches/llvm.diff

===================================================================

diff --git a/build_files/build_environment/cmake/llvm.cmake b/build_files/build_environment/cmake/llvm.cmake
index 3ef0445201f..981db9c72b7 100644
--- a/build_files/build_environment/cmake/llvm.cmake
+++ b/build_files/build_environment/cmake/llvm.cmake
@@ -40,6 +40,7 @@ ExternalProject_Add(ll
   URL_HASH MD5=${LLVM_HASH}
   CMAKE_GENERATOR ${LLVM_GENERATOR}
   PREFIX ${BUILD_DIR}/ll
+  PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/ll/src/ll < ${PATCH_DIR}/llvm.diff
   CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/llvm ${DEFAULT_CMAKE_FLAGS} ${LLVM_EXTRA_ARGS}
   INSTALL_DIR ${LIBDIR}/llvm
 )
diff --git a/build_files/build_environment/patches/llvm.diff b/build_files/build_environment/patches/llvm.diff
new file mode 100644
index 00000000000..b797bb030ee
--- /dev/null
+++ b/build_files/build_environment/patches/llvm.diff
@@ -0,0 +1,13 @@
+--- a/lib/Support/Unix/Path.inc	2020-02-17 09:24:26.000000000 +0100
++++ b/lib/Support/Unix/Path.inc	2020-02-17 09:26:25.000000000 +0100
+@@ -1200,7 +1200,9 @@
+ /// implementation.
+ std::error_code copy_file(const Twine &From, const Twine &To) {
+   uint32_t Flag = COPYFILE_DATA;
+-#if __has_builtin(__builtin_available) && defined(COPYFILE_CLONE)
++  // BLENDER: This optimization makes LLVM not build on older Xcode versions,
++  // just disable until everyone has new enough Xcode versions.
++#if 0
+   if (__builtin_available(macos 10.12, *)) {
+     bool IsSymlink;
+     if (std::error_code Error = is_symlink_file(From, IsSymlink))



More information about the Bf-blender-cvs mailing list