[Bf-blender-cvs] [b9c9b001710] master: Build_environment: OSL 1.10.9 / llvm 9.0.1

Ray Molenkamp noreply at git.blender.org
Sat Feb 8 21:01:35 CET 2020


Commit: b9c9b001710ab60b448e92550e04aaae48f39452
Author: Ray Molenkamp
Date:   Sat Feb 8 13:01:31 2020 -0700
Branches: master
https://developer.blender.org/rBb9c9b001710ab60b448e92550e04aaae48f39452

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

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

M	build_files/build_environment/cmake/clang.cmake
M	build_files/build_environment/cmake/llvm.cmake
M	build_files/build_environment/cmake/osl.cmake
M	build_files/build_environment/cmake/versions.cmake
D	build_files/build_environment/patches/openimageio_idiff.diff
M	build_files/build_environment/patches/osl.diff

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

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<float> and VECTYPE is Dual2<float4>.
- template<typename T, typename VECTYPE>
--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



More information about the Bf-blender-cvs mailing list