diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2015-02-03 21:56:28 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2015-02-03 21:59:07 +0300 |
commit | f4535c1a7a51df319d99fe8e60168e5d816a038c (patch) | |
tree | 3b09f80c33bb2d558dd7f493d2a5e7aa7277b20b | |
parent | c2f6a0753102666da21f5e872cc87d411f643b6a (diff) |
Install_deps: update to new exr/oiio versions, and (hopefully) fix ILMBase mess
Root of the issue is an (hidden!) parameter in ILMBase cmake options, that
is enabled by default, and force the generation of those ugly lib names
(Imf_2_2.so & co). Why why why enable such thing by default?
Anyway, it should be simpler to build again even on linuxes having the openexr -dev
package installed.
Also, cleaned up a bit things, now we can switch between repo and plain release archive
building from a single place for each lib, instead of commentting/uncommenting everything
each time (for libs where we have some git repo set up for some reason).
-rwxr-xr-x | build_files/build_environment/install_deps.sh | 164 |
1 files changed, 89 insertions, 75 deletions
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh index e4e360a0bbf..45decac7a61 100755 --- a/build_files/build_environment/install_deps.sh +++ b/build_files/build_environment/install_deps.sh @@ -209,14 +209,14 @@ OCIO_VERSION_MIN="1.0" OCIO_FORCE_REBUILD=false OCIO_SKIP=false -OPENEXR_VERSION="2.1.0" +OPENEXR_VERSION="2.2.0" OPENEXR_VERSION_MIN="2.0.1" -ILMBASE_VERSION="2.1.0" +ILMBASE_VERSION="2.2.0" OPENEXR_FORCE_REBUILD=false OPENEXR_SKIP=false _with_built_openexr=false -OIIO_VERSION="1.4.11" +OIIO_VERSION="1.4.16" OIIO_VERSION_MIN="1.4.0" OIIO_FORCE_REBUILD=false OIIO_SKIP=false @@ -228,7 +228,7 @@ LLVM_FORCE_REBUILD=false LLVM_SKIP=false # OSL needs to be compiled for now! -OSL_VERSION="1.5.0" +OSL_VERSION="1.5.11" OSL_VERSION_MIN=$OSL_VERSION OSL_FORCE_REBUILD=false OSL_SKIP=false @@ -485,25 +485,29 @@ BOOST_SOURCE=( "http://sourceforge.net/projects/boost/files/boost/$BOOST_VERSION OCIO_SOURCE=( "https://github.com/imageworks/OpenColorIO/tarball/v$OCIO_VERSION" ) -#OPENEXR_SOURCE=( "http://download.savannah.nongnu.org/releases/openexr/openexr-$OPENEXR_VERSION.tar.gz" ) -OPENEXR_SOURCE=( "https://github.com/mont29/openexr.git" ) -OPENEXR_REPO_UID="2787aa1cf652d244ed45ae124eb1553f6cff11ee" +OPENEXR_USE_REPO=false +OPENEXR_SOURCE=( "http://download.savannah.nongnu.org/releases/openexr/openexr-$OPENEXR_VERSION.tar.gz" ) +OPENEXR_SOURCE_REPO=( "https://github.com/mont29/openexr.git" ) +OPENEXR_SOURCE_REPO_UID="2787aa1cf652d244ed45ae124eb1553f6cff11ee" ILMBASE_SOURCE=( "http://download.savannah.nongnu.org/releases/openexr/ilmbase-$ILMBASE_VERSION.tar.gz" ) -#OIIO_SOURCE=( "https://github.com/OpenImageIO/oiio/archive/Release-$OIIO_VERSION.tar.gz" ) -OIIO_SOURCE=( "https://github.com/OpenImageIO/oiio.git" ) -OIIO_REPO_UID="c9e67275a0b248ead96152f6d2221cc0c0f278a4" +OPENEXR_USE_REPO=false +OIIO_SOURCE=( "https://github.com/OpenImageIO/oiio/archive/Release-$OIIO_VERSION.tar.gz" ) +OIIO_SOURCE_REPO=( "https://github.com/OpenImageIO/oiio.git" ) +OIIO_SOURCE_REPO_UID="c9e67275a0b248ead96152f6d2221cc0c0f278a4" LLVM_SOURCE=( "http://llvm.org/releases/$LLVM_VERSION/llvm-$LLVM_VERSION.src.tar.gz" ) LLVM_CLANG_SOURCE=( "http://llvm.org/releases/$LLVM_VERSION/clang-$LLVM_VERSION.src.tar.gz" "http://llvm.org/releases/$LLVM_VERSION/cfe-$LLVM_VERSION.src.tar.gz" ) -#OSL_SOURCE=( "https://github.com/imageworks/OpenShadingLanguage/archive/Release-$OSL_VERSION.tar.gz" ) -#OSL_SOURCE=( "https://github.com/imageworks/OpenShadingLanguage.git" ) -#OSL_SOURCE=( "https://github.com/mont29/OpenShadingLanguage.git" ) -#OSL_REPO_UID="85179714e1bc69cd25ecb6bb711c1a156685d395" -#OSL_REPO_BRANCH="master" -OSL_SOURCE=( "https://github.com/Nazg-Gul/OpenShadingLanguage.git" ) -OSL_REPO_UID="22ee5ea298fd215430dfbd160b5aefd507f06db0" -OSL_REPO_BRANCH="blender-fixes" +OSL_USE_REPO=true +#~ OSL_SOURCE=( "https://github.com/imageworks/OpenShadingLanguage/archive/Release-$OSL_VERSION.tar.gz" ) +OSL_SOURCE=( "https://github.com/Nazg-Gul/OpenShadingLanguage/archive/Release-1.5.11.tar.gz" ) +#~ OSL_SOURCE_REPO=( "https://github.com/imageworks/OpenShadingLanguage.git" ) +#~ OSL_SOURCE_REPO=( "https://github.com/mont29/OpenShadingLanguage.git" ) +#~ OSL_SOURCE_REPO_UID="85179714e1bc69cd25ecb6bb711c1a156685d395" +#~ OSL_SOURCE_REPO_BRANCH="master" +OSL_SOURCE_REPO=( "https://github.com/Nazg-Gul/OpenShadingLanguage.git" ) +OSL_SOURCE_REPO_UID="22ee5ea298fd215430dfbd160b5aefd507f06db0" +OSL_SOURCE_REPO_BRANCH="blender-fixes" OPENCOLLADA_SOURCE=( "https://github.com/KhronosGroup/OpenCOLLADA.git" ) OPENCOLLADA_REPO_UID="18da7f4109a8eafaa290a33f5550501cc4c8bae8" @@ -979,7 +983,7 @@ clean_ILMBASE() { compile_ILMBASE() { # To be changed each time we make edits that would modify the compiled result! - ilmbase_magic=9 + ilmbase_magic=10 _init_ilmbase # Clean install if needed! @@ -1003,8 +1007,7 @@ compile_ILMBASE() { download ILMBASE_SOURCE[@] $_src.tar.gz INFO "Unpacking ILMBase-$ILMBASE_VERSION" - tar -C $SRC --transform "s,(.*/?)ilmbase-[^/]*(.*),\1ILMBase-$ILMBASE_VERSION\2,x" \ - -xf $_src.tar.gz + tar -C $SRC --transform "s,(.*/?)ilmbase-[^/]*(.*),\1ILMBase-$ILMBASE_VERSION\2,x" -xf $_src.tar.gz fi @@ -1020,6 +1023,7 @@ compile_ILMBASE() { cmake_d="$cmake_d -D CMAKE_PREFIX_PATH=$_inst" cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" cmake_d="$cmake_d -D BUILD_SHARED_LIBS=ON" + cmake_d="$cmake_d -D NAMESPACE_VERSIONING=OFF" # VERY IMPORTANT!!! if file /bin/cp | grep -q '32-bit'; then cflags="-fPIC -m32 -march=i686" @@ -1092,24 +1096,28 @@ compile_OPENEXR() { INFO "Downloading OpenEXR-$OPENEXR_VERSION" mkdir -p $SRC -# download OPENEXR_SOURCE[@] $_src.tar.gz - -# INFO "Unpacking OpenEXR-$OPENEXR_VERSION" -# tar -C $SRC --transform "s,(.*/?)openexr[^/]*(.*),\1OpenEXR-$OPENEXR_VERSION\2,x" \ -# -xf $_src.tar.gz - - git clone ${OPENEXR_SOURCE[0]} $_src + if [ $OPENEXR_USE_REPO == true ]; then + git clone ${OPENEXR_SOURCE_REPO[0]} $_src + else + download OPENEXR_SOURCE[@] $_src.tar.gz + INFO "Unpacking OpenEXR-$OPENEXR_VERSION" + tar -C $SRC --transform "s,(.*/?)openexr[^/]*(.*),\1OpenEXR-$OPENEXR_VERSION\2,x" -xf $_src.tar.gz + fi fi cd $_src - # XXX For now, always update from latest repo... - git pull origin master - - # Stick to same rev as windows' libs... - git checkout $OPENEXR_REPO_UID - git reset --hard + if [ $OPENEXR_USE_REPO == true ]; then + # XXX For now, always update from latest repo... + git pull origin master + # Stick to same rev as windows' libs... + git checkout $OPENEXR_SOURCE_REPO_UID + git reset --hard + oiio_src_path="../OpenEXR" + else + oiio_src_path=".." + fi # Always refresh the whole build! if [ -d build ]; then @@ -1123,6 +1131,7 @@ compile_OPENEXR() { cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" cmake_d="$cmake_d -D ILMBASE_PACKAGE_PREFIX=$_ilmbase_inst" cmake_d="$cmake_d -D BUILD_SHARED_LIBS=ON" + cmake_d="$cmake_d -D NAMESPACE_VERSIONING=OFF" # VERY IMPORTANT!!! if file /bin/cp | grep -q '32-bit'; then cflags="-fPIC -m32 -march=i686" @@ -1130,7 +1139,7 @@ compile_OPENEXR() { cflags="-fPIC" fi - cmake $cmake_d -D CMAKE_CXX_FLAGS="$cflags" -D CMAKE_EXE_LINKER_FLAGS="-lgcc_s -lgcc" ../OpenEXR + cmake $cmake_d -D CMAKE_CXX_FLAGS="$cflags" -D CMAKE_EXE_LINKER_FLAGS="-lgcc_s -lgcc" $oiio_src_path make -j$THREADS && make install @@ -1194,24 +1203,25 @@ compile_OIIO() { if [ ! -d $_src ]; then mkdir -p $SRC - #download OIIO_SOURCE[@] "$_src.tar.gz" -# - #INFO "Unpacking OpenImageIO-$OIIO_VERSION" - #tar -C $SRC --transform "s,(.*/?)oiio-Release-[^/]*(.*),\1OpenImageIO-$OIIO_VERSION\2,x" \ - #-xf $_src.tar.gz - - git clone ${OIIO_SOURCE[0]} $_src + if [ $OIIO_USE_REPO == true ]; then + git clone ${OIIO_SOURCE_REPO[0]} $_src + else + download OIIO_SOURCE[@] "$_src.tar.gz" + INFO "Unpacking OpenImageIO-$OIIO_VERSION" + tar -C $SRC --transform "s,(.*/?)oiio-Release-[^/]*(.*),\1OpenImageIO-$OIIO_VERSION\2,x" -xf $_src.tar.gz + fi fi cd $_src - # XXX For now, always update from latest repo... - git pull origin master - - # Stick to same rev as windows' libs... - git checkout $OIIO_REPO_UID - git reset --hard + if [ $OIIO_USE_REPO == true ]; then + # XXX For now, always update from latest repo... + git pull origin master + # Stick to same rev as windows' libs... + git checkout $OIIO_SOURCE_REPO_UID + git reset --hard + fi # Always refresh the whole build! if [ -d build ]; then @@ -1233,6 +1243,7 @@ compile_OIIO() { if [ $_with_built_openexr == true ]; then cmake_d="$cmake_d -D ILMBASE_HOME=$INST/openexr" cmake_d="$cmake_d -D OPENEXR_HOME=$INST/openexr" + INFO "ILMBASE_HOME=$INST/openexr" fi # Optional tests and cmd tools @@ -1409,15 +1420,15 @@ clean_OSL() { compile_OSL() { # To be changed each time we make edits that would modify the compiled result! - osl_magic=16 + osl_magic=17 _init_osl # Clean install if needed! magic_compile_check osl-$OSL_VERSION $osl_magic - 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 + #~ 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 if [ ! -d $_inst ]; then INFO "Building OpenShadingLanguage-$OSL_VERSION" @@ -1427,26 +1438,26 @@ compile_OSL() { if [ ! -d $_src ]; then mkdir -p $SRC - #download OSL_SOURCE[@] "$_src.tar.gz" - - #INFO "Unpacking OpenShadingLanguage-$OSL_VERSION" - #tar -C $SRC --transform "s,(.*/?)OpenShadingLanguage-[^/]*(.*),\1OpenShadingLanguage-$OSL_VERSION\2,x" \ - #-xf $_src.tar.gz - - git clone ${OSL_SOURCE[0]} $_src - + if [ $OSL_USE_REPO == true ]; then + git clone ${OSL_SOURCE_REPO[0]} $_src + else + download OSL_SOURCE[@] "$_src.tar.gz" + INFO "Unpacking OpenShadingLanguage-$OSL_VERSION" + tar -C $SRC --transform "s,(.*/?)OpenShadingLanguage-[^/]*(.*),\1OpenShadingLanguage-$OSL_VERSION\2,x" \ + -xf $_src.tar.gz + fi fi cd $_src - git remote set-url origin ${OSL_SOURCE[0]} - - # XXX For now, always update from latest repo... - git pull --no-edit -X theirs origin $OSL_GIT_BRANCH - - # Stick to same rev as windows' libs... - git checkout $OSL_REPO_UID - git reset --hard + if [ $OSL_USE_REPO == true ]; then + git remote set-url origin ${OSL_SOURCE_REPO[0]} + # XXX For now, always update from latest repo... + git pull --no-edit -X theirs origin $OSL_SOURCE_REPO_BRANCH + # Stick to same rev as windows' libs... + git checkout $OSL_SOURCE_REPO_UID + git reset --hard + fi # Always refresh the whole build! if [ -d build ]; then @@ -1461,11 +1472,14 @@ compile_OSL() { cmake_d="$cmake_d -D STOP_ON_WARNING=OFF" cmake_d="$cmake_d -D BUILDSTATIC=OFF" - cmake_d="$cmake_d -D ILMBASE_VERSION=$ILMBASE_VERSION" + #~ cmake_d="$cmake_d -D ILMBASE_VERSION=$ILMBASE_VERSION" if [ $_with_built_openexr == true ]; then INFO "ILMBASE_HOME=$INST/openexr" cmake_d="$cmake_d -D ILMBASE_HOME=$INST/openexr" + # XXX Temp workaround... sigh, ILMBase really messed the things up by defining their custom names ON by default :( + cmake_d="$cmake_d -D ILMBASE_CUSTOM=ON" + cmake_d="$cmake_d -D ILMBASE_CUSTOM_LIBRARIES='Half;Iex;Imath;IlmThread'" fi if [ -d $INST/boost ]; then @@ -1978,7 +1992,7 @@ install_DEB() { if [ $? -eq 0 ]; then install_packages_DEB libboost-locale$boost_version-dev libboost-filesystem$boost_version-dev \ libboost-regex$boost_version-dev libboost-system$boost_version-dev \ - libboost-thread$boost_version-dev + libboost-thread$boost_version-dev libboost-wave$boost_version-dev clean_Boost else compile_Boost @@ -3039,10 +3053,10 @@ print_info() { PRINT "BF_OPENEXR = '$INST/openexr'" _ilm_libs_ext="" - version_ge $OPENEXR_VERSION "2.1.0" - if [ $? -eq 0 ]; then - _ilm_libs_ext=`echo $OPENEXR_VERSION | sed -r 's/([0-9]+)\.([0-9]+).*/-\1_\2/'` - fi + #~ version_ge $OPENEXR_VERSION "2.1.0" + #~ if [ $? -eq 0 ]; then + #~ _ilm_libs_ext=`echo $OPENEXR_VERSION | sed -r 's/([0-9]+)\.([0-9]+).*/-\1_\2/'` + #~ fi PRINT "BF_OPENEXR_LIB = 'Half IlmImf$_ilm_libs_ext Iex$_ilm_libs_ext Imath$_ilm_libs_ext '" # BF_OPENEXR_LIB does not work, things like '-lIlmImf-2_1' do not suit ld. # For now, hack around!!! |