Changeset View
Standalone View
build_files/build_environment/install_deps.sh
| Show First 20 Lines • Show All 1,453 Lines • ▼ Show 20 Lines | if [ ! -d $_src ]; then | ||||
| download BOOST_SOURCE[@] $_src.tar.bz2 | download BOOST_SOURCE[@] $_src.tar.bz2 | ||||
| tar -C $SRC --transform "s,\w*,boost-$BOOST_VERSION,x" -xf $_src.tar.bz2 | tar -C $SRC --transform "s,\w*,boost-$BOOST_VERSION,x" -xf $_src.tar.bz2 | ||||
| fi | fi | ||||
| cd $_src | cd $_src | ||||
| if [ ! -f $_src/b2 ]; then | if [ ! -f $_src/b2 ]; then | ||||
| ./bootstrap.sh | ./bootstrap.sh | ||||
| fi | fi | ||||
| ./b2 -j$THREADS -a $BOOST_BUILD_MODULES \ | ./b2 --ignore-site-config -j$THREADS -a $BOOST_BUILD_MODULES \ | ||||
mont29: I would also only do that when needed (i.e., afaik, for gentoo only). | |||||
| --prefix=$_inst --disable-icu boost.locale.icu=off install | --prefix=$_inst --disable-icu boost.locale.icu=off install | ||||
| ./b2 --clean | ./b2 --clean | ||||
| if [ -d $_inst ]; then | if [ -d $_inst ]; then | ||||
| _create_inst_shortcut | _create_inst_shortcut | ||||
| else | else | ||||
| ERROR "Boost-$BOOST_VERSION failed to compile, exiting" | ERROR "Boost-$BOOST_VERSION failed to compile, exiting" | ||||
| exit 1 | exit 1 | ||||
| ▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | compile_OCIO() { | ||||
| magic_compile_check ocio-$OCIO_VERSION $ocio_magic | magic_compile_check ocio-$OCIO_VERSION $ocio_magic | ||||
| if [ $? -eq 1 -o "$OCIO_FORCE_REBUILD" = true ]; then | if [ $? -eq 1 -o "$OCIO_FORCE_REBUILD" = true ]; then | ||||
| clean_OCIO | clean_OCIO | ||||
| fi | fi | ||||
| if [ ! -d $_inst ]; then | if [ ! -d $_inst ]; then | ||||
| INFO "Building OpenColorIO-$OCIO_VERSION" | INFO "Building OpenColorIO-$OCIO_VERSION" | ||||
| _is_building=true | _is_building=true | ||||
| # Rebuild dependencies as well! | # Rebuild dependencies as well! | ||||
| _update_deps_ocio | _update_deps_ocio | ||||
| prepare_opt | prepare_opt | ||||
| if [ ! -d $_src ]; then | if [ ! -d $_src ]; then | ||||
| INFO "Downloading OpenColorIO-$OCIO_VERSION" | INFO "Downloading OpenColorIO-$OCIO_VERSION" | ||||
| mkdir -p $SRC | mkdir -p $SRC | ||||
| ▲ Show 20 Lines • Show All 428 Lines • ▼ Show 20 Lines | if [ ! -d $_inst ]; then | ||||
| if [ -d build ]; then | if [ -d build ]; then | ||||
| rm -rf build | rm -rf build | ||||
| fi | fi | ||||
| mkdir build | mkdir build | ||||
| cd build | cd build | ||||
| cmake_d="-D CMAKE_BUILD_TYPE=Release" | cmake_d="-D CMAKE_BUILD_TYPE=Release" | ||||
| cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" | cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" | ||||
| cmake_d="$cmake_d -D LLVM_ENABLE_FFI=ON" | cmake_d="$cmake_d -D LLVM_ENABLE_FFI=ON -D FFI_INCLUDE_DIR=/usr/lib64/libffi/include" | ||||
| cmake_d="$cmake_d -D LLVM_TARGETS_TO_BUILD=X86" | cmake_d="$cmake_d -D LLVM_TARGETS_TO_BUILD=X86" | ||||
| cmake_d="$cmake_d -D LLVM_ENABLE_TERMINFO=OFF" | cmake_d="$cmake_d -D LLVM_ENABLE_TERMINFO=OFF" | ||||
| if [ -d $_FFI_INCLUDE_DIR ]; then | #if [ -d $_FFI_INCLUDE_DIR ]; then | ||||
| cmake_d="$cmake_d -D FFI_INCLUDE_DIR=$_FFI_INCLUDE_DIR" | # cmake_d="$cmake_d -D FFI_INCLUDE_DIR=$_FFI_INCLUDE_DIR" | ||||
| fi | #fi | ||||
mont29Unsubmitted Not Done Inline ActionsWhat is the value of that _FFI_INCLUDE_DIR for you (or is it even defined) then? Think this is a trick from deb-like distros only? So an 'else' could work much better here... But then, cmake is supposed to handle (know) where to find those things, not sure why it would fail for the lib... If really needed, this should be protected by distro-specific checks (and probably rather use the pkg-config command directly for gentoo then) mont29: What is the value of that `_FFI_INCLUDE_DIR` for you (or is it even defined) then? Think this… | |||||
| cmake $cmake_d .. | cmake $cmake_d .. | ||||
| make -j$THREADS && make install | make -j$THREADS && make install | ||||
| make clean | make clean | ||||
| if [ -d $_inst ]; then | if [ -d $_inst ]; then | ||||
| _create_inst_shortcut | _create_inst_shortcut | ||||
| ▲ Show 20 Lines • Show All 436 Lines • ▼ Show 20 Lines | if [ ! -d $_inst ]; then | ||||
| make_d="DESTDIR=$_inst" | make_d="DESTDIR=$_inst" | ||||
| make_d="$make_d HDSO=/usr" | make_d="$make_d HDSO=/usr" | ||||
| if [ -d $INST/boost ]; then | if [ -d $INST/boost ]; then | ||||
| make_d="$make_d BOOST_INCL_DIR=$INST/boost/include BOOST_LIB_DIR=$INST/boost/lib" | make_d="$make_d BOOST_INCL_DIR=$INST/boost/include BOOST_LIB_DIR=$INST/boost/lib" | ||||
| fi | fi | ||||
| if [ "$_with_built_openexr" = true ]; then | if [ "$_with_built_openexr" = true ]; then | ||||
| make_d="$make_d ILMBASE_INCL_DIR=$INST/openexr/include ILMBASE_LIB_DIR=$INST/openexr/lib" | make_d="$make_d ILMBASE_INCL_DIR=$INST/openexr/include ILMBASE_LIB_DIR=$INST/openexr/lib64" | ||||
| make_d="$make_d EXR_INCL_DIR=$INST/openexr/include EXR_LIB_DIR=$INST/openexr/lib" | make_d="$make_d EXR_INCL_DIR=$INST/openexr/include EXR_LIB_DIR=$INST/openexr/lib64" | ||||
| make_d="$make_d HALF_INCL_DIR=$INST/openexr/include HALF_LIB_DIR=$INST/openexr/lib64" | |||||
mont29Unsubmitted Not Done Inline ActionsThis is obviously 100% not acceptable, what is to be fixed here is those libs being installed in /lib64. This is likely something from cmake - and I would expect it to also affect all other libs built by this script? We probably need to explicitly set INSTALL_LIB_DIR to lib in all our lib building using cmake... mont29: This is obviously 100% not acceptable, what is to be fixed here is those libs being installed… | |||||
| INFO "ILMBASE_HOME=$INST/openexr" | INFO "ILMBASE_HOME=$INST/openexr" | ||||
| fi | fi | ||||
| if [ -d $INST/blosc ]; then | if [ -d $INST/blosc ]; then | ||||
| make_d="$make_d BLOSC_INCL_DIR=$INST/blosc/include BLOSC_LIB_DIR=$INST/blosc/lib" | make_d="$make_d BLOSC_INCL_DIR=$INST/blosc/include BLOSC_LIB_DIR=$INST/blosc/lib" | ||||
| fi | fi | ||||
| # Build without log4cplus, glfw, python module & docs | # Build without log4cplus, glfw, python module & docs | ||||
| ▲ Show 20 Lines • Show All 279 Lines • ▼ Show 20 Lines | if [ ! -d $_inst ]; then | ||||
| if [ "$OPENCOLLADA_USE_REPO" = true ]; then | if [ "$OPENCOLLADA_USE_REPO" = true ]; then | ||||
| git pull origin $OPENCOLLADA_REPO_BRANCH | git pull origin $OPENCOLLADA_REPO_BRANCH | ||||
| # Stick to same rev as windows' libs... | # Stick to same rev as windows' libs... | ||||
| git checkout $OPENCOLLADA_REPO_UID | git checkout $OPENCOLLADA_REPO_UID | ||||
| git reset --hard | git reset --hard | ||||
| fi | fi | ||||
| sed -i "s/typedef struct real_pcre pcre;//g" COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h | |||||
| sed -i "s/struct real_pcre;/#include \"pcre.h\"/g" COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h | |||||
mont29Unsubmitted Not Done Inline ActionsShould be conditioned to version check of libpcre I guess? Weird, that is a 3 years issue already... and debian testing is still on libpcre3 8.39 here! mont29: Should be conditioned to version check of libpcre I guess?
Weird, that is a 3 years issue… | |||||
| # Always refresh the whole build! | # Always refresh the whole build! | ||||
| if [ -d build ]; then | if [ -d build ]; then | ||||
| rm -rf build | rm -rf build | ||||
| fi | fi | ||||
| mkdir build | mkdir build | ||||
| cd build | cd build | ||||
| cmake_d="-D CMAKE_BUILD_TYPE=Release" | cmake_d="-D CMAKE_BUILD_TYPE=Release" | ||||
| ▲ Show 20 Lines • Show All 2,693 Lines • Show Last 20 Lines | |||||
I would also only do that when needed (i.e., afaik, for gentoo only).