summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/linux-build-dependencies.sh67
-rw-r--r--scripts/setenv-linbuild-clang.sh12
-rw-r--r--scripts/setenv-linbuild.sh4
3 files changed, 63 insertions, 20 deletions
diff --git a/scripts/linux-build-dependencies.sh b/scripts/linux-build-dependencies.sh
index bc1e74d..a9dbbc5 100755
--- a/scripts/linux-build-dependencies.sh
+++ b/scripts/linux-build-dependencies.sh
@@ -118,8 +118,15 @@ build_boost()
cd boost_$bversion
# We only need certain portions of boost
./bootstrap.sh --prefix=$DEPLOYDIR --with-libraries=thread,program_options,filesystem,system,regex
- ./bjam -j$NUMCPU
- ./bjam install
+ if [ $CXX ]; then
+ if [ $CXX = "clang" ]; then
+ ./b2 -j$NUMCPU toolset=clang install
+ # ./b2 -j$NUMCPU toolset=clang cxxflags="-stdlib=libc++" linkflags="-stdlib=libc++" install
+ fi
+ else
+ ./b2 -j$NUMCPU
+ ./b2 install
+ fi
}
build_cgal()
@@ -129,15 +136,16 @@ build_cgal()
cd $BASEDIR/src
rm -rf CGAL-$version
if [ ! -f CGAL-$version.tar.gz ]; then
- #4.0
- curl -O https://gforge.inria.fr/frs/download.php/30387/CGAL-$version.tar.gz
+ #4.0.2
+ curl -O https://gforge.inria.fr/frs/download.php/31174/CGAL-$version.tar.bz2
+ # 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
# 3.7 curl -O https://gforge.inria.fr/frs/download.php/27641/CGAL-$version.tar.gz
fi
- tar xzf CGAL-$version.tar.gz
+ tar jxf CGAL-$version.tar.bz2
cd CGAL-$version
- if [ $2 = use-sys-libs ]; then
+ if [ $2 = 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
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
@@ -160,12 +168,21 @@ build_glew()
mkdir -p $DEPLOYDIR/lib/pkgconfig
# Fedora 64-bit
- if [ "`ls /usr/lib64 | grep Xmu`" ]; then
- echo "modifying glew makefile for 64 bit machine"
- sed -ibak s/"\-lXmu"/"\-L\/usr\/lib64\/libXmu.so.6"/ config/Makefile.linux
- fi
-
- GLEW_DEST=$DEPLOYDIR make -j$NUMCPU
+ if [ -e /usr/lib64 ]; then
+ if [ "`ls /usr/lib64 | grep Xmu`" ]; then
+ echo "modifying glew makefile for 64 bit machine"
+ sed -ibak s/"\-lXmu"/"\-L\/usr\/lib64\/libXmu.so.6"/ config/Makefile.linux
+ fi
+ fi
+
+ if [ $CC ]; then
+ if [ $CC = "clang" ]; then
+ echo "modifying glew makefile for clang"
+ sed -i s/\$\(CC\)/clang/ Makefile
+ fi
+ fi
+
+ GLEW_DEST=$DEPLOYDIR make -j$NUMCPU
GLEW_DEST=$DEPLOYDIR make install
}
@@ -183,25 +200,39 @@ build_opencsg()
sed -ibak s/example// opencsg.pro # examples might be broken without GLUT
# Fedora 64-bit
- if [ "`ls /usr/lib64 | grep Xmu`" ]; then
- echo "modifying opencsg makefile for 64 bit machine"
- sed -ibak s/"\-lXmu"/"\-L\/usr\/lib64\/libXmu.so.6"/ src/Makefile
- fi
+ if [ -e /usr/lib64 ]; then
+ if [ "`ls /usr/lib64 | grep Xmu`" ]; then
+ echo "modifying opencsg makefile for 64 bit machine"
+ sed -ibak s/"\-lXmu"/"\-L\/usr\/lib64\/libXmu.so.6"/ src/Makefile
+ fi
+ fi
if [ `uname | grep FreeBSD` ]; then
sed -ibak s/X11R6/local/g src/Makefile
fi
if [ "`command -v qmake-qt4`" ]; then
- qmake-qt4
+ OPENCSG_QMAKE=qmake-qt4
else
- qmake
+ OPENCSG_QMAKE=qmake
fi
+ if [ $CXX ]; then
+ if [ $CXX = "clang++" ]; then
+ cd $BASEDIR/src/OpenCSG-$version/src
+ $OPENCSG_QMAKE
+ cd $BASEDIR/src/OpenCSG-$version
+ $OPENCSG_QMAKE
+ fi
+ else
+ $OPENCSG_QMAKE
+ fi
+
make
cp -av lib/* $DEPLOYDIR/lib
cp -av include/* $DEPLOYDIR/include
+ cd $OPENSCADDIR
}
build_eigen()
diff --git a/scripts/setenv-linbuild-clang.sh b/scripts/setenv-linbuild-clang.sh
new file mode 100644
index 0000000..9551235
--- /dev/null
+++ b/scripts/setenv-linbuild-clang.sh
@@ -0,0 +1,12 @@
+# build dependencies and/or openscad on linux with the clang compiler
+
+export CC=clang
+export CXX=clang++
+export QMAKESPEC=unsupported/linux-clang
+
+echo CC has been modified: $CC
+echo CXX has been modified: $CXX
+echo QMAKESPEC has been modified: $QMAKESPEC
+
+. ./scripts/setenv-linbuild.sh
+
diff --git a/scripts/setenv-linbuild.sh b/scripts/setenv-linbuild.sh
index 6361dd4..338cac9 100644
--- a/scripts/setenv-linbuild.sh
+++ b/scripts/setenv-linbuild.sh
@@ -3,9 +3,9 @@
# run this file with 'source setenv-linbuild.sh' every time you re-login
# and want to build or run openscad against custom libraries installed
-# into BASEDIR.
+# into BASEDIR.
-# copy this file to your .bashrc if desired.
+# copy this file to your .bashrc if desired.
if [ ! $BASEDIR ]; then
BASEDIR=$HOME/openscad_deps
contact: Jan Huwald // Impressum