diff --git a/ChangeLog b/ChangeLog index df04276d4..43d5d90d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-11-16 Robert Larice + * configure.ac , + * src/Makefile.am , + * src/spicelib/devices/Makefile.am : + fix a missing dependencies problem + use AM_CONDITIONAL to configure program_LDADD variables + 2010-11-16 Robert Larice * src/tclspice.c , * src/include/tclspice.h : @@ -27,6 +34,7 @@ 2010-11-14 Holger Vogt * inpcom.c: bug no. 3072940 + http://sourceforge.net/tracker/?func=detail&aid=3072940&group_id=38962&atid=423915 2010-11-13 Dietmar Warning * analysis/dctran.c, devices/*/*load.c: hide obsolete labels and local variables diff --git a/configure.ac b/configure.ac index 2b105f080..9e0393537 100644 --- a/configure.ac +++ b/configure.ac @@ -715,15 +715,8 @@ AC_DEFINE_UNQUOTED(NGSPICEBUILDDATE,"`date`",[Define the build date]) if test "$with_windows" = "yes"; then AC_MSG_RESULT(WINDOWS code enabled) - WINMAIN="winmain.o" - WINDISPLIB="frontend/wdisp/libwindisp.la" AC_CHECK_FUNCS([memmove]) -else - WINMAIN="" - WINDISPLIB="" fi -AC_SUBST(WINMAIN) -AC_SUBST(WINDISPLIB) # Recapitulate settings: AC_MSG_RESULT(Settings which were chosen:) @@ -821,33 +814,24 @@ dnl Define variables for LEX if test -z $LEX ; then AC_MSG_ERROR(Flex is required for building XSPICE) fi - XSPICEDIR="xspice" case $host_os in *mingw* ) AC_DEFINE([IPC_DEBUG_VIA_STDIO], [1], [Client-Server only via stdio.]) - DLLIBS="";; + XSPICEDLLIBS="";; *cygwin* ) AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.]) - DLLIBS="" ;; + XSPICEDLLIBS="" ;; *freebsd* ) AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.]) - DLLIBS="";; + XSPICEDLLIBS="";; *openbsd* ) AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.]) - DLLIBS="";; + XSPICEDLLIBS="";; * ) AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.]) - DLLIBS="-ldl";; + XSPICEDLLIBS="-ldl";; esac - XSPICELIB1="$XSPICEDIR/cm/libcmxsp.la \ - $XSPICEDIR/mif/libmifxsp.la" - XSPICELIB2="$XSPICEDIR/evt/libevtxsp.la \ - $XSPICEDIR/enh/libenhxsp.la \ - $XSPICEDIR/ipc/libipcxsp.la \ - $XSPICEDIR/idn/libidnxsp.la \ - $DLLIBS" XSPICEINIT="" - XSPICETESTS="" AC_CHECK_FUNCS([modf]) AC_CHECK_HEADERS([libintl.h malloc.h]) dnl Find the library directory (lib or lib64) for XSPICE libs @@ -859,60 +843,28 @@ dnl Find the library directory (lib or lib64) for XSPICE libs echo XSPICE libraries in directory $libname fi else - XSPCIEDIR="" - XSPICELIB1="" - XSPICELIB2="" - XSPICETESTS="" XSPICEINIT="*" if test -z "${YACC}" ; then AC_MSG_WARN([No bison, byacc, yacc found: Uses prebuilt default parsers]) fi fi -AC_SUBST(XSPICEDIR) -AC_SUBST(XSPICELIB1) -AC_SUBST(XSPICELIB2) -AC_SUBST(XSPICETESTS) AC_SUBST(XSPICEINIT) +AC_SUBST(XSPICEDLLIBS) AC_SUBST(libname) +AM_CONDITIONAL([XSPICE_WANTED], [test "$enable_xspice" = "yes"]) + + dnl Add CIDER enhancements to ngspice. if test "$enable_cider" = "yes"; then AC_MSG_RESULT(CIDER features enabled) AC_DEFINE(CIDER,[1],[The CIDER enhancements]) - - CIDERDIR="ciderlib" - - CIDERSIM=" $CIDERDIR/twod/libcidertwod.la \ - $CIDERDIR/oned/libcideroned.la \ - $CIDERDIR/input/libciderinput.la \ - $CIDERDIR/support/libcidersuprt.la" - - NUMDEV=" spicelib/devices/nbjt/libnbjt.la \ - spicelib/devices/nbjt2/libnbjt2.la \ - spicelib/devices/numd/libnumd.la \ - spicelib/devices/numd2/libnumd2.la \ - spicelib/devices/numos/libnumos.la" - NUMDEVDIR=" nbjt \ - nbjt2 \ - numd \ - numd2 \ - numos" - -CIDERSCRIPTS="devload devaxis ciderinit" - -else - CIDERLIB="" - CIDERSIM="" - NUMDEV="" - NUMDEVDIR="" - CIDERSCRIPTS="" fi -AC_SUBST(CIDERDIR) -AC_SUBST(CIDERSIM) -AC_SUBST(NUMDEV) -AC_SUBST(NUMDEVDIR) -AC_SUBST(CIDERSCRIPTS) + +AM_CONDITIONAL([CIDER_WANTED], [test "$enable_cider" = "yes"]) +AM_CONDITIONAL([NUMDEV_WANTED], [test "$enable_cider" = "yes"]) + dnl adms option @@ -964,17 +916,8 @@ dnl NDEV option if test "$enable_ndev" = "yes"; then AC_MSG_RESULT(NDEV features enabled) AC_DEFINE(NDEV,[],[The NDEV interface]) - NDEV="" - NDEV_DIR=" ndev " - NDEV_LIB=" spicelib/devices/ndev/libndev.la " - -else - NDEV="" - NDEV_DIR="" - NDEV_LIB="" fi -AC_SUBST(NDEV_DIR) -AC_SUBST(NDEV_LIB) +AM_CONDITIONAL([NDEV_WANTED], [test "$enable_ndev" = "yes"]) dnl Cluster option diff --git a/src/Makefile.am b/src/Makefile.am index ff28cd4f5..74ba7a31b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,9 +1,17 @@ ## Process this file with automake to produce Makefile.in # $Id$ -SUBDIRS = misc maths frontend spicelib include @XSPICEDIR@ @CIDERDIR@ +SUBDIRS = misc maths frontend spicelib include DIST_SUBDIRS = misc maths frontend spicelib include xspice ciderlib +if XSPICE_WANTED +SUBDIRS += xspice +endif + +if CIDER_WANTED +SUBDIRS += ciderlib +endif + if !TCL_MODULE bin_PROGRAMS = ngspice ngnutmeg @@ -24,8 +32,10 @@ EXTRA_DIST = ngspice.txt setplot spectrum \ initdatadir = $(pkgdatadir)/scripts -initdata_DATA = spinit setplot spectrum @CIDERSCRIPTS@ - +initdata_DATA = spinit setplot spectrum +if CIDER_WANTED +initdata_DATA += devload devaxis ciderinit +endif DYNAMIC_DEVICELIBS = \ spicelib/devices/asrc/libasrc.la \ @@ -79,9 +89,7 @@ DYNAMIC_DEVICELIBS = \ spicelib/devices/vccs/libvccs.la \ spicelib/devices/vcvs/libvcvs.la \ spicelib/devices/vsrc/libvsrc.la \ - @NDEV_LIB@ \ - @VLADEV@ \ - @NUMDEV@ + @VLADEV@ ## Build ngspice first: @@ -97,19 +105,66 @@ endif ngspice_LDADD = \ spice.lo \ - frontend/libfte.la \ - @WINDISPLIB@ \ - frontend/plotting/libplotting.la \ - @XSPICELIB1@ \ + frontend/libfte.la + +if WINDOWS +ngspice_LDADD += \ + frontend/wdisp/libwindisp.la +endif + +ngspice_LDADD += \ + frontend/plotting/libplotting.la + +if XSPICE_WANTED +ngspice_LDADD += \ + xspice/cm/libcmxsp.la \ + xspice/mif/libmifxsp.la +endif + +ngspice_LDADD += \ spicelib/devices/dev.lo \ - $(DYNAMIC_DEVICELIBS) \ + $(DYNAMIC_DEVICELIBS) + +if NDEV_WANTED +ngspice_LDADD += spicelib/devices/ndev/libndev.la +endif + +if NUMDEV_WANTED +ngspice_LDADD += \ + spicelib/devices/nbjt/libnbjt.la \ + spicelib/devices/nbjt2/libnbjt2.la \ + spicelib/devices/numd/libnumd.la \ + spicelib/devices/numd2/libnumd2.la \ + spicelib/devices/numos/libnumos.la +endif + +ngspice_LDADD += \ spicelib/analysis/libckt.la \ - spicelib/devices/libdev.la \ - @XSPICELIB2@ \ + spicelib/devices/libdev.la + +if XSPICE_WANTED +ngspice_LDADD += \ + xspice/evt/libevtxsp.la \ + xspice/enh/libenhxsp.la \ + xspice/ipc/libipcxsp.la \ + xspice/idn/libidnxsp.la \ + @XSPICEDLLIBS@ +endif + +ngspice_LDADD += \ frontend/parser/libparser.la \ frontend/numparam/libnumparam.la \ - spicelib/parser/libinp.la \ - @CIDERSIM@ \ + spicelib/parser/libinp.la + +if CIDER_WANTED +ngspice_LDADD += \ + ciderlib/twod/libcidertwod.la \ + ciderlib/oned/libcideroned.la \ + ciderlib/input/libciderinput.la \ + ciderlib/support/libcidersuprt.la +endif + +ngspice_LDADD += \ maths/deriv/libderiv.la \ maths/cmaths/libcmaths.la \ maths/misc/libmathmisc.la \ @@ -144,8 +199,14 @@ ngnutmeg_SOURCES += winmain.c endif ngnutmeg_LDADD = \ - frontend/libfte.la \ - @WINDISPLIB@ \ + frontend/libfte.la + +if WINDOWS +ngnutmeg_LDADD += \ + frontend/wdisp/libwindisp.la +endif + +ngnutmeg_LDADD += \ frontend/plotting/libplotting.la \ frontend/parser/libparser.la \ frontend/numparam/libnumparam.la \ @@ -251,21 +312,70 @@ LIBS += -lpsapi -ltcl84 -lBLT24 endif libspice_la_SOURCES = + libspice_la_LIBADD = ngspice.lo conf.lo \ spice.lo \ @X_LIBS@ \ - frontend/libfte.la \ - @WINDISPLIB@ \ - frontend/plotting/libplotting.la \ - @XSPICELIB1@ \ - $(DYNAMIC_DEVICELIBS) \ + frontend/libfte.la + +if WINDOWS +libspice_la_LIBADD += \ + frontend/wdisp/libwindisp.la +endif + +libspice_la_LIBADD += \ + frontend/plotting/libplotting.la + +if XSPICE_WANTED +libspice_la_LIBADD += \ + xspice/cm/libcmxsp.la \ + xspice/mif/libmifxsp.la +endif + +libspice_la_LIBADD += \ + $(DYNAMIC_DEVICELIBS) + +if NDEV_WANTED +libspice_la_LIBADD += \ + spicelib/devices/ndev/libndev.la +endif + +if NUMDEV_WANTED +libspice_la_LIBADD += \ + spicelib/devices/nbjt/libnbjt.la \ + spicelib/devices/nbjt2/libnbjt2.la \ + spicelib/devices/numd/libnumd.la \ + spicelib/devices/numd2/libnumd2.la \ + spicelib/devices/numos/libnumos.la +endif + +libspice_la_LIBADD += \ spicelib/analysis/libckt.la \ - spicelib/devices/libdev.la \ - @XSPICELIB2@ \ + spicelib/devices/libdev.la + +if XSPICE_WANTED +libspice_la_LIBADD += \ + xspice/evt/libevtxsp.la \ + xspice/enh/libenhxsp.la \ + xspice/ipc/libipcxsp.la \ + xspice/idn/libidnxsp.la \ + @XSPICEDLLIBS@ +endif + +libspice_la_LIBADD += \ frontend/parser/libparser.la \ frontend/numparam/libnumparam.la \ - spicelib/parser/libinp.la \ - @CIDERSIM@ \ + spicelib/parser/libinp.la + +if CIDER_WANTED +libspice_la_LIBADD += \ + ciderlib/twod/libcidertwod.la \ + ciderlib/oned/libcideroned.la \ + ciderlib/input/libciderinput.la \ + ciderlib/support/libcidersuprt.la +endif + +libspice_la_LIBADD += \ maths/deriv/libderiv.la \ maths/cmaths/libcmaths.la \ maths/misc/libmathmisc.la \ @@ -274,6 +384,7 @@ libspice_la_LIBADD = ngspice.lo conf.lo \ maths/sparse/libsparse.la \ misc/libmisc.la \ tclspice.lo $(LIBS) + libspice_la_CFLAGS = $(AM_CFLAGS) libspice_la_LDFLAGS = -shared -Wl,--version-script=tclspice.map if TCLWIN diff --git a/src/spicelib/devices/Makefile.am b/src/spicelib/devices/Makefile.am index 1f0bc71e0..bc87158b1 100644 --- a/src/spicelib/devices/Makefile.am +++ b/src/spicelib/devices/Makefile.am @@ -42,7 +42,6 @@ SUBDIRS = \ mos3 \ mos6 \ mos9 \ - @NDEV_DIR@ \ res \ soi3 \ sw \ @@ -53,8 +52,15 @@ SUBDIRS = \ vccs \ vcvs \ vsrc \ - @VLADEVDIR@ \ - @NUMDEVDIR@ + @VLADEVDIR@ + +if NDEV_WANTED +SUBDIRS += ndev +endif + +if NUMDEV_WANTED +SUBDIRS += nbjt nbjt2 numd numd2 numos +endif DIST_SUBDIRS = \ @VLADEVDIR@ \