parent
6bcedb6463
commit
5bf0a61f9f
117
autogen.sh
117
autogen.sh
|
|
@ -11,13 +11,6 @@
|
||||||
|
|
||||||
PROJECT=ngspice
|
PROJECT=ngspice
|
||||||
|
|
||||||
# ADMS variables
|
|
||||||
|
|
||||||
ADMSDIR=src/spicelib/devices/adms
|
|
||||||
XMLPATH=src/spicelib/devices/adms/admst
|
|
||||||
ADMSXML=${ADMSXML:-admsXml}
|
|
||||||
ADMS=0
|
|
||||||
|
|
||||||
# Exit variable
|
# Exit variable
|
||||||
DIE=0
|
DIE=0
|
||||||
|
|
||||||
|
|
@ -35,7 +28,6 @@ help()
|
||||||
echo
|
echo
|
||||||
echo "$PROJECT autogen.sh help"
|
echo "$PROJECT autogen.sh help"
|
||||||
echo
|
echo
|
||||||
echo "--adms -a: enables adms feature"
|
|
||||||
echo "--help -h: print this file"
|
echo "--help -h: print this file"
|
||||||
echo "--version -v: print version"
|
echo "--version -v: print version"
|
||||||
echo
|
echo
|
||||||
|
|
@ -51,9 +43,6 @@ version()
|
||||||
error_and_exit()
|
error_and_exit()
|
||||||
{
|
{
|
||||||
echo "Error: $1"
|
echo "Error: $1"
|
||||||
if [ "$ADMS" -eq 1 ]; then
|
|
||||||
rm -f temp-adms.ac
|
|
||||||
fi
|
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -95,53 +84,9 @@ check_autoconf()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
check_adms()
|
|
||||||
{
|
|
||||||
($ADMSXML --version) < /dev/null > /dev/null 2>&1 || {
|
|
||||||
echo
|
|
||||||
echo "You must have admsXml installed to compile adms models."
|
|
||||||
echo "See https://sourceforge.net/projects/mot-adms/"
|
|
||||||
echo "(version 2.3.6, tested for ngspice under MINGW on MS Windows)"
|
|
||||||
DIE=1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# check if verilog-a files exist in every adms device directory
|
|
||||||
check_adms_va()
|
|
||||||
{
|
|
||||||
echo
|
|
||||||
# get the devices directories from configure.ac
|
|
||||||
admsdirs=`awk '$1 ~ /#VLAMKF/ { print $2 }' < configure.ac`
|
|
||||||
admsdirs=`echo $admsdirs | sed "s/\/Makefile//g"`
|
|
||||||
|
|
||||||
for adms_dir in $admsdirs ; do
|
|
||||||
FOK=0
|
|
||||||
if [ -d "$adms_dir" ]; then
|
|
||||||
ls $adms_dir/admsva/*.va > /dev/null 2>&1
|
|
||||||
exitcode=$?
|
|
||||||
if [ $exitcode -ne 0 ]; then
|
|
||||||
FOK=1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
FOK=1
|
|
||||||
fi
|
|
||||||
if [ "$FOK" -eq 1 ]; then
|
|
||||||
echo "Error: No *.va file found in $adms_dir/admsva"
|
|
||||||
echo "Please download patch file ng-adms-va.tar.gz from"
|
|
||||||
echo "http://ngspice.sourceforge.net/experimental/ngspice-adms-va.7z"
|
|
||||||
echo "and expand it into the ngspice directory"
|
|
||||||
echo
|
|
||||||
DIE=1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
"--adms" | "-a")
|
"--adms" | "-a")
|
||||||
check_adms
|
echo "Warning: adms is no longer available, ignored!"
|
||||||
check_adms_va
|
|
||||||
ADMS=1
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"--help" | "-h")
|
"--help" | "-h")
|
||||||
|
|
@ -170,54 +115,6 @@ fi
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# only for --adms:
|
|
||||||
if [ "$ADMS" -gt 0 ]; then
|
|
||||||
|
|
||||||
check_awk
|
|
||||||
|
|
||||||
# add adms related Makefile entries to a configure.ac style file for
|
|
||||||
# autoconf and automake
|
|
||||||
|
|
||||||
# Find all lines with "#VLAMKF" and put the second token of each line
|
|
||||||
# into a shell variable
|
|
||||||
adms_Makefiles=`awk '$1 ~ /#VLAMKF/ { print "./" $2 }' < configure.ac`
|
|
||||||
|
|
||||||
# just the same, but escape newlines with '\' for the following sed expression
|
|
||||||
znew=`awk '$1 ~ /#VLAMKF/ { print " " $2 "\\\\" }' < configure.ac`
|
|
||||||
|
|
||||||
# Find "tests/vbic/Makefile" and insert the list of Makefiles
|
|
||||||
# some sed's fail to process the '\n' escape on the RHS,
|
|
||||||
# thus use an escaped plain newline
|
|
||||||
sed \
|
|
||||||
-e "s,tests\\/vbic\\/Makefile,&\\
|
|
||||||
$znew
|
|
||||||
," \
|
|
||||||
configure.ac > temp-adms.ac
|
|
||||||
|
|
||||||
for adms_dir in `ls $ADMSDIR` ; do
|
|
||||||
if [ -d "$ADMSDIR/$adms_dir" ]; then
|
|
||||||
|
|
||||||
case "$adms_dir" in
|
|
||||||
|
|
||||||
"admst")
|
|
||||||
# echo "Skipping admst dir"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "Entering into directory: $adms_dir"
|
|
||||||
echo "-->"$ADMSDIR/$adms_dir
|
|
||||||
(
|
|
||||||
cd $ADMSDIR/$adms_dir
|
|
||||||
$ADMSXML `ls admsva/*.va` -Iadmsva -xv -x \
|
|
||||||
-e ../admst/ngspiceVersion.xml \
|
|
||||||
-e ../admst/ngspiceMakefile.am.xml
|
|
||||||
)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Running $LIBTOOLIZE"
|
echo "Running $LIBTOOLIZE"
|
||||||
$LIBTOOLIZE --copy --force \
|
$LIBTOOLIZE --copy --force \
|
||||||
|
|
@ -239,22 +136,10 @@ echo "Running automake -Wall --copy --add-missing"
|
||||||
automake -Wall --copy --add-missing \
|
automake -Wall --copy --add-missing \
|
||||||
|| error_and_exit "automake failed"
|
|| error_and_exit "automake failed"
|
||||||
|
|
||||||
if [ "$ADMS" -gt 0 ]; then
|
|
||||||
echo "Running automake for adms"
|
|
||||||
automake -Wall --copy --add-missing $adms_Makefiles \
|
|
||||||
|| error_and_exit "automake failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Running autoconf"
|
echo "Running autoconf"
|
||||||
if [ "$ADMS" -gt 0 ]; then
|
|
||||||
autoconf --force temp-adms.ac > configure \
|
|
||||||
|| error_and_exit "autoconf failed, with adms"
|
|
||||||
rm -f temp-adms.ac
|
|
||||||
chmod +x configure
|
|
||||||
else
|
|
||||||
autoconf --force \
|
autoconf --force \
|
||||||
|| error_and_exit "autoconf failed"
|
|| error_and_exit "autoconf failed"
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Success."
|
echo "Success."
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue