1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
# setup environment variables for building OpenSCAD against custom built
# dependency libraries. works on Linux/BSD.
#
# Please see the 'uni-build-dependencies.sh' file for usage information
#
setenv_common()
{
if [ ! $BASEDIR ]; then
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.
echo "Warning: Not in OpenSCAD src dir... using current directory as base of build"
BASEDIR=$PWD/openscad_deps
fi
fi
DEPLOYDIR=$BASEDIR
export BASEDIR
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
if [ "`uname -m | grep sparc64`" ]; then
echo detected sparc64. forcing 32 bit with export ABI=32
ABI=32
export ABI
fi
}
setenv_freebsd()
{
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'
setenv_common
QMAKESPEC=freebsd-g++
QTDIR=/usr/local/share/qt4
export QMAKESPEC
export QTDIR
}
setenv_netbsd()
{
setenv_common
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
QMAKESPEC=netbsd-g++
QTDIR=/usr/pkg/qt4
PATH=/usr/pkg/qt4/bin:$PATH
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
export QMAKESPEC
export QTDIR
export PATH
export LD_LIBRARY_PATH
}
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
}
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
}
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
}
clean_note()
{
if [ "`command -v qmake-qt4`" ]; then
QMAKEBIN=qmake-qt4
else
QMAKEBIN=qmake
fi
echo "Please re-run" $QMAKEBIN "and run 'make clean' if necessary"
}
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
if [ "`echo $* | grep clang`" ]; then
setenv_freebsd_clang
fi
elif [ "`uname | grep -i netbsd`" ]; then
setenv_netbsd
if [ "`echo $* | grep clang`" ]; then
setenv_netbsd_clang
fi
else
# guess
setenv_common
echo unknown system. guessed env variables. see 'setenv-unibuild.sh'
fi
if [ -e $DEPLOYDIR/include/Qt ]; then
echo "Qt found under $DEPLOYDIR ... "
QTDIR=$DEPLOYDIR
export QTDIR
echo "QTDIR modified to $DEPLOYDIR"
fi
clean_note
|