| #!/bin/bash | |
| # | |
| # Copyright (c) 2004 Silicon Graphics, Inc. All Rights Reserved. | |
| # | |
| # This program is free software; you can redistribute it and/or | |
| # modify it under the terms of the GNU General Public License as | |
| # published by the Free Software Foundation. | |
| # | |
| # This program is distributed in the hope that it would be useful, | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| # GNU General Public License for more details. | |
| # | |
| # You should have received a copy of the GNU General Public License | |
| # along with this program; if not, write the Free Software Foundation, | |
| # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
| # | |
| # | |
| # Do a build using the IRIX TOOLROOT | |
| # Use "-f" to force a configure. | |
| # | |
| error=false | |
| # Do initial checks | |
| # check have root/toolroot set | |
| if [ -z "$TOOLROOT" ]; then | |
| echo "TOOLROOT needs to be set to a populated IRIX toolroot" | |
| error=true | |
| fi | |
| if [ -z "$ROOT" ]; then | |
| echo "ROOT needs to be set to a populated IRIX root" | |
| error=true | |
| fi | |
| # check we have c compiler license | |
| if ! grep -iq '^feature cc' /var/flexlm/license.dat; then | |
| echo "Unable to find cc license for IRIX" | |
| echo "Get license: http://www.csd.sgi.com/prod/software/swl/keyrequest.html" | |
| error=true | |
| fi | |
| # check we have dev.sw.lib installed | |
| # needed by ld32 even though we have $ROOT | |
| if versions dev.sw.lib | grep -q dev.sw.lib; then | |
| : | |
| else | |
| echo "dev.sw.lib is not installed" | |
| echo "Install from irix-6.5-development-libraries-1/dist" | |
| error=true | |
| fi | |
| # any check failures then exit out | |
| $error && exit 1 | |
| # root/toolroot paths | |
| fw_bin=$TOOLROOT/usr/freeware/bin | |
| fw_tools=$TOOLROOT/usr/fw_tools | |
| fw_share=$ROOT/usr/freeware/share | |
| irix_bin=$TOOLROOT/usr/bin | |
| # env vars | |
| export AC_MACRODIR=$fw_share/autoconf | |
| export M4=$irix_bin/gnum4 | |
| export CC=$irix_bin/cc | |
| export LIBTOOL=$fw_bin/libtool | |
| export MAKE=$fw_tools/gmake | |
| export AWK=$irix_bin/nawk | |
| # check all tools/files are in root/toolroot that we need | |
| FILES="$AC_MACRODIR $M4 $CC $LIBTOOL $MAKE $fw_bin/aclocal $fw_bin/autoheader $fw_bin/autoconf" | |
| for f in $FILES; do | |
| if [ ! -e $f ]; then | |
| echo "file $f not found in ROOT/TOOLROOT" | |
| error=true | |
| fi | |
| done | |
| $error && exit 1 | |
| # force a full configure | |
| if [ $# -eq 1 ]; then | |
| if [ $1 = "-f" ]; then | |
| rm -f config.cache configure include/builddefs | |
| shift | |
| fi | |
| fi | |
| # --- do all the configure stuff using the toolroot paths --- | |
| # aclocal.m4 is actually checked in - probably won't recreate it often | |
| if [ ! -e aclocal.m4 ]; then | |
| set -x | |
| $fw_bin/aclocal --acdir=m4 --output=aclocal.m4 | |
| set - | |
| fi | |
| if [ ! -e ./configure ]; then | |
| set -x | |
| $fw_bin/autoheader | |
| $fw_bin/autoconf | |
| set - | |
| fi | |
| if [ ! -e include/builddefs ]; then | |
| set -x | |
| ./configure | |
| set - | |
| fi | |
| # Now call gmake with any args we were given | |
| set -x | |
| $MAKE $@ | |
| set - |