diff options
Diffstat (limited to 'build_files/build_environment/patches/osl.diff')
-rw-r--r-- | build_files/build_environment/patches/osl.diff | 76 |
1 files changed, 46 insertions, 30 deletions
diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff index cd1b58bf580..54885323571 100644 --- a/build_files/build_environment/patches/osl.diff +++ b/build_files/build_environment/patches/osl.diff @@ -1,18 +1,3 @@ -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 @@ -63,19 +48,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> |