Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@blender.org>2021-07-27 11:15:31 +0300
committerSybren A. Stüvel <sybren@blender.org>2021-07-27 11:15:31 +0300
commitc5e5ac4a176e7d7fc80bf9d997d0d472f4956895 (patch)
treef869a6fee740f3a5d3868f14a7d40a2e6b3e635f /build_files/build_environment/patches
parent5a07174ce3c3de0497b55678901aede2024eef40 (diff)
Deps builder: OIIO/OSL/ISPC/OIDN/LLVM/Flex updates
This diff somewhat snowballed out of updating OIDN to 1.4.1 it had some changes that allowed us to remove the arm hacks we had in place and revert to using identical versions for a whole bunch of deps. But that required an update to ISPC which needed a newer LLVM and if we're updating LLVM we may as well update OSL, and when we update OSL, OIIO may as well be dragged in soo......anyhow... This diff updates: LLVM 9.0.0 (11.0.1 for mac/arm) -> 12.0.0 OIIO 2.1.15.0 -> 2.2.15.1 OSL 1.11.10.0 -> 1.11.14.1 winflex_bison 2.5.5-> 2.5.24 (ispc needed newer bison, windows only dep) OIDN 1.4.0 -> 1.4.1 ISPC v1.14.1(random hash for mac/arm) -> v1.16.0 Flex 2.6.4 (ISPC needed newer Flex than available on CentOS 7) and removes most of the "special arm/mac" versions. I think just ssl and embree are left with special versions. notable changes: @LazyDodo included some clang headers in the linux/mac harvest which are needed to start writing custom clang based tooling like D9465 these were already shipping on windows, but not the other platforms. [macOS] Change the `LC_ID_DYLIB` of OpenMP for {D11997}. This changes where the executables look for dylibs. Reviewed By: sebbas, LazyDodo Differential Revision: https://developer.blender.org/D11748
Diffstat (limited to 'build_files/build_environment/patches')
-rw-r--r--build_files/build_environment/patches/oidn.diff10
-rw-r--r--build_files/build_environment/patches/openimageio.diff21
-rw-r--r--build_files/build_environment/patches/openmp.diff23
-rw-r--r--build_files/build_environment/patches/osl.diff61
4 files changed, 46 insertions, 69 deletions
diff --git a/build_files/build_environment/patches/oidn.diff b/build_files/build_environment/patches/oidn.diff
deleted file mode 100644
index db1015b8958..00000000000
--- a/build_files/build_environment/patches/oidn.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- external_openimagedenoise/cmake/oidn_ispc.cmake 2021-02-15 17:29:34.000000000 +0100
-+++ external_openimagedenoise/cmake/oidn_ispc.cmake2 2021-02-15 17:29:28.000000000 +0100
-@@ -98,7 +98,7 @@
- elseif(OIDN_ARCH STREQUAL "ARM64")
- set(ISPC_ARCHITECTURE "aarch64")
- if(APPLE)
-- set(ISPC_TARGET_OS "--target-os=ios")
-+ set(ISPC_TARGET_OS "--target-os=macos")
- endif()
- endif()
diff --git a/build_files/build_environment/patches/openimageio.diff b/build_files/build_environment/patches/openimageio.diff
index 9db037db288..d05fc1f295f 100644
--- a/build_files/build_environment/patches/openimageio.diff
+++ b/build_files/build_environment/patches/openimageio.diff
@@ -34,24 +34,3 @@ diff -Naur orig/src/include/OpenImageIO/platform.h external_openimageio/src/incl
# include <windows.h>
#endif
-diff -Naur orig/src/libutil/ustring.cpp external_openimageio/src/libutil/ustring.cpp
---- orig/src/libutil/ustring.cpp 2020-05-11 05:43:52.000000000 +0200
-+++ external_openimageio/src/libutil/ustring.cpp 2020-11-26 12:06:08.000000000 +0100
-@@ -337,6 +337,8 @@
- // the std::string to make it point to our chars! In such a case, the
- // destructor will be careful not to allow a deallocation.
-
-+ // Disable internal std::string for Apple silicon based Macs
-+#if !(defined(__APPLE__) && defined(__arm64__))
- #if defined(__GNUC__) && !defined(_LIBCPP_VERSION) \
- && defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI
- // NEW gcc ABI
-@@ -382,7 +384,7 @@
- return;
- }
- #endif
--
-+#endif
- // Remaining cases - just assign the internal string. This may result
- // in double allocation for the chars. If you care about that, do
- // something special for your platform, much like we did for gcc and \ No newline at end of file
diff --git a/build_files/build_environment/patches/openmp.diff b/build_files/build_environment/patches/openmp.diff
deleted file mode 100644
index 201ab5c7713..00000000000
--- a/build_files/build_environment/patches/openmp.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/runtime/src/z_Linux_asm.S b/runtime/src/z_Linux_asm.S
-index 0d8885e..42aa5ad 100644
---- a/runtime/src/z_Linux_asm.S
-+++ b/runtime/src/z_Linux_asm.S
-@@ -1540,10 +1540,12 @@ __kmp_unnamed_critical_addr:
- .comm .gomp_critical_user_,32,8
- .data
- .align 8
-- .global __kmp_unnamed_critical_addr
--__kmp_unnamed_critical_addr:
-+ .global ___kmp_unnamed_critical_addr
-+___kmp_unnamed_critical_addr:
- .8byte .gomp_critical_user_
-- .size __kmp_unnamed_critical_addr,8
-+# if !(KMP_OS_DARWIN)
-+ .size ___kmp_unnamed_critical_addr,8
-+# endif
- #endif /* KMP_ARCH_PPC64 || KMP_ARCH_AARCH64 */
-
- #if KMP_OS_LINUX
-
-
-
diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff
index cd1b58bf580..8553115b50d 100644
--- a/build_files/build_environment/patches/osl.diff
+++ b/build_files/build_environment/patches/osl.diff
@@ -63,19 +63,50 @@ diff -Naur org/CMakeLists.txt external_osl/CMakeLists.txt
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
-diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp
-index 445f6400..3d468de2 100644
---- a/src/liboslexec/llvm_util.cpp
-+++ b/src/liboslexec/llvm_util.cpp
-@@ -3430,8 +3430,9 @@ LLVM_Util::call_function (llvm::Value *func, cspan<llvm::Value *> args)
- #endif
- //llvm_gen_debug_printf (std::string("start ") + std::string(name));
- #if OSL_LLVM_VERSION >= 110
-- OSL_DASSERT(llvm::isa<llvm::Function>(func));
-- llvm::Value *r = builder().CreateCall(llvm::cast<llvm::Function>(func), llvm::ArrayRef<llvm::Value *>(args.data(), args.size()));
-+ llvm::Value* r = builder().CreateCall(
-+ llvm::cast<llvm::FunctionType>(func->getType()->getPointerElementType()), func,
-+ llvm::ArrayRef<llvm::Value*>(args.data(), args.size()));
- #else
- llvm::Value *r = builder().CreateCall (func, llvm::ArrayRef<llvm::Value *>(args.data(), args.size()));
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 990f50d69..46ef7351d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -252,11 +252,9 @@ install (EXPORT OSL_EXPORTED_TARGETS
+ FILE ${OSL_TARGETS_EXPORT_NAME}
+ NAMESPACE ${PROJECT_NAME}::)
+
+-
+-
+-
+-osl_add_all_tests()
+-
++if (${PROJECT_NAME}_BUILD_TESTS AND NOT ${PROJECT_NAME}_IS_SUBPROJECT)
++ osl_add_all_tests()
++endif ()
+
+ if (NOT ${PROJECT_NAME}_IS_SUBPROJECT)
+ include (packaging)
+diff -Naur external_osl_orig/src/cmake/externalpackages.cmake external_osl/src/cmake/externalpackages.cmake
+--- external_osl_orig/src/cmake/externalpackages.cmake 2021-06-01 13:44:18 -0600
++++ external_osl/src/cmake/externalpackages.cmake 2021-06-28 07:44:32 -0600
+@@ -80,6 +80,7 @@
+
+
+ checked_find_package (ZLIB REQUIRED) # Needed by several packages
++checked_find_package (PNG REQUIRED) # Needed since OIIO needs it
+
+ # IlmBase & OpenEXR
+ checked_find_package (OpenEXR REQUIRED
+diff -Naur external_osl_orig/src/liboslcomp/oslcomp.cpp external_osl/src/liboslcomp/oslcomp.cpp
+--- external_osl_orig/src/liboslcomp/oslcomp.cpp 2021-06-01 13:44:18 -0600
++++ external_osl/src/liboslcomp/oslcomp.cpp 2021-06-28 09:11:06 -0600
+@@ -21,6 +21,13 @@
+ #if !defined(__STDC_CONSTANT_MACROS)
+ # define __STDC_CONSTANT_MACROS 1
#endif
++
++// clang uses CALLBACK in its templates which causes issues if it is already defined
++#ifdef _WIN32 && defined(CALLBACK)
++# undef CALLBACK
++#endif
++
++//
+ #include <clang/Basic/TargetInfo.h>
+ #include <clang/Frontend/CompilerInstance.h>
+ #include <clang/Frontend/TextDiagnosticPrinter.h>