forked from blender/blender
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
113 lines
4.2 KiB
Diff
113 lines
4.2 KiB
Diff
diff -Naur OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake.rej external_osl/src/cmake/flexbison.cmake.rej
|
|
--- OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake.rej 1969-12-31 17:00:00 -0700
|
|
+++ external_osl/src/cmake/flexbison.cmake.rej 2018-08-24 17:42:11 -0600
|
|
@@ -0,0 +1,11 @@
|
|
+--- src/cmake/flexbison.cmake 2018-05-01 16:39:02 -0600
|
|
++++ src/cmake/flexbison.cmake 2018-08-24 10:24:03 -0600
|
|
+@@ -77,7 +77,7 @@
|
|
+ DEPENDS ${${compiler_headers}}
|
|
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
|
+ ADD_CUSTOM_COMMAND ( OUTPUT ${flexoutputcxx}
|
|
+- COMMAND ${FLEX_EXECUTABLE} -o ${flexoutputcxx} "${CMAKE_CURRENT_SOURCE_DIR}/${flexsrc}"
|
|
++ COMMAND ${FLEX_EXECUTABLE} ${FLEX_EXTRA_OPTIONS} -o ${flexoutputcxx} "${CMAKE_CURRENT_SOURCE_DIR}/${flexsrc}"
|
|
+ MAIN_DEPENDENCY ${flexsrc}
|
|
+ DEPENDS ${${compiler_headers}}
|
|
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
|
diff -Naur OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h external_osl/src/include/OSL/llvm_util.h
|
|
--- OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h 2018-05-01 16:39:02 -0600
|
|
+++ external_osl/src/include/OSL/llvm_util.h 2018-08-25 14:05:00 -0600
|
|
@@ -33,6 +33,8 @@
|
|
|
|
#include <vector>
|
|
|
|
+#define OSL_HAS_BLENDER_CLEANUP_FIX
|
|
+
|
|
#ifdef LLVM_NAMESPACE
|
|
namespace llvm = LLVM_NAMESPACE;
|
|
#endif
|
|
@@ -487,6 +489,7 @@
|
|
std::string func_name (llvm::Function *f);
|
|
|
|
static size_t total_jit_memory_held ();
|
|
+ static void Cleanup ();
|
|
|
|
private:
|
|
class MemoryManager;
|
|
diff -Naur OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp external_osl/src/liboslexec/llvm_util.cpp
|
|
--- OpenShadingLanguage-Release-1.9.9/src/liboslexec/llvm_util.cpp 2018-05-01 16:39:02 -0600
|
|
+++ external_osl/src/liboslexec/llvm_util.cpp 2018-08-25 14:04:27 -0600
|
|
@@ -140,7 +140,10 @@
|
|
};
|
|
|
|
|
|
-
|
|
+void LLVM_Util::Cleanup ()
|
|
+{
|
|
+ if(jitmm_hold) jitmm_hold->clear();
|
|
+}
|
|
|
|
size_t
|
|
LLVM_Util::total_jit_memory_held ()
|
|
diff -Naur org/CMakeLists.txt external_osl/CMakeLists.txt
|
|
--- org/CMakeLists.txt 2020-12-01 12:37:15 -0700
|
|
+++ external_osl/CMakeLists.txt 2021-01-20 13:26:50 -0700
|
|
@@ -84,6 +84,11 @@
|
|
CACHE STRING "Directory where OptiX PTX files will be installed")
|
|
set (CMAKE_DEBUG_POSTFIX "" CACHE STRING "Library naming postfix for Debug builds (e.g., '_debug')")
|
|
|
|
+set (USE_OIIO_STATIC ON CACHE BOOL "If OIIO is built static")
|
|
+if (USE_OIIO_STATIC)
|
|
+ add_definitions ("-DOIIO_STATIC_BUILD=1")
|
|
+ add_definitions ("-DOIIO_STATIC_DEFINE=1")
|
|
+endif ()
|
|
|
|
set (OSL_NO_DEFAULT_TEXTURESYSTEM OFF CACHE BOOL "Do not use create a raw OIIO::TextureSystem")
|
|
if (OSL_NO_DEFAULT_TEXTURESYSTEM)
|
|
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>
|