diff --git a/ChangeLog b/ChangeLog
index 8b6f4cdf2..484e859b1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-17 Paolo Nenzi
+
+ * src/spicelib/devices/dev.c: Added support for adms devices (Dietmar
+ Warning). Devices implemented: hicum0 and mextram.
+
+
2006-02-16 Paolo Nenzi
* src/spicelib/devices/dev.c: removed EKV ifdefs. In future versions of
diff --git a/configure.in b/configure.in
index 0e1735b78..158f0bb5d 100644
--- a/configure.in
+++ b/configure.in
@@ -625,9 +625,18 @@ if test "$enable_adms" = "yes"; then
AC_MSG_ERROR(If you want adms models you should install admsXml)
fi
AC_DEFINE(ADMS,[],[Support for Verilog-A(MS) models])
- AC_SUBST(ADMSXML)
+
+ VLADEVDIR=" adms/hicum0 \
+ adms/mextram "
+
+ VLADEV=" spicelib/devices/adms/hicum0/libhic0_full.a \
+ spicelib/devices/adms/mextram/libbjt504_va.a "
fi
+AC_SUBST(ADMSXML)
+AC_SUBST(VLADEVDIR)
+AC_SUBST(VLADEV)
+
dnl Cluster option
if test "$enable_cluster" = "yes"; then
diff --git a/src/spicelib/devices/Makefile.am b/src/spicelib/devices/Makefile.am
index 51023f5dc..edf6f986b 100644
--- a/src/spicelib/devices/Makefile.am
+++ b/src/spicelib/devices/Makefile.am
@@ -1,8 +1,6 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = \
- adms/hicum0 \
- adms/mextram \
asrc \
bjt \
bjt2 \
@@ -49,9 +47,11 @@ SUBDIRS = \
vccs \
vcvs \
vsrc \
+ @VLADEVDIR@
@NUMDEVDIR@
DIST_SUBDIRS = \
+ adms/admst \
adms/hicum0 \
adms/mextram \
asrc \
diff --git a/src/spicelib/devices/dev.c b/src/spicelib/devices/dev.c
index 33b90d6b3..1c8480142 100644
--- a/src/spicelib/devices/dev.c
+++ b/src/spicelib/devices/dev.c
@@ -89,9 +89,9 @@ int add_udn(int,Evt_Udn_Info_t **);
#define ANALYSES_USED "op dc tf ac tran pz disto noise sense"
-#ifdef HAVE_ADMS
-#include "adms/hicum0/hicum0itf.h"
-#include "adms/mextram/mextramitf.h"
+#ifdef ADMS
+#include "adms/hicum0/hic0_fullitf.h"
+#include "adms/mextram/bjt504_vaitf.h"
#endif
#include "asrc/asrcitf.h"
#include "bjt/bjtitf.h"
@@ -153,7 +153,7 @@ int add_udn(int,Evt_Udn_Info_t **);
/*saj in xspice the DEVices size can be varied so DEVNUM is an int*/
#ifdef CIDER
- #ifdef HAVE_ADMS
+ #ifdef ADMS
#ifdef XSPICE
static int DEVNUM = 54;
@@ -173,7 +173,7 @@ int add_udn(int,Evt_Udn_Info_t **);
#else /* NOT CIDER */
- #ifdef HAVE_ADMS
+ #ifdef ADMS
#ifdef XSPICE
static int DEVNUM = 49;
@@ -181,18 +181,20 @@ int add_udn(int,Evt_Udn_Info_t **);
#define DEVNUM 49
#endif
- #else /* NOT ADMS */
+ #else /* NOT ADMS */
#ifdef XSPICE
static int DEVNUM = 47;
#else
- #define DEVNUM 47
+ #define DEVNUM 47 */
#endif
+
+ #endif
#endif /* ADMS */
+>>>>>>> 1.27
#endif /* CIDER */
-
/*Make this dynamic for later attempt to make all devices dynamic*/
SPICEdev **DEVices=NULL;
@@ -282,17 +284,17 @@ spice_init_devices(void)
DEVices[49] = get_numd_info();
DEVices[50] = get_numd2_info();
DEVices[51] = get_numos_info();
- #ifdef HAVE_ADMS
- DEVices[52] = get_hicum0_info();
- DEVices[53] = get_mextram_info();
+ #ifdef ADMS
+ DEVices[52] = get_hic0_full_info();
+ DEVices[53] = get_bjt504_va_info();
assert(54 == DEVNUM);
#else /* NOT ADMS */
assert(52 == DEVNUM);
#endif /* HAVE_ADMS */
#else /* NOT CIDER */
- #ifdef HAVE_ADMS
- DEVices[47] = get_hicum0_info();
- DEVices[48] = get_mextram_info();
+ #ifdef ADMS
+ DEVices[47] = get_hic0_full_info();
+ DEVices[48] = get_bjt504_va_info();
assert(49 == DEVNUM);
#else
assert(47 == DEVNUM);
@@ -325,7 +327,7 @@ devices(void)
#ifdef DEVLIB
/*not yet usable*/
-#ifdef HAVE_ADMS
+#ifdef ADMS
#define DEVICES_USED {"asrc", "bjt", "bjt2", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v2", "bsim3v1", "bsim4", "bsim3soipd", "bsim3soifd", \
"bsim3soidd", "cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", \
"mos2", "mos3", "mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum0", "mextram"}