|
|
|
@ -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 |