ngspice/autogen.sh

214 lines
4.3 KiB
Bash
Raw Normal View History

2000-04-27 22:03:57 +02:00
#!/bin/sh
# Configuration script for ngspice.
#
# This script performs initial configuration of ngspice source
# package.
#
#
# $Id$
#
2010-08-14 10:34:49 +02:00
# configure.temp: temporary storage place of configure.in
# maybe recovered if .autogen.sh is killed manually
#
# configure.ac: modified configure.in if --adms is selected
# will be deleted automatically while configure.in is recovered
2000-04-27 22:03:57 +02:00
PROJECT=ngspice
TEST_TYPE=-f
FILE=DEVICES
2000-04-27 22:03:57 +02:00
# ADMS variables
ADMSDIR=src/spicelib/devices/adms
XMLPATH=src/spicelib/devices/adms/admst
ADMSXML=admsXml
ADMS=0
# Exit variable
2000-04-27 22:03:57 +02:00
DIE=0
help()
{
echo
echo "$PROJECT autogen.sh help"
echo
echo "--adms -a: enables adms feature"
echo "--help -h: print this file"
echo "--version -v: print version"
echo
}
version()
{
echo
echo "$PROJECT autogen.sh 1.0"
echo
}
2010-08-01 21:02:23 +02:00
end_on_error()
{
if test "$ADMS" -eq 1; then
2010-08-14 10:34:49 +02:00
cp -p configure.ac configure.err
rm -f configure.ac
mv -f configure.temp configure.in
2010-08-01 21:02:23 +02:00
fi
exit 1
}
check_autoconf()
{
2000-04-27 22:03:57 +02:00
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile $PROJECT."
echo "See http://www.gnu.org/software/automake/"
echo "(newest stable release is recommended)"
2000-04-27 22:03:57 +02:00
DIE=1
}
2000-04-27 22:03:57 +02:00
2005-04-17 00:39:57 +02:00
(libtoolize --version) < /dev/null > /dev/null 2>&1 || {
2000-04-27 22:03:57 +02:00
echo
echo "You must have libtool installed to compile $PROJECT."
echo "See http://www.gnu.org/software/libtool/"
echo "(newest stable release is recommended)"
2000-04-27 22:03:57 +02:00
DIE=1
}
2000-04-27 22:03:57 +02:00
(automake --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have automake installed to compile $PROJECT."
echo "See http://www.gnu.org/software/automake/"
echo "(newest stable release is recommended)"
2000-04-27 22:03:57 +02:00
DIE=1
}
2000-04-27 22:03:57 +02:00
}
check_adms()
{
(admsXml --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have admsXml installed to compile adms models."
echo "See http://mot-adms.sourceforge.net"
echo "(newest stable release is recommended)"
DIE=1
}
}
case "$1" in
"--adms" | "-a")
check_adms
ADMS=1
;;
"--help" | "-h")
help
exit 0
;;
"--version" | "-v")
version
exit 0
;;
*)
;;
esac
check_autoconf
2000-04-27 22:03:57 +02:00
if test "$DIE" -eq 1; then
exit 1
fi
test $TEST_TYPE $FILE || {
echo "You must run this script in the top-level $PROJECT directory"
exit 1
}
2010-08-01 12:28:18 +02:00
if test "$ADMS" -eq 1; then
2010-08-14 10:34:49 +02:00
rm -f configure.ac
mv -f configure.in configure.temp
2010-08-01 12:28:18 +02:00
# automake needs these entries in configure.in for adms enabled
2010-08-01 12:28:18 +02:00
sed 's/tests\/vbic\/Makefile/tests\/vbic\/Makefile\
src\/spicelib\/devices\/adms\/ekv\/Makefile\
src\/spicelib\/devices\/adms\/hicum0\/Makefile\
src\/spicelib\/devices\/adms\/hicum2\/Makefile\
src\/spicelib\/devices\/adms\/mextram\/Makefile\
2010-08-14 10:34:49 +02:00
src\/spicelib\/devices\/adms\/psp102\/Makefile/g' configure.temp >configure.ac
2010-08-01 12:28:18 +02:00
2010-08-14 10:34:49 +02:00
# cp -p configure.ac configure.test
currentdir=`pwd`
for adms_dir in `ls $ADMSDIR`
do
if [ -d "$ADMSDIR/$adms_dir" ]; then
case "$adms_dir" in
"CVS")
echo "Skipping CVS"
;;
"admst")
echo "Skipping scripts dir"
;;
*)
echo "Entering into directory: $adms_dir"
echo "-->"$ADMSDIR/$adms_dir
cd $ADMSDIR/$adms_dir
file=`ls admsva/*.va`
2010-08-14 10:34:49 +02:00
$ADMSXML $file -Iadmsva -xv -e ../admst/ngspiceVersion.xml \
-e ../admst/ngspiceMakefile.am.xml
cd $currentdir
;;
esac
fi
done
fi
echo "Running libtoolize"
2000-04-27 22:03:57 +02:00
libtoolize --copy --force
2010-08-01 21:02:23 +02:00
if [ $? -ne 0 ];then echo "libtoolize failed"; end_on_error ; fi
echo "Running aclocal $ACLOCAL_FLAGS"
2000-04-27 22:03:57 +02:00
aclocal $ACLOCAL_FLAGS
2010-08-01 21:02:23 +02:00
if [ $? -ne 0 ]; then echo "aclocal failed"; end_on_error ; fi
# optional feature: autoheader
(autoheader --version) < /dev/null > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Running autoheader"
autoheader
2010-08-01 21:02:23 +02:00
if [ $? -ne 0 ]; then echo "autoheader failed"; end_on_error ; fi
fi
echo "Running automake -Wall --copy --add-missing"
automake -Wall --copy --add-missing $am_opt
2010-08-01 21:02:23 +02:00
if [ $? -ne 0 ]; then echo "automake failed"; end_on_error ; fi
echo "Running autoconf"
autoconf
2010-08-01 21:02:23 +02:00
if [ $? -ne 0 ]; then echo "autoconf failed"; end_on_error ; fi
2010-08-01 12:28:18 +02:00
if test "$ADMS" -eq 1; then
2010-08-14 10:34:49 +02:00
rm -f configure.ac
mv -f configure.temp configure.in
2010-08-01 12:28:18 +02:00
fi
echo "Success."
2010-08-01 12:28:18 +02:00
exit 0