parent
6bcedb6463
commit
5bf0a61f9f
117
autogen.sh
117
autogen.sh
|
|
@ -11,13 +11,6 @@
|
|||
|
||||
PROJECT=ngspice
|
||||
|
||||
# ADMS variables
|
||||
|
||||
ADMSDIR=src/spicelib/devices/adms
|
||||
XMLPATH=src/spicelib/devices/adms/admst
|
||||
ADMSXML=${ADMSXML:-admsXml}
|
||||
ADMS=0
|
||||
|
||||
# Exit variable
|
||||
DIE=0
|
||||
|
||||
|
|
@ -35,7 +28,6 @@ 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
|
||||
|
|
@ -51,9 +43,6 @@ version()
|
|||
error_and_exit()
|
||||
{
|
||||
echo "Error: $1"
|
||||
if [ "$ADMS" -eq 1 ]; then
|
||||
rm -f temp-adms.ac
|
||||
fi
|
||||
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
|
||||
"--adms" | "-a")
|
||||
check_adms
|
||||
check_adms_va
|
||||
ADMS=1
|
||||
echo "Warning: adms is no longer available, ignored!"
|
||||
;;
|
||||
|
||||
"--help" | "-h")
|
||||
|
|
@ -170,54 +115,6 @@ fi
|
|||
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"
|
||||
$LIBTOOLIZE --copy --force \
|
||||
|
|
@ -239,22 +136,10 @@ echo "Running automake -Wall --copy --add-missing"
|
|||
automake -Wall --copy --add-missing \
|
||||
|| 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"
|
||||
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 \
|
||||
|| error_and_exit "autoconf failed"
|
||||
fi
|
||||
|
||||
echo "Success."
|
||||
exit 0
|
||||
|
|
|
|||
Loading…
Reference in New Issue