diff options
Diffstat (limited to 'scripts/uni-build-dependencies.sh')
-rwxr-xr-x | scripts/uni-build-dependencies.sh | 107 |
1 files changed, 93 insertions, 14 deletions
diff --git a/scripts/uni-build-dependencies.sh b/scripts/uni-build-dependencies.sh index 3da11ec..09b6b79 100755 --- a/scripts/uni-build-dependencies.sh +++ b/scripts/uni-build-dependencies.sh @@ -24,14 +24,25 @@ # # Prerequisites: # - wget or curl -# - Qt4 +# - OpenGL (GL/gl.h) +# - GLU (GL/glu.h) # - gcc +# - Qt4 +# +# If your system lacks qt4, build like this: +# +# ./scripts/uni-build-dependencies.sh qt4 +# . ./scripts/setenv-unibuild.sh # -# Enable Clang (experimental, only works on linux): +# If your system lacks glu, try to build like this: +# +# ./scripts/uni-build-dependencies.sh glu +# +# If you want to try Clang compiler (experimental, only works on linux): # # . ./scripts/setenv-unibuild.sh clang # -# Enable Qt5 (experimental) +# If you want to try Qt5 (experimental) # # . ./scripts/setenv-unibuild.sh qt5 # @@ -42,6 +53,51 @@ printUsage() echo } +build_glu() +{ + version=$1 + if [ -e $DEPLOYDIR/lib/libGLU.so ]; then + echo "GLU already installed. not building" + return + fi + echo "Building GLU" $version "..." + cd $BASEDIR/src + rm -rf glu-$version + if [ ! -f glu-$version.tar.gz ]; then + curl -O http://cgit.freedesktop.org/mesa/glu/snapshot/glu-$version.tar.gz + fi + tar xzf glu-$version.tar.gz + cd glu-$version + ./autogen.sh --prefix=$DEPLOYDIR + make -j$NUMCPU + make install +} + +build_qt4() +{ + version=$1 + if [ -e $DEPLOYDIR/include/Qt ]; then + echo "qt already installed. not building" + return + fi + echo "Building Qt" $version "..." + cd $BASEDIR/src + rm -rf qt-everywhere-opensource-src-$version + if [ ! -f qt-everywhere-opensource-src-$version.tar.gz ]; then + curl -O http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-$version.tar.gz + fi + tar xzf qt-everywhere-opensource-src-$version.tar.gz + cd qt-everywhere-opensource-src-$version + ./configure -prefix $DEPLOYDIR -opensource -confirm-license -fast -no-qt3support -no-svg -no-phonon -no-audio-backend -no-multimedia -no-javascript-jit -no-script -no-scripttools -no-declarative -no-xmlpatterns -nomake demos -nomake examples -nomake docs -nomake translations -no-webkit + make -j$NUMCPU + make install + QTDIR=$DEPLOYDIR + export QTDIR + echo "----------" + echo " Please set QTDIR to $DEPLOYDIR ( or run '. scripts/setenv-unibuild.sh' )" + echo "----------" +} + build_bison() { version=$1 @@ -196,7 +252,12 @@ build_boost() fi else $BJAMBIN -j$NUMCPU - $BJAMBIN install + if [ $? = 0 ]; then + $BJAMBIN install + else + echo boost build failed + exit 1 + fi fi } @@ -211,19 +272,28 @@ build_cgal() cd $BASEDIR/src rm -rf CGAL-$version if [ ! -f CGAL-$version.tar.* ]; then - #4.0.2 - curl --insecure -O https://gforge.inria.fr/frs/download.php/31174/CGAL-$version.tar.bz2 - # 4.0 curl --insecure -O https://gforge.inria.fr/frs/download.php/30387/CGAL-$version.tar.gz - # 3.9 curl --insecure -O https://gforge.inria.fr/frs/download.php/29125/CGAL-$version.tar.gz + # 4.1 + curl --insecure -O https://gforge.inria.fr/frs/download.php/31640/CGAL-$version.tar.bz2 + # 4.0.2 curl --insecure -O https://gforge.inria.fr/frs/download.php/31174/CGAL-$version.tar.bz2 + # 4.0 curl --insecure -O https://gforge.inria.fr/frs/download.php/30387/CGAL-$version.tar.gz #4.0 + # 3.9 curl --insecure -O https://gforge.inria.fr/frs/download.php/29125/CGAL-$version.tar.gz #3.9 # 3.8 curl --insecure -O https://gforge.inria.fr/frs/download.php/28500/CGAL-$version.tar.gz # 3.7 curl --insecure -O https://gforge.inria.fr/frs/download.php/27641/CGAL-$version.tar.gz fi - tar jxf CGAL-$version.tar.bz2 + tar xf CGAL-$version.tar.bz2 cd CGAL-$version + mkdir bin + cd bin + rm -rf ./* + if [ "`uname -a| grep ppc64`" ]; then + CGAL_BUILDTYPE="Release" # avoid assertion violation + else + CGAL_BUILDTYPE="Debug" + fi if [ "`echo $2 | grep use-sys-libs`" ]; then - cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DCMAKE_BUILD_TYPE=Debug + cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DCMAKE_BUILD_TYPE=$CGAL_BUILDTYPE .. else - cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DGMP_INCLUDE_DIR=$DEPLOYDIR/include -DGMP_LIBRARIES=$DEPLOYDIR/lib/libgmp.so -DGMPXX_LIBRARIES=$DEPLOYDIR/lib/libgmpxx.so -DGMPXX_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_LIBRARIES=$DEPLOYDIR/lib/libmpfr.so -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DBOOST_ROOT=$DEPLOYDIR -DCMAKE_BUILD_TYPE=Debug + cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DGMP_INCLUDE_DIR=$DEPLOYDIR/include -DGMP_LIBRARIES=$DEPLOYDIR/lib/libgmp.so -DGMPXX_LIBRARIES=$DEPLOYDIR/lib/libgmpxx.so -DGMPXX_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_LIBRARIES=$DEPLOYDIR/lib/libmpfr.so -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DBOOST_ROOT=$DEPLOYDIR -DCMAKE_BUILD_TYPE=$CGAL_BUILD_TYPE .. fi make -j$NUMCPU make install @@ -284,7 +354,7 @@ build_glew() build_opencsg() { - if [ -e $DEPLOYDIR/include/opencsg.h ]; then + if [ -e $DEPLOYDIR/lib/libopencsg.so ]; then echo "OpenCSG already installed. not building" return fi @@ -438,6 +508,16 @@ if [ $1 ]; then build_opencsg 1.3.2 exit fi + if [ $1 == "qt4" ]; then + # such a huge build, put here by itself + build_qt4 4.8.4 + exit + fi + if [ $1 == "glu" ]; then + # Mesa and GLU split in late 2012, so it's not on some systems + build_glu 9.0.0 + exit + fi fi @@ -445,13 +525,12 @@ fi # Main build of libraries # edit version numbers here as needed. # - build_eigen 3.1.1 build_gmp 5.0.5 build_mpfr 3.1.1 build_boost 1.49.0 # NB! For CGAL, also update the actual download URL in the function -build_cgal 4.0.2 +build_cgal 4.1 build_glew 1.9.0 build_opencsg 1.3.2 |