Improved the "version" command to show compilation switches. Updated

documentation to reflect changes.
This commit is contained in:
pnenzi 2003-08-24 16:45:15 +00:00
parent 541a78d8dc
commit 7d0f2f2276
2 changed files with 93 additions and 5 deletions

View File

@ -6239,15 +6239,46 @@ Clear the value of the specified variable(s) (word).
General Form: General Form:
@example @example
version [version id] version [-s | -f | <version id>]
@end example @end example
Print out the version of nutmeg that is running. If there are Print out the version of @emph{nutmeg} that is running, if invoked without argument
arguments, it checks to make sure that the arguments match the current or with @code{-s} or @code{-f}. If the argument is a @code{<version id>} (any string different
version of NGSPICE. (This is mainly used as a Command: line in rawfiles.) from @code{-s} or @code{-f} is considered a @code{<version id>} ), the command checks to make
sure that the arguments match the current version of NGSPICE.
(This is mainly used as a @code{Command:} line in rawfiles.)
@emph{Options description}
@itemize @bullet
@item No option: The output of the command is the message you can see when running NGSPICE
from the command line, no more no less.
@item @code{-s}(hort): A shorter version of the message you see when calling NGSPICE from the
command line.
@item @code{-f}(ull): You may want to use this option if you want to know what extensions
are included into the simulator and what compilation switches are
active. A list of compilation options and included extensions is
appended to the normal (not short) message. May be useful when sending
bug reports.
@end itemize
The following example shows what the command returns is some situations:
@example
ngspice 10 -> version
******
** ngspice-15 : Circuit level simulation program
** The U. C. Berkeley CAD Group
** Copyright 1985-1994, Regents of the University of California.
** Please submit bug-reports to: ngspice-devel@@lists.sourceforge.net
** Creation Date: Sun Aug 24 00:35:57 CEST 2003
******
ngspice 11 -> version 14
Note: rawfile is version 14 (current version is 15)
ngspice 12 -> version 15
ngspice 13 ->
@end example
@node Where, Write, Version, Commands @node Where, Write, Version, Commands
@subsection Where: Identify troublesome node or device @subsection Where: Identify troublesome node or device

View File

@ -156,7 +156,7 @@ com_version(wordlist *wl)
} else { } else {
s = wl_flatten(wl); s = wl_flatten(wl);
if (!strncmp(s, "-s", 2)) { if (!strncmp(s, "-s", 2) || !strncmp(s, "-S", 2) ) {
fprintf(cp_out, "******\n"); fprintf(cp_out, "******\n");
fprintf(cp_out, "** %s-%s\n", ft_sim->simulator, fprintf(cp_out, "** %s-%s\n", ft_sim->simulator,
ft_sim->version); ft_sim->version);
@ -165,6 +165,63 @@ com_version(wordlist *wl)
if (Spice_Build_Date && *Spice_Build_Date) if (Spice_Build_Date && *Spice_Build_Date)
fprintf(cp_out, "** Creation Date: %s\n", Spice_Build_Date); fprintf(cp_out, "** Creation Date: %s\n", Spice_Build_Date);
fprintf(cp_out, "******\n"); fprintf(cp_out, "******\n");
} else if (!strncmp(s, "-f", 2) || !strncmp(s, "-F", 2) ) {
fprintf(cp_out, "******\n");
fprintf(cp_out, "** %s-%s : %s\n", ft_sim->simulator,
ft_sim->version, ft_sim->description);
fprintf(cp_out, "** The U. C. Berkeley CAD Group\n");
fprintf(cp_out,
"** Copyright 1985-1994, Regents of the University of California.\n");
if (Spice_Notice && *Spice_Notice)
fprintf(cp_out, "** %s\n", Spice_Notice);
if (Spice_Build_Date && *Spice_Build_Date)
fprintf(cp_out, "** Creation Date: %s\n", Spice_Build_Date);
fprintf(cp_out,"**\n");
#ifdef CIDER
fprintf(cp_out,"** CIDER 1.b1 (CODECS simulator) included\n");
#endif
#ifdef XSPICE
fprintf(cp_out,"** XSPICE extensions included\n");
#endif
fprintf(cp_out,"** Relevant compilation options (refer to user's manual):\n");
#ifdef NOBYPASS
fprintf(cp_out,"** --enable-nobypass\n");
#endif
#ifdef CAPBYPASS
fprintf(cp_out,"** --enable-capbypass\n");
#endif
#ifdef CAPZEROBYPASS
fprintf(cp_out,"** --enable-capzerobypass\n");
#endif
#ifdef NODELIMITING
fprintf(cp_out,"** --enable-nodelimiting\n");
#endif
#ifdef PREDICTOR
fprintf(cp_out,"** --enable-predictor\n");
#endif
#ifdef NEWTRUNC
fprintf(cp_out,"** --enable-newtrunc\n");
#endif
#ifdef NOSQRT
fprintf(cp_out,"** --enable-nosqrt\n");
#endif
#ifdef INT_NOISE
fprintf(cp_out,"** --enable-intnoise\n");
#endif
#ifdef WANT_SENSE2
fprintf(cp_out,"** --enable-sense2\n");
#endif
fprintf(cp_out,"**\n");
#ifdef EXPERIMENTAL_CODE
fprintf(cp_out,"** Experimental code enabled.\n");
#endif
#ifdef EXP_DEV
fprintf(cp_out,"** Experimental devices enabled.\n");
#endif
fprintf(cp_out, "******\n");
} else if (!eq(ft_sim->version, s)) { } else if (!eq(ft_sim->version, s)) {
fprintf(stderr, fprintf(stderr,
"Note: rawfile is version %s (current version is %s)\n", "Note: rawfile is version %s (current version is %s)\n",