From d8f112d862113ed6f9905b409469e0e90fcd303d Mon Sep 17 00:00:00 2001 From: h_vogt Date: Sat, 14 Aug 2010 08:34:49 +0000 Subject: [PATCH] see ChangeLog --- .cvsignore | 4 ++-- ChangeLog | 12 ++++++++++ Makefile.am | 12 +++++++--- autogen.sh | 26 +++++++++++++--------- configure.in | 63 ++++++++++++++++++++++++++++++++-------------------- 5 files changed, 77 insertions(+), 40 deletions(-) diff --git a/.cvsignore b/.cvsignore index 0ede33b8e..ff4446d4a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -20,8 +20,8 @@ Makefile depcomp ylwrap *.tar.gz -autogen-new.log make.log distrib visualc -vs-dll \ No newline at end of file +vs-dll +m4 diff --git a/ChangeLog b/ChangeLog index 3ddafda04..0ab26776b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2010-08-13 Holger Vogt + * autogen.sh: keep configure.in untouched by generating temporary + configure.ac if --adms is selected + * configure.in: remove VLAMKF; move AM_CONDITIONAL out of + conditional clauses; replace AC_PROG_YACC, AC_PROG_LEX by + appropriate AC_CHECK_PROGS with warning if BISON is missing w/o XSPICE, + but fail if w/ XSPICE and BISON or FLEX missing; AC_CONFIG_MACRO_DIR([m4]) + added + * Makefile.am: ACLOCAL_AMFLAGS = -I m4 added + * .cvsignore: m4 added + * nghelp.c: adapt function types + 2010-08-11 Robert Larice * src/include/cktdefs.h , * src/include/ifsim.h , diff --git a/Makefile.am b/Makefile.am index ffad34440..e396ae7ba 100644 --- a/Makefile.am +++ b/Makefile.am @@ -14,19 +14,25 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \ missing mkinstalldirs stamp-h.in ltconfig \ ltmain.sh autom4te.cache +ACLOCAL_AMFLAGS = -I m4 + dist-hook: rm -rf `find $(distdir)/contrib -name CVS` rm -rf `find $(distdir)/patches -name CVS` rm -rf `find $(distdir)/examples -name CVS` rm -rf `find $(distdir)/visualc -name CVS` rm -rf `find $(distdir)/visualc/include -name CVS` + rm -rf `find $(distdir)/xgraph -name .cvsignore` + rm -rf `find $(distdir)/xgraph -name .deps` rm -rf `find $(distdir)/xgraph -name CVS` + rm -rf `find $(distdir)/xgraph -name config.status` + rm -rf `find $(distdir)/xgraph -name config.log` + rm -rf `find $(distdir)/xgraph -name aclocal.m4` + rm -rf `find $(distdir)/xgraph -name Makefile` rm -rf `find $(distdir)/xgraph/bitmaps -name CVS` rm -rf `find $(distdir)/xgraph/examples -name CVS` rm -rf `find $(distdir)/unsupported -name CVS` - rm -rf `find $(distdir)/xgraph -name .cvsignore` - rm -rf `find $(distdir)/xgraph -name .deps` - + mrproper: maintainer-clean rm -f `find . -type f -name "*~" -print` rm -f `find . -type f -name "*.orig" -print` diff --git a/autogen.sh b/autogen.sh index 4b95a32af..b2e8e0498 100755 --- a/autogen.sh +++ b/autogen.sh @@ -7,6 +7,11 @@ # # $Id$ # +# configure.temp: temporary storage place of configure.in +# maybe recovered if .autogen.sh is killed manually +# +# configure.ac: modified configure.in if --adms is selected +# will be deleted automatically while configure.in is recovered PROJECT=ngspice TEST_TYPE=-f @@ -44,7 +49,9 @@ echo end_on_error() { if test "$ADMS" -eq 1; then - mv configure.temp configure.in + cp -p configure.ac configure.err + rm -f configure.ac + mv -f configure.temp configure.in fi exit 1 @@ -126,23 +133,19 @@ test $TEST_TYPE $FILE || { if test "$ADMS" -eq 1; then -cp -p configure.in configure.temp + rm -f configure.ac + mv -f configure.in configure.temp # automake needs these entries in configure.in for adms enabled -# sed 's/${VLAMKF}/src\/spicelib\/devices\/adms\/ekv\/Makefile\ -# src\/spicelib\/devices\/adms\/hicum0\/Makefile\ -# src\/spicelib\/devices\/adms\/hicum2\/Makefile\ -# src\/spicelib\/devices\/adms\/mextram\/Makefile\ -# src\/spicelib\/devices\/adms\/psp102\/Makefile/g' configure.temp >configure.test sed 's/tests\/vbic\/Makefile/tests\/vbic\/Makefile\ src\/spicelib\/devices\/adms\/ekv\/Makefile\ src\/spicelib\/devices\/adms\/hicum0\/Makefile\ src\/spicelib\/devices\/adms\/hicum2\/Makefile\ src\/spicelib\/devices\/adms\/mextram\/Makefile\ - src\/spicelib\/devices\/adms\/psp102\/Makefile/g' configure.temp >configure.in + src\/spicelib\/devices\/adms\/psp102\/Makefile/g' configure.temp >configure.ac -# cp -p configure.in configure.test +# cp -p configure.ac configure.test currentdir=`pwd` @@ -165,7 +168,7 @@ cp -p configure.in configure.temp echo "-->"$ADMSDIR/$adms_dir cd $ADMSDIR/$adms_dir file=`ls admsva/*.va` - $ADMSXML $file -Iadmsva -e ../admst/ngspiceVersion.xml \ + $ADMSXML $file -Iadmsva -xv -e ../admst/ngspiceVersion.xml \ -e ../admst/ngspiceMakefile.am.xml cd $currentdir @@ -201,7 +204,8 @@ autoconf if [ $? -ne 0 ]; then echo "autoconf failed"; end_on_error ; fi if test "$ADMS" -eq 1; then - mv configure.temp configure.in + rm -f configure.ac + mv -f configure.temp configure.in fi echo "Success." diff --git a/configure.in b/configure.in index d71e66ca9..5aea923c2 100644 --- a/configure.in +++ b/configure.in @@ -31,6 +31,8 @@ AC_CONFIG_HEADER([config.h]) dnl Initialise automake stuff AM_INIT_AUTOMAKE +AC_CONFIG_MACRO_DIR([m4]) + dnl Package Options dnl --------------- @@ -295,15 +297,13 @@ AC_CANONICAL_HOST dnl dnl The tclSpice options dnl -AM_CONDITIONAL(TCL_MODULE, false) -AM_CONDITIONAL(TCLWIN, false) if test "x$with_tcl" != "x" -a "$with_tcl" != "no" ; then - AM_CONDITIONAL(TCL_MODULE, true) + has_tcl_module=true AC_DEFINE(TCL_MODULE,1,[Tcl Module]) case $host_os in *mingw* ) - AM_CONDITIONAL(TCLWIN, true) - AM_CONDITIONAL(NO_HELP, true) + has tclwin=true + has_no_help=true AC_DEFINE(HAS_TCLWIN,1,[Tcl Windows]);; *) ;; @@ -435,6 +435,9 @@ else enable_static=yes fi +AM_CONDITIONAL([TCL_MODULE], [test x$has_tcl_module = xtrue]) +AM_CONDITIONAL([TCLWIN], [test x$has_tclwin = xtrue]) + AC_SUBST(TCL_PACKAGE_PATH) AC_SUBST(TCL_LIB_SPEC) ################################################################## @@ -469,16 +472,15 @@ case $with_windows in yes ) AC_DEFINE(X_DISPLAY_MISSING) AC_MSG_RESULT(No X display!) - AM_CONDITIONAL(NO_X, test x$with_windows = xyes) + has_no_x=true if test "x$enable_help" = "xyes"; then - AM_CONDITIONAL(NO_HELP, test ! x$with_windows = xyes) + has_no_help=false else - AM_CONDITIONAL(NO_HELP, true) + Has_no_help=true fi CFLAGS="$CFLAGS -mwindows";; * ) - dnl Check for /proc (virtual process information file system) AC_CHECK_HEADERS( /proc/meminfo) @@ -579,21 +581,24 @@ if test ! "$no_x" = "yes" ; then X_LIBS="$X_LIBS -lXt" AC_CHECK_LIB(Xext, XShmAttach,X_LIBS="$X_LIBS -lXext",AC_MSG_ERROR(Couldn't find Xext library), $X_LIBS $X_EXTRA_LIBS) X_LIBS="$X_LIBS -lX11" - AM_CONDITIONAL(NO_X, false) + has_no_x=false else AC_DEFINE(X_DISPLAY_MISSING) AC_MSG_RESULT(No X display!) - AM_CONDITIONAL(NO_X, true) + has_no_x=true fi if ( test "x$enable_help" = "xyes" ) && ! ( test "$no_x" = "yes" ) ; then - AM_CONDITIONAL(NO_HELP, false) + has_no_help=false else - AM_CONDITIONAL(NO_HELP, true) + has_no_help=true fi ;; esac +# end of case --with-windows +AM_CONDITIONAL([NO_X], [test x$has_no_x = xtrue]) +AM_CONDITIONAL([NO_HELP], [test x$has_no_help = xtrue]) dnl Check for a few typdefs: AC_TYPE_PID_T @@ -691,7 +696,6 @@ AC_CHECK_FUNCS(dirname,,AC_CHECK_LIB(gen,dirname,AC_DEFINE(HAVE_DIRNAME,1,[Have AC_CHECK_HEADERS(getopt.h) AC_CHECK_FUNC(getopt_long, getopt_long=true) -# AM_CONDITIONAL(HAVE_GETOPT_LONG, test "$getopt_long" = "true") if test "$getopt_long" = "true"; then AC_DEFINE(HAVE_GETOPT_LONG,1,[Have fcn getopt_long()]) fi @@ -812,13 +816,20 @@ fi AC_SUBST(XGRAPHDIR) AC_SUBST(NOTXGRAPH) +AC_CHECK_PROGS(YACC, 'bison -y' byacc yacc) + dnl Add new code models to the build by pointing to them here. if test "$enable_xspice" = "yes"; then + if test -z "${YACC}" ; then + AC_MSG_ERROR([XSPICE build requires bison, byacc or yacc parser generator]) + fi AC_MSG_RESULT(X-Spice features included) AC_DEFINE(XSPICE, [1], [The xspice enhancements]) -dnl Define variables for YACC and LEX - AC_PROG_YACC - AM_PROG_LEX +dnl Define variables for LEX + AC_CHECK_PROGS(LEX, flex lex) + if test -z $LEX ; then + AC_MSG_ERROR(Flex is required for building XSPICE) + fi XSPICEDIR="xspice" case $host_os in *mingw* ) @@ -854,6 +865,10 @@ else 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) @@ -918,11 +933,11 @@ if test "$enable_adms" = "yes"; then adms/mextram \ adms/psp102 " - VLAMKF=" src/spicelib/devices/adms/ekv/Makefile \ - src/spicelib/devices/adms/hicum0/Makefile \ - src/spicelib/devices/adms/hicum2/Makefile \ - src/spicelib/devices/adms/mextram/Makefile \ - src/spicelib/devices/adms/psp102/Makefile " +# VLAMKF=" src/spicelib/devices/adms/ekv/Makefile \ +# src/spicelib/devices/adms/hicum0/Makefile \ +# src/spicelib/devices/adms/hicum2/Makefile \ +# src/spicelib/devices/adms/mextram/Makefile \ +# src/spicelib/devices/adms/psp102/Makefile " NOTVLADEVDIR="" @@ -934,7 +949,7 @@ if test "$enable_adms" = "yes"; then else - VLAMKF="" +# VLAMKF="" VLADEVDIR="" NOTVLADEVDIR="adms" @@ -942,7 +957,7 @@ fi AC_SUBST(ADMSXML) AC_SUBST(VLADEVDIR) -AC_SUBST(VLAMKF) +#AC_SUBST(VLAMKF) AC_SUBST(VLADEV) AC_SUBST(NOTVLADEVDIR)