[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