diff options
| author | Marius Kintel <marius@kintel.net> | 2012-10-30 13:43:49 (GMT) | 
|---|---|---|
| committer | Marius Kintel <marius@kintel.net> | 2012-10-30 13:43:49 (GMT) | 
| commit | 467f8968434c9a46c17edae1bfdba5eb1c756eff (patch) | |
| tree | b44bfd37aaa8a835af72bbde9426895ea9c85b04 /scripts | |
| parent | 73d8d3cca4de55e81d47732f2b1f9507cc0d23b4 (diff) | |
| parent | 65c57886769b86cf785ab2049d32311c4c52126a (diff) | |
Merge branch 'master' into issue202svg
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/macosx-build-dependencies.sh | 67 | 
1 files changed, 50 insertions, 17 deletions
| diff --git a/scripts/macosx-build-dependencies.sh b/scripts/macosx-build-dependencies.sh index 73e4118..1036320 100755 --- a/scripts/macosx-build-dependencies.sh +++ b/scripts/macosx-build-dependencies.sh @@ -9,6 +9,7 @@  # Usage: macosx-build-dependencies.sh [-6l]  #  -6   Build only 64-bit binaries  #  -l   Force use of LLVM compiler +#  -c   Force use of clang compiler  #  # Prerequisites:  # - MacPorts: curl, cmake @@ -26,14 +27,18 @@ DEPLOYDIR=$BASEDIR/install  MAC_OSX_VERSION_MIN=10.5  OPTION_32BIT=true  OPTION_LLVM=false +OPTION_CLANG=false +OPTION_GCC=false +DETECTED_LION=false  export QMAKESPEC=macx-g++  printUsage()  { -  echo "Usage: $0 [-6l]" +  echo "Usage: $0 [-6lc]"    echo    echo "  -6   Build only 64-bit binaries"    echo "  -l   Force use of LLVM compiler" +  echo "  -c   Force use of clang compiler"  }  # Hack warning: gmplib is built separately in 32-bit and 64-bit mode @@ -180,16 +185,21 @@ build_boost()    tar xjf boost_$bversion.tar.bz2    cd boost_$bversion    # We only need the thread and program_options libraries -  ./bootstrap.sh --prefix=$DEPLOYDIR --with-libraries=thread,program_options,filesystem,system,regex +  ./bootstrap.sh --prefix=$DEPLOYDIR --with-libraries=thread,program_options,filesystem,chrono,system,regex    if $OPTION_32BIT; then      BOOST_EXTRA_FLAGS="-arch i386"    fi    if $OPTION_LLVM; then      BOOST_TOOLSET="toolset=darwin-llvm"      echo "using darwin : llvm : llvm-g++ ;" >> tools/build/v2/user-config.jam  +  elif $OPTION_CLANG; then +    BOOST_TOOLSET="toolset=clang" +    echo "using clang ;" >> tools/build/v2/user-config.jam     fi    ./b2 -d+2 $BOOST_TOOLSET cflags="-mmacosx-version-min=$MAC_OSX_VERSION_MIN -arch x86_64 $BOOST_EXTRA_FLAGS" linkflags="-mmacosx-version-min=$MAC_OSX_VERSION_MIN -arch x86_64 $BOOST_EXTRA_FLAGS" install    install_name_tool -id $DEPLOYDIR/lib/libboost_thread.dylib $DEPLOYDIR/lib/libboost_thread.dylib  +  install_name_tool -change libboost_system.dylib $DEPLOYDIR/lib/libboost_system.dylib $DEPLOYDIR/lib/libboost_thread.dylib  +  install_name_tool -change libboost_chrono.dylib $DEPLOYDIR/lib/libboost_chrono.dylib $DEPLOYDIR/lib/libboost_thread.dylib     install_name_tool -id $DEPLOYDIR/lib/libboost_program_options.dylib $DEPLOYDIR/lib/libboost_program_options.dylib     install_name_tool -id $DEPLOYDIR/lib/libboost_filesystem.dylib $DEPLOYDIR/lib/libboost_filesystem.dylib     install_name_tool -change libboost_system.dylib $DEPLOYDIR/lib/libboost_system.dylib $DEPLOYDIR/lib/libboost_filesystem.dylib  @@ -206,8 +216,10 @@ build_cgal()    cd $BASEDIR/src    rm -rf CGAL-$version    if [ ! -f CGAL-$version.tar.gz ]; then -      # 4.0.2 -      curl -O https://gforge.inria.fr/frs/download.php/31175/CGAL-$version.tar.gz +    # 4.1 +    curl -O https://gforge.inria.fr/frs/download.php/31641/CGAL-$version.tar.gz +    # 4.1-beta1 curl -O https://gforge.inria.fr/frs/download.php/31348/CGAL-$version.tar.gz +    # 4.0.2 curl -O https://gforge.inria.fr/frs/download.php/31175/CGAL-$version.tar.gz      # 4.0 curl -O https://gforge.inria.fr/frs/download.php/30387/CGAL-$version.tar.gz      # 3.9 curl -O https://gforge.inria.fr/frs/download.php/29125/CGAL-$version.tar.gz      # 3.8 curl -O https://gforge.inria.fr/frs/download.php/28500/CGAL-$version.tar.gz @@ -218,7 +230,7 @@ build_cgal()    if $OPTION_32BIT; then      CGAL_EXTRA_FLAGS=";i386"    fi -  cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DGMP_INCLUDE_DIR=$DEPLOYDIR/include -DGMP_LIBRARIES=$DEPLOYDIR/lib/libgmp.dylib -DGMPXX_LIBRARIES=$DEPLOYDIR/lib/libgmpxx.dylib -DGMPXX_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_LIBRARIES=$DEPLOYDIR/lib/libmpfr.dylib -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DBUILD_SHARED_LIBS=TRUE -DCMAKE_OSX_DEPLOYMENT_TARGET="$MAC_OSX_VERSION_MIN" -DCMAKE_OSX_ARCHITECTURES="x86_64$CGAL_EXTRA_FLAGS" -DBOOST_ROOT=$DEPLOYDIR +  cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DGMP_INCLUDE_DIR=$DEPLOYDIR/include -DGMP_LIBRARIES=$DEPLOYDIR/lib/libgmp.dylib -DGMPXX_LIBRARIES=$DEPLOYDIR/lib/libgmpxx.dylib -DGMPXX_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_LIBRARIES=$DEPLOYDIR/lib/libmpfr.dylib -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DBUILD_SHARED_LIBS=TRUE -DCMAKE_OSX_DEPLOYMENT_TARGET="$MAC_OSX_VERSION_MIN" -DCMAKE_OSX_ARCHITECTURES="x86_64$CGAL_EXTRA_FLAGS" -DBOOST_ROOT=$DEPLOYDIR -DBoost_USE_MULTITHREADED=false    make -j4    make install    install_name_tool -id $DEPLOYDIR/lib/libCGAL.dylib $DEPLOYDIR/lib/libCGAL.dylib @@ -241,7 +253,7 @@ build_glew()    if $OPTION_32BIT; then      GLEW_EXTRA_FLAGS="-arch i386"    fi -  make GLEW_DEST=$DEPLOYDIR CFLAGS.EXTRA="-no-cpp-precomp -dynamic -fno-common -mmacosx-version-min=$MAC_OSX_VERSION_MIN $GLEW_EXTRA_FLAGS -arch x86_64" LDFLAGS.EXTRA="-mmacosx-version-min=$MAC_OSX_VERSION_MIN $GLEW_EXTRA_FLAGS -arch x86_64" STRIP= install +  make GLEW_DEST=$DEPLOYDIR CC=$CC CFLAGS.EXTRA="-no-cpp-precomp -dynamic -fno-common -mmacosx-version-min=$MAC_OSX_VERSION_MIN $GLEW_EXTRA_FLAGS -arch x86_64" LDFLAGS.EXTRA="-mmacosx-version-min=$MAC_OSX_VERSION_MIN $GLEW_EXTRA_FLAGS -arch x86_64" STRIP= install  }  build_opencsg() @@ -301,33 +313,54 @@ if [ ! -f $OPENSCADDIR/openscad.pro ]; then    exit 0  fi -while getopts '6l' c +while getopts '6lc' c  do    case $c in      6) OPTION_32BIT=false;;      l) OPTION_LLVM=true;; +    c) OPTION_CLANG=true;;    esac  done  OSVERSION=`sw_vers -productVersion | cut -d. -f2`  if [[ $OSVERSION -ge 7 ]]; then    echo "Detected Lion or later" -  export LION=1 -  export CC=gcc -  export CXX=g++ -  export CPP=cpp -  # Somehow, qmake in Qt-4.8.2 doesn't detect Lion's gcc and falls back into -  # project file mode unless manually given a QMAKESPEC -  export QMAKESPEC=macx-llvm +  DETECTED_LION=true  else    echo "Detected Snow Leopard or earlier"  fi +USING_LLVM=false +USING_GCC=false +USING_CLANG=false  if $OPTION_LLVM; then -  echo "Using LLVM compiler" +  USING_LLCM=true +elif $OPTION_GCC; then +  USING_GCC=true +elif $OPTION_CLANG; then +  USING_CLANG=true +elif $DETECTED_LION; then +  USING_GCC=true +fi + +if $USING_LLVM; then +  echo "Using gcc LLVM compiler"    export CC=llvm-gcc    export CXX=llvm-g++    export QMAKESPEC=macx-llvm +elif $USING_GCC; then +  echo "Using gcc compiler" +  export CC=gcc +  export CXX=g++ +  export CPP=cpp +  # Somehow, qmake in Qt-4.8.2 doesn't detect Lion's gcc and falls back into +  # project file mode unless manually given a QMAKESPEC +  export QMAKESPEC=macx-llvm +elif $USING_CLANG; then +  echo "Using clang compiler" +  export CC=clang +  export CXX=clang++ +  export QMAKESPEC=unsupported/macx-clang  fi  echo "Using basedir:" $BASEDIR @@ -335,8 +368,8 @@ mkdir -p $SRCDIR $DEPLOYDIR  build_eigen 3.1.1  build_gmp 5.0.5  build_mpfr 3.1.1 -build_boost 1.50.0 +build_boost 1.51.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 | 
