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!
This commit is contained in:
Bastien Montagne
2015-10-03 16:20:03 +02:00
parent d9d3a2a500
commit 5443d41882
3 changed files with 35 additions and 16 deletions

View File

@@ -44,6 +44,7 @@ INST="/opt/lib"
TMP="/tmp" TMP="/tmp"
CWD=$PWD CWD=$PWD
INFO_PATH=$CWD INFO_PATH=$CWD
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
# Do not install some optional, potentially conflicting libs by default... # Do not install some optional, potentially conflicting libs by default...
WITH_ALL=false WITH_ALL=false
@@ -1378,19 +1379,7 @@ compile_LLVM() {
cd $_src cd $_src
# XXX Ugly patching hack! # XXX Ugly patching hack!
cat << EOF | patch -p1 patch -p1 -i "$SCRIPT_DIR/install_deps_patches/llvm.patch"
--- 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
cd $CWD cd $CWD
@@ -1460,10 +1449,10 @@ compile_OSL() {
# Clean install if needed! # Clean install if needed!
magic_compile_check osl-$OSL_VERSION $osl_magic 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 #~ rm -Rf $_src # XXX Radical, but not easy to change remote repo fully automatically
#~ clean_OSL clean_OSL
#~ fi fi
if [ ! -d $_inst ]; then if [ ! -d $_inst ]; then
INFO "Building OpenShadingLanguage-$OSL_VERSION" INFO "Building OpenShadingLanguage-$OSL_VERSION"
@@ -1492,6 +1481,9 @@ compile_OSL() {
# Stick to same rev as windows' libs... # Stick to same rev as windows' libs...
git checkout $OSL_SOURCE_REPO_UID git checkout $OSL_SOURCE_REPO_UID
git reset --hard git reset --hard
# XXX Ugly patching hack!
patch -p1 -i "$SCRIPT_DIR/install_deps_patches/osl.patch"
fi fi
# Always refresh the whole build! # Always refresh the whole build!
@@ -1533,6 +1525,9 @@ compile_OSL() {
fi fi
fi fi
#~ cmake_d="$cmake_d -D CMAKE_EXPORT_COMPILE_COMMANDS=ON"
#~ cmake_d="$cmake_d -D CMAKE_VERBOSE_MAKEFILE=ON"
cmake $cmake_d .. cmake $cmake_d ..
make -j$THREADS && make install make -j$THREADS && make install

View File

@@ -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)

View File

@@ -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})