#!/bin/sh
# This file is part of the FElt finite element analysis package.
# Copyright (C) 1993-1995 Jason I. Gobat and Darren C. Atkinson
#
# 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; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will 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 to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# find a program in your path
which() {
IFS=:
for dir in $PATH; do
if [ -x $dir/$2 -a ! -d $dir/$2 ]; then
eval "$1=$dir/$2"
break
fi
done
IFS=" "
}
# find a file in a list
findfile() {
for file in $2; do
if [ -f $file -o -d $file ]; then
eval $1=$file
break
fi
done
}
# parse a command line option
parse() {
eval $1="`echo \"$2\" | sed -e 's/^[^=]*=//'`"
}
# print help information and exit
help() {
echo "usage: configure [options]"
echo " --contrib build contributed elements [no]"
echo " --prefix=dir destination directory prefix [$DEST]"
echo " --cc=prog C compiler [$CC]"
echo " --cpp=prog C preprocessor [$CPP]"
echo " --ccopts=options C compiler options [$CCOPTS]"
echo " --syslibs=libs system dependent libraries [$SYSLIBS]"
echo " --x-defaults=dir X11 defaults directory [$X11DEF]"
echo " --x-includes=dir X11 include directory [$X11INC]"
echo " --x-libraries=dir X11 library directory [$X11LIB]"
exit 0
}
# try to find the defaults
echo Configuring ...
which RANLIB ranlib
which CAT cat
which TRUE true
findfile DEST "/usr/felt \
/usr/local \
/usr/contrib \
/usr"
findfile READDIR "/lib/libreadline.a \
/usr/lib/libreadline.a \
/usr/local/lib/libreadline.a \
/usr/gnu/lib/libreadline.a \
/opt/gnu/lib/libreadline.a"
findfile CPP "/lib/cpp \
/usr/lib/cpp \
/usr/ccs/lib/cpp \
/usr/lang/cpp \
/usr/bin/cpp \
/bin/cpp"
findfile X11DEF "/usr/X11R6/lib/X11/app-defaults \
/usr/X11R5/lib/X11/app-defaults \
/usr/X11R4/lib/X11/app-defaults \
/usr/X386/lib/X11/app-defaults \
/usr/X11/lib/X11/app-defaults \
/usr/X11R6/lib/app-defaults \
/usr/X11R5/lib/app-defaults \
/usr/X11R4/lib/app-defaults \
/usr/X386/lib/app-defaults \
/usr/X11/lib/app-defaults \
/usr/lib/X11R6/app-defaults \
/usr/lib/X11R5/app-defaults \
/usr/lib/X11R4/app-defaults \
/usr/lib/X386/app-defaults \
/usr/lib/X11/app-defaults \
/usr/openwin/lib/app-defaults"
findfile X11INC "/usr/X11R6/include \
/usr/X11R5/include \
/usr/X11R4/include \
/usr/X386/include \
/usr/X11/include \
/usr/include/X11R6 \
/usr/include/X11R5 \
/usr/include/X11R4 \
/usr/include/X11 \
/usr/openwin/include"
findfile X11LIB "/usr/X11R6/lib \
/usr/X11R5/lib \
/usr/X11R4/lib \
/usr/X386/lib \
/usr/X11/lib \
/usr/lib/X11R6 \
/usr/lib/X11R5 \
/usr/lib/X11R4 \
/usr/lib/X11 \
/usr/openwin/lib"
# provide worst-case defaults
: ${RANLIB:=$TRUE}
: ${READDIR:=/lib}
: ${DEST}:=.}
: ${CPP:=$CAT}
: ${X11DEF:=.}
: ${X11INC:=.}
: ${X11LIB:=.}
RANLIB=`basename $RANLIB`
READDIR=`dirname $READDIR`
CONTRIBDIR=none
CCOPTS=${CFLAGS}
# defaults for known architectures that fail the above
case `uname -rs` in
HP-UX*) RANLIB=true;;
SunOS?5.*) CCOPTS="$CCOPTS -D_XOPEN_SOURCE";;
Irix*) if [ $CC = cc ]; then CCOPTS="$CCOPTS -Wf,-XNl16384"; fi;;
esac
# parse command line arguments
for arg in $*; do
case $arg in
-h | --help) help;;
--cc=*) parse CC $arg;;
--cpp=*) parse CPP $arg;;
--prefix=*) parse DEST $arg;;
--ccopts=*) parse CCOPTS $arg;;
--syslibs=*) parse SYSLIBS $arg;;
--x-defaults=*) parse X11DEF $arg;;
--x-includes=*) parse X11INC $arg;;
--x-libraries=*) parse X11LIB $arg;;
--readline=*) parse READDIR $arg;;
CFLAGS=*) parse CCOPTS $arg;;
--contrib) CONTRIBFLAGS=-DCONTRIB; CONTRIBDIR=contrib;;
--contrib=y) CONTRIBFLAGS=-DCONTRIB; CONTRIBDIR=contrib;;
--contrib=yes) CONTRIBFLAGS=-DCONTRIB; CONTRIBDIR=contrib;;
esac
done
# determine the readline library options
if [ -f $READDIR/libreadline.a ]; then
READLINE=-DREADLINE
READLIBS="-L$READDIR -lreadline -ltermcap"
else
READDIR=none
READLINE=
READLIBS=
fi
# print defaults
echo " C compiler =" $CC
echo " C compiler options =" $CCOPTS
echo " C preprocessor =" $CPP
echo " ranlib program =" $RANLIB
echo " destination prefix =" $DEST
echo " readline library directory =" $READDIR
echo " X11 application defaults =" $X11DEF
echo " X11 include directory =" $X11INC
echo " X11 library directory =" $X11LIB
# create Makefile.conf
cat > ./etc/Makefile.conf << EOF
AR = ar
CC = $CC
CCOPTS = $CCOPTS
CONTRIBDIR = $CONTRIBDIR
CONTRIBFLAGS = $CONTRIBFLAGS
CPP = $CPP
DESTBIN = $DEST/bin
DESTLIB = $DEST/share/felt
DESTMAN = $DEST/man
INSTALL = sh \$(TOPDIR)/etc/install.sh -c
LDOPTS =
LIBELT = \$(TOPDIR)/lib/Elements/libelt.a
LIBFELT = \$(TOPDIR)/lib/Felt/libfelt.a
LIBGEN = \$(TOPDIR)/lib/Generate/libgen.a
LIBGEOMPACK = \$(TOPDIR)/lib/Geompack/libgeompack.a
LIBMTX = \$(TOPDIR)/lib/Matrix/libmtx.a
LIBWIDGETS = \$(TOPDIR)/lib/Widgets/libwidgets.a
MKDIR = sh \$(TOPDIR)/etc/mkdirhier.sh
RANLIB = $RANLIB
READLINE = $READLINE
READLIBS = $READLIBS
RM = rm -f
SYSLIBS =
X11DEF = $X11DEF
X11INC = $X11INC
X11LIB = $X11LIB
EOF
exit 0
syntax highlighted by Code2HTML, v. 0.9.1