[Bf-blender-cvs] [9b15376] blender-v2.76-release: InstallDeps: Fix broken OSL (would not generate valid default names for its .oso pre-compiled files).

Bastien Montagne noreply at git.blender.org
Fri Oct 9 13:32:23 CEST 2015


Commit: 9b153763a3982ca5f43bf58d58df44152d8b3526
Author: Bastien Montagne
Date:   Sat Oct 3 16:20:03 2015 +0200
Branches: blender-v2.76-release
https://developer.blender.org/rB9b153763a3982ca5f43bf58d58df44152d8b3526

InstallDeps: Fix broken OSL (would not generate valid default names for its .oso pre-compiled files).

Also, externalize temp/hacky patches in own dir, much much cleaner than integrating them in bash script!

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

M	build_files/build_environment/install_deps.sh
A	build_files/build_environment/install_deps_patches/llvm.patch
A	build_files/build_environment/install_deps_patches/osl.patch

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

diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index 5a6aa5c..3e30fb2 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -42,6 +42,7 @@ INST="/opt/lib"
 TMP="/tmp"
 CWD=$PWD
 INFO_PATH=$CWD
+SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
 
 # Do not install some optional, potentially conflicting libs by default...
 WITH_ALL=false
@@ -1376,19 +1377,7 @@ compile_LLVM() {
       cd $_src
 
       # XXX Ugly patching hack!
-      cat << EOF | patch -p1
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -13,7 +13,7 @@
- set(LLVM_VERSION_MAJOR 3)
- set(LLVM_VERSION_MINOR 1)
- 
--set(PACKAGE_VERSION "\${LLVM_VERSION_MAJOR}.\${LLVM_VERSION_MINOR}svn")
-+set(PACKAGE_VERSION "\${LLVM_VERSION_MAJOR}.\${LLVM_VERSION_MINOR}")
- 
- set_property(GLOBAL PROPERTY USE_FOLDERS ON)
- 
-EOF
+      patch -p1 -i "$SCRIPT_DIR/install_deps_patches/llvm.patch"
 
       cd $CWD
 
@@ -1458,10 +1447,10 @@ compile_OSL() {
 
   # Clean install if needed!
   magic_compile_check osl-$OSL_VERSION $osl_magic
-  #~ if [ $? -eq 1 -o $OSL_FORCE_REBUILD == true ]; then
+  if [ $? -eq 1 -o $OSL_FORCE_REBUILD == true ]; then
     #~ rm -Rf $_src  # XXX Radical, but not easy to change remote repo fully automatically
-    #~ clean_OSL
-  #~ fi
+    clean_OSL
+  fi
 
   if [ ! -d $_inst ]; then
     INFO "Building OpenShadingLanguage-$OSL_VERSION"
@@ -1490,6 +1479,9 @@ compile_OSL() {
       # Stick to same rev as windows' libs...
       git checkout $OSL_SOURCE_REPO_UID
       git reset --hard
+
+      # XXX Ugly patching hack!
+      patch -p1 -i "$SCRIPT_DIR/install_deps_patches/osl.patch"
     fi
 
     # Always refresh the whole build!
@@ -1531,6 +1523,9 @@ compile_OSL() {
       fi
     fi
 
+    #~ cmake_d="$cmake_d -D CMAKE_EXPORT_COMPILE_COMMANDS=ON"
+    #~ cmake_d="$cmake_d -D CMAKE_VERBOSE_MAKEFILE=ON"
+
     cmake $cmake_d ..
 
     make -j$THREADS && make install
diff --git a/build_files/build_environment/install_deps_patches/llvm.patch b/build_files/build_environment/install_deps_patches/llvm.patch
new file mode 100644
index 0000000..2e05c33
--- /dev/null
+++ b/build_files/build_environment/install_deps_patches/llvm.patch
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,7 @@
+ set(LLVM_VERSION_MAJOR 3)
+ set(LLVM_VERSION_MINOR 1)
+ 
+-set(PACKAGE_VERSION "\${LLVM_VERSION_MAJOR}.\${LLVM_VERSION_MINOR}svn")
++set(PACKAGE_VERSION "\${LLVM_VERSION_MAJOR}.\${LLVM_VERSION_MINOR}")
+ 
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ 
+
diff --git a/build_files/build_environment/install_deps_patches/osl.patch b/build_files/build_environment/install_deps_patches/osl.patch
new file mode 100644
index 0000000..3b52403
--- /dev/null
+++ b/build_files/build_environment/install_deps_patches/osl.patch
@@ -0,0 +1,12 @@
+--- a/src/shaders/CMakeLists.txt
++++ b/src/shaders/CMakeLists.txt
+@@ -27,7 +27,7 @@ macro (osl_compile oslsrc objlist headers)
+         message (STATUS "cmd: ${CMAKE_CURRENT_BINARY_DIR}/../oslc/oslc ${oslsrc}")
+     endif ()
+     add_custom_command (OUTPUT ${osofile}
+-        COMMAND "${CMAKE_CURRENT_BINARY_DIR}/../oslc/oslc" ${oslsrc}
++        COMMAND "${CMAKE_CURRENT_BINARY_DIR}/../oslc/oslc" "-o" ${osofile} ${oslsrc}
+         MAIN_DEPENDENCY ${oslsrc}
+         DEPENDS ${${headers}} ${oslsrc} "${CMAKE_CURRENT_BINARY_DIR}/stdosl.h" "${CMAKE_CURRENT_BINARY_DIR}/../oslc/oslc"
+         WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+




More information about the Bf-blender-cvs mailing list