2012-12-05 08:18:12 +04:00
|
|
|
# setup environment variables for building OpenSCAD against custom built
|
2012-12-30 04:06:14 +04:00
|
|
|
# dependency libraries. works on Linux/BSD.
|
2012-12-05 08:18:12 +04:00
|
|
|
#
|
2012-12-30 04:06:14 +04:00
|
|
|
# Please see the 'uni-build-dependencies.sh' file for usage information
|
2012-12-05 08:18:12 +04:00
|
|
|
#
|
|
|
|
|
|
|
|
setenv_common()
|
|
|
|
{
|
|
|
|
if [ ! $BASEDIR ]; then
|
2012-12-20 21:55:13 +04:00
|
|
|
if [ -f openscad.pro ]; then
|
|
|
|
# if in main openscad dir, put under $HOME
|
|
|
|
BASEDIR=$HOME/openscad_deps
|
|
|
|
else
|
|
|
|
# otherwise, assume its being run 'out of tree'. treat it somewhat like
|
|
|
|
# "configure" or "cmake", so you can build dependencies where u wish.
|
2012-12-25 04:41:30 +04:00
|
|
|
echo "Warning: Not in OpenSCAD src dir... using current directory as base of build"
|
2012-12-20 21:59:50 +04:00
|
|
|
BASEDIR=$PWD/openscad_deps
|
2012-12-20 21:55:13 +04:00
|
|
|
fi
|
2012-12-05 08:18:12 +04:00
|
|
|
fi
|
|
|
|
DEPLOYDIR=$BASEDIR
|
|
|
|
|
2012-12-21 03:35:16 +04:00
|
|
|
export BASEDIR
|
2012-12-05 08:18:12 +04:00
|
|
|
export PATH=$BASEDIR/bin:$PATH
|
|
|
|
export LD_LIBRARY_PATH=$DEPLOYDIR/lib:$DEPLOYDIR/lib64
|
|
|
|
export LD_RUN_PATH=$DEPLOYDIR/lib:$DEPLOYDIR/lib64
|
|
|
|
export OPENSCAD_LIBRARIES=$DEPLOYDIR
|
|
|
|
export GLEWDIR=$DEPLOYDIR
|
|
|
|
|
|
|
|
echo BASEDIR: $BASEDIR
|
|
|
|
echo DEPLOYDIR: $DEPLOYDIR
|
|
|
|
echo PATH modified
|
|
|
|
echo LD_LIBRARY_PATH modified
|
|
|
|
echo LD_RUN_PATH modified
|
|
|
|
echo OPENSCAD_LIBRARIES modified
|
|
|
|
echo GLEWDIR modified
|
|
|
|
|
2013-02-17 05:52:34 +04:00
|
|
|
if [ "`uname -m | grep sparc64`" ]; then
|
|
|
|
echo detected sparc64. forcing 32 bit with export ABI=32
|
|
|
|
ABI=32
|
|
|
|
export ABI
|
|
|
|
fi
|
2012-12-05 08:18:12 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
setenv_freebsd()
|
|
|
|
{
|
2013-09-22 14:30:41 +04:00
|
|
|
echo .... freebsd detected.
|
|
|
|
echo .... if you have freebsd >9, it is advisable to install
|
|
|
|
echo .... the clang compiler and re-run this script as
|
|
|
|
echo .... '. ./scripts/setenv-unibuild.sh clang'
|
2012-12-05 08:18:12 +04:00
|
|
|
setenv_common
|
|
|
|
QMAKESPEC=freebsd-g++
|
|
|
|
QTDIR=/usr/local/share/qt4
|
2013-09-22 14:30:41 +04:00
|
|
|
export QMAKESPEC
|
|
|
|
export QTDIR
|
2012-12-05 08:18:12 +04:00
|
|
|
}
|
|
|
|
|
2012-12-21 03:35:16 +04:00
|
|
|
setenv_netbsd()
|
|
|
|
{
|
|
|
|
setenv_common
|
2013-09-21 09:12:42 +04:00
|
|
|
echo --- netbsd build situation is complex. it comes with gcc4.5
|
|
|
|
echo --- which is incompatable with updated CGAL.
|
|
|
|
echo --- you may need to hack with newer gcc to make it work
|
2012-12-21 03:35:16 +04:00
|
|
|
QMAKESPEC=netbsd-g++
|
|
|
|
QTDIR=/usr/pkg/qt4
|
|
|
|
PATH=/usr/pkg/qt4/bin:$PATH
|
2013-06-09 22:21:29 +04:00
|
|
|
LD_LIBRARY_PATH=/usr/pkg/qt4/lib:$LD_LIBRARY_PATH
|
|
|
|
LD_LIBRARY_PATH=/usr/X11R7/lib:$LD_LIBRARY_PATH
|
|
|
|
LD_LIBRARY_PATH=/usr/pkg/lib:$LD_LIBRARY_PATH
|
2012-12-21 03:35:16 +04:00
|
|
|
|
|
|
|
export QMAKESPEC
|
|
|
|
export QTDIR
|
|
|
|
export PATH
|
|
|
|
export LD_LIBRARY_PATH
|
|
|
|
}
|
|
|
|
|
2012-12-05 08:18:12 +04:00
|
|
|
setenv_linux_clang()
|
|
|
|
{
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2013-09-22 14:30:41 +04:00
|
|
|
setenv_freebsd_clang()
|
|
|
|
{
|
|
|
|
export CC=clang
|
|
|
|
export CXX=clang++
|
|
|
|
export QMAKESPEC=freebsd-clang
|
|
|
|
|
|
|
|
echo CC has been modified: $CC
|
|
|
|
echo CXX has been modified: $CXX
|
|
|
|
echo QMAKESPEC has been modified: $QMAKESPEC
|
|
|
|
}
|
|
|
|
|
2013-09-21 09:12:42 +04:00
|
|
|
setenv_netbsd_clang()
|
|
|
|
{
|
|
|
|
echo --------------------- this is not yet supported. netbsd 6 lacks
|
|
|
|
echo --------------------- certain things needed for clang support
|
|
|
|
export CC=clang
|
|
|
|
export CXX=clang++
|
|
|
|
export QMAKESPEC=./patches/mkspecs/netbsd-clang
|
|
|
|
|
|
|
|
echo CC has been modified: $CC
|
|
|
|
echo CXX has been modified: $CXX
|
|
|
|
echo QMAKESPEC has been modified: $QMAKESPEC
|
|
|
|
}
|
|
|
|
|
2013-01-08 08:01:32 +04:00
|
|
|
clean_note()
|
|
|
|
{
|
|
|
|
if [ $QT5_SETUP ]; then
|
|
|
|
QMAKEBIN=qmake
|
|
|
|
elif [ "`command -v qmake-qt4`" ]; then
|
|
|
|
QMAKEBIN=qmake-qt4
|
|
|
|
else
|
|
|
|
QMAKEBIN=qmake
|
|
|
|
fi
|
|
|
|
echo "Please re-run" $QMAKEBIN "and run 'make clean' if necessary"
|
|
|
|
}
|
|
|
|
|
2013-01-08 07:48:26 +04:00
|
|
|
setenv_qt5()
|
|
|
|
{
|
2013-01-08 08:01:32 +04:00
|
|
|
QT5_SETUP=true
|
2013-01-08 07:55:35 +04:00
|
|
|
if [ ! $QTDIR ]; then
|
|
|
|
QTDIR=/opt/qt5
|
|
|
|
echo Please set QTDIR before running this qt5 script. Assuming $QTDIR
|
|
|
|
fi
|
|
|
|
PATH=$QTDIR/bin:$PATH
|
|
|
|
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
|
|
|
|
LD_RUN_PATH=$QTDIR/lib:$LD_RUN_PATH
|
2013-01-08 07:48:26 +04:00
|
|
|
if [ "`echo $CC | grep clang`" ]; then
|
2013-01-08 08:01:32 +04:00
|
|
|
if [ "`uname | grep -i linux`" ]; then
|
2013-01-08 07:55:35 +04:00
|
|
|
QMAKESPEC=linux-clang
|
2013-01-08 07:48:26 +04:00
|
|
|
echo QMAKESPEC has been modified: $QMAKESPEC
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2013-01-08 07:55:35 +04:00
|
|
|
export QTDIR
|
|
|
|
export PATH
|
|
|
|
export LD_LIBRARY_PATH
|
|
|
|
export LD_RUN_PATH
|
|
|
|
export QMAKESPEC
|
|
|
|
|
|
|
|
echo QTDIR is set to: $QTDIR
|
2013-01-08 07:48:26 +04:00
|
|
|
echo PATH has been modified with $QTDIR/bin
|
|
|
|
echo LD_LIBRARY_PATH has been modified with $QTDIR/lib
|
|
|
|
echo LD_RUN_PATH has been modified with $QTDIR/lib
|
2013-01-08 08:01:32 +04:00
|
|
|
|
|
|
|
export QT5_SETUP
|
2013-01-08 07:48:26 +04:00
|
|
|
}
|
|
|
|
|
2012-12-05 08:18:12 +04:00
|
|
|
if [ "`uname | grep -i 'linux\|debian'`" ]; then
|
|
|
|
setenv_common
|
|
|
|
if [ "`echo $* | grep clang`" ]; then
|
|
|
|
setenv_linux_clang
|
|
|
|
fi
|
|
|
|
elif [ "`uname | grep -i freebsd`" ]; then
|
|
|
|
setenv_freebsd
|
2013-09-22 14:30:41 +04:00
|
|
|
if [ "`echo $* | grep clang`" ]; then
|
|
|
|
setenv_freebsd_clang
|
|
|
|
fi
|
2012-12-21 03:35:16 +04:00
|
|
|
elif [ "`uname | grep -i netbsd`" ]; then
|
|
|
|
setenv_netbsd
|
2013-09-21 09:12:42 +04:00
|
|
|
if [ "`echo $* | grep clang`" ]; then
|
|
|
|
setenv_netbsd_clang
|
|
|
|
fi
|
2012-12-21 03:35:16 +04:00
|
|
|
else
|
2012-12-21 04:06:28 +04:00
|
|
|
# guess
|
|
|
|
setenv_common
|
|
|
|
echo unknown system. guessed env variables. see 'setenv-unibuild.sh'
|
2012-12-05 08:18:12 +04:00
|
|
|
fi
|
2013-01-08 07:55:35 +04:00
|
|
|
|
|
|
|
if [ "`echo $* | grep qt5`" ]; then
|
|
|
|
setenv_qt5
|
|
|
|
fi
|
2013-01-08 08:01:32 +04:00
|
|
|
|
2013-02-01 06:37:08 +04:00
|
|
|
if [ -e $DEPLOYDIR/include/Qt ]; then
|
|
|
|
echo "Qt found under $DEPLOYDIR ... "
|
|
|
|
QTDIR=$DEPLOYDIR
|
|
|
|
export QTDIR
|
|
|
|
echo "QTDIR modified to $DEPLOYDIR"
|
|
|
|
fi
|
|
|
|
|
2013-01-08 08:01:32 +04:00
|
|
|
clean_note
|
|
|
|
|