From b9c9b001710ab60b448e92550e04aaae48f39452 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Sat, 8 Feb 2020 13:01:31 -0700 Subject: Build_environment: OSL 1.10.9 / llvm 9.0.1 OSL 1.10.9 fixes osl-bug 866 [1] which is long standing issue on windows where paths get un-escaped and osl breaks when you install it to for instance c:\blender-tests\new-boolean This patch bumps osl to 1.10.9, and since osl is llvm's only consumer, llvm/clang were bumped 9.0.1 Removed some of the patches that were no longer needed Builds and passes all tests on windows and linux [1] https://github.com/imageworks/OpenShadingLanguage/issues/866 Differential Revision: https://developer.blender.org/D6744 Reviewers: brecht --- build_files/build_environment/cmake/clang.cmake | 4 +--- build_files/build_environment/cmake/llvm.cmake | 2 ++ build_files/build_environment/cmake/osl.cmake | 5 +++-- build_files/build_environment/cmake/versions.cmake | 18 ++++++++-------- .../patches/openimageio_idiff.diff | 13 ------------ build_files/build_environment/patches/osl.diff | 24 ---------------------- 6 files changed, 15 insertions(+), 51 deletions(-) delete mode 100644 build_files/build_environment/patches/openimageio_idiff.diff (limited to 'build_files') diff --git a/build_files/build_environment/cmake/clang.cmake b/build_files/build_environment/cmake/clang.cmake index 3231a339e17..f7dfd434d4a 100644 --- a/build_files/build_environment/cmake/clang.cmake +++ b/build_files/build_environment/cmake/clang.cmake @@ -46,9 +46,7 @@ if(MSVC) set(CLANG_HARVEST_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/ ${HARVEST_TARGET}/llvm/) else() set(CLANG_HARVEST_COMMAND - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/bin/ ${HARVEST_TARGET}/llvm/debug/bin/ && - ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/include/ ${HARVEST_TARGET}/llvm/debug/include/ + ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/clang/lib/ ${HARVEST_TARGET}/llvm/debug/lib/ ) endif() ExternalProject_Add_Step(external_clang after_install diff --git a/build_files/build_environment/cmake/llvm.cmake b/build_files/build_environment/cmake/llvm.cmake index dc1a5cf8a80..3ef0445201f 100644 --- a/build_files/build_environment/cmake/llvm.cmake +++ b/build_files/build_environment/cmake/llvm.cmake @@ -23,6 +23,8 @@ set(LLVM_EXTRA_ARGS -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_ENABLE_TERMINFO=OFF + -DLLVM_BUILD_LLVM_C_DYLIB=OFF + -DLLVM_ENABLE_UNWIND_TABLES=OFF ) if(WIN32) diff --git a/build_files/build_environment/cmake/osl.cmake b/build_files/build_environment/cmake/osl.cmake index 5113f9ded48..19636304c21 100644 --- a/build_files/build_environment/cmake/osl.cmake +++ b/build_files/build_environment/cmake/osl.cmake @@ -18,7 +18,7 @@ if(WIN32) set(OSL_CMAKE_CXX_STANDARD_LIBRARIES "kernel32${LIBEXT} user32${LIBEXT} gdi32${LIBEXT} winspool${LIBEXT} shell32${LIBEXT} ole32${LIBEXT} oleaut32${LIBEXT} uuid${LIBEXT} comdlg32${LIBEXT} advapi32${LIBEXT} psapi${LIBEXT}") - set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DFLEX_EXTRA_OPTIONS="--wincompat" -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe) + set(OSL_FLEX_BISON -DFLEX_EXECUTABLE=${LIBDIR}/flexbison/win_flex.exe -DBISON_EXECUTABLE=${LIBDIR}/flexbison/win_bison.exe) set(OSL_OPENIMAGEIO_LIBRARY "${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO${LIBEXT};${LIBDIR}/openimageio/lib/${LIBPREFIX}OpenImageIO_Util${LIBEXT};${LIBDIR}/png/lib/libpng16${LIBEXT};${LIBDIR}/jpg/lib/${LIBPREFIX}jpeg${LIBEXT};${LIBDIR}/tiff/lib/${LIBPREFIX}tiff${LIBEXT};${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT}") if("${CMAKE_SIZEOF_VOID_P}" EQUAL "4") set(OSL_SIMD_FLAGS -DOIIO_NOSIMD=1 -DOIIO_SIMD=0) @@ -59,11 +59,12 @@ set(OSL_EXTRA_ARGS -DOPENEXR_INCLUDE_DIR=${LIBDIR}/openexr/include/ -DOPENEXR_ILMIMF_LIBRARY=${LIBDIR}/openexr/lib/${LIBPREFIX}IlmImf${OPENEXR_VERSION_POSTFIX}${LIBEXT} -DOSL_BUILD_TESTS=OFF + -DOSL_BUILD_MATERIALX=OFF -DZLIB_LIBRARY=${LIBDIR}/zlib/lib/${ZLIB_LIBRARY} -DZLIB_INCLUDE_DIR=${LIBDIR}/zlib/include/ -DOPENIMAGEIOHOME=${LIBDIR}/openimageio/ + -DOPENIMAGEIO_INCLUDE_DIR=${LIBDIR}/openimageio/include -DOPENIMAGEIO_LIBRARY=${OSL_OPENIMAGEIO_LIBRARY} - -DOPENIMAGEIO_INCLUDES=${LIBDIR}/openimageio/include ${OSL_FLEX_BISON} -DCMAKE_CXX_STANDARD_LIBRARIES=${OSL_CMAKE_CXX_STANDARD_LIBRARIES} -DBUILDSTATIC=ON diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index fda65922a7f..085c7b065ae 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -117,15 +117,15 @@ set(OPENCOLORIO_VERSION 1.1.0) set(OPENCOLORIO_URI https://github.com/imageworks/OpenColorIO/archive/v${OPENCOLORIO_VERSION}.tar.gz) set(OPENCOLORIO_HASH 802d8f5b1d1fe316ec5f76511aa611b8) -set(LLVM_VERSION 6.0.1) -set(LLVM_URI http://releases.llvm.org/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz) -set(LLVM_HASH c88c98709300ce2c285391f387fecce0) +set(LLVM_VERSION 9.0.1) +set(LLVM_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz) +set(LLVM_HASH 31eb9ce73dd2a0f8dcab8319fb03f8fc) -set(CLANG_URI http://releases.llvm.org/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.xz) -set(CLANG_HASH 4e419bd4e3b55aa06d872320f754bd85) +set(CLANG_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/clang-${LLVM_VERSION}.src.tar.xz) +set(CLANG_HASH 13468e4a44940efef1b75e8641752f90) -set(OPENMP_URI http://releases.llvm.org/${LLVM_VERSION}/openmp-${LLVM_VERSION}.src.tar.xz) -set(OPENMP_HASH 4826402ae3633c36c51ba4d0e5527d30) +set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/openmp-${LLVM_VERSION}.src.tar.xz) +set(OPENMP_HASH 6eade16057edbdecb3c4eef9daa2bfcf) set(OPENIMAGEIO_VERSION 1.8.13) set(OPENIMAGEIO_URI https://github.com/OpenImageIO/oiio/archive/Release-${OPENIMAGEIO_VERSION}.tar.gz) @@ -135,9 +135,9 @@ set(TIFF_VERSION 4.0.9) set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz) set(TIFF_HASH 54bad211279cc93eb4fca31ba9bfdc79) -set(OSL_VERSION 1.9.9) +set(OSL_VERSION 1.10.9) set(OSL_URI https://github.com/imageworks/OpenShadingLanguage/archive/Release-${OSL_VERSION}.tar.gz) -set(OSL_HASH 44ad511e424965a10fce051a053b0605) +set(OSL_HASH a94f1e8506f7e8f5e993653de5c5fa00) set(PYTHON_VERSION 3.7.4) set(PYTHON_SHORT_VERSION 3.7) diff --git a/build_files/build_environment/patches/openimageio_idiff.diff b/build_files/build_environment/patches/openimageio_idiff.diff deleted file mode 100644 index ae1884f76b5..00000000000 --- a/build_files/build_environment/patches/openimageio_idiff.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- idiff.cpp 2016-11-18 11:42:01 -0700 -+++ idiff.cpp 2016-11-18 11:41:25 -0700 -@@ -308,8 +308,10 @@ - // printed with three digit exponent. We change this behaviour to fit - // Linux way - #ifdef _MSC_VER -+#if _MSC_VER < 1900 - _set_output_format(_TWO_DIGIT_EXPONENT); - #endif -+#endif - std::streamsize precis = std::cout.precision(); - std::cout << " " << cr.nwarn << " pixels (" - << std::setprecision(3) << (100.0*cr.nwarn / npels) diff --git a/build_files/build_environment/patches/osl.diff b/build_files/build_environment/patches/osl.diff index 36cda06f394..b9b5937ae2b 100644 --- a/build_files/build_environment/patches/osl.diff +++ b/build_files/build_environment/patches/osl.diff @@ -1,15 +1,3 @@ -diff -Naur OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake external_osl/src/cmake/flexbison.cmake ---- OpenShadingLanguage-Release-1.9.9/src/cmake/flexbison.cmake 2018-05-01 16:39:02 -0600 -+++ external_osl/src/cmake/flexbison.cmake 2018-08-23 15:42:27 -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/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 @@ -45,18 +33,6 @@ diff -Naur OpenShadingLanguage-Release-1.9.9/src/include/OSL/llvm_util.h externa private: class MemoryManager; -diff -Naur OpenShadingLanguage-Release-1.9.9/src/include/OSL/oslnoise.h external_osl/src/include/OSL/oslnoise.h ---- OpenShadingLanguage-Release-1.9.9/src/include/OSL/oslnoise.h 2018-05-01 16:39:02 -0600 -+++ external_osl/src/include/OSL/oslnoise.h 2018-08-24 17:42:11 -0600 -@@ -762,7 +762,7 @@ - // packed into a float4. We assume T is float and VECTYPE is float4, - // but it also works if T is Dual2 and VECTYPE is Dual2. - template --OIIO_FORCEINLINE T bilerp (VECTYPE abcd, T u, T v) { -+OIIO_FORCEINLINE T bilerp (VECTYPE& abcd, T u, T v) { - VECTYPE xx = OIIO::lerp (abcd, OIIO::simd::shuffle<1,1,3,3>(abcd), u); - return OIIO::simd::extract<0>(OIIO::lerp (xx,OIIO::simd::shuffle<2>(xx), v)); - } 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 -- cgit v1.2.3