Add a -V flag to the runtime and update the manual pages.

This patch adds a -V flag to the runtime to print version information.
It also updates the manual page to document this and makes some minor
changes to the iverilog an iverilog-vpi manual pages.
This commit is contained in:
Cary R 2008-11-19 16:45:17 -08:00 committed by Stephen Williams
parent c9077bd0be
commit 24827c4b42
5 changed files with 41 additions and 8 deletions

View File

@ -1,4 +1,4 @@
.TH iverilog 1 "April 22nd, 2008" Version "0.9.devel" .TH iverilog 1 "April 22nd, 2008" "" "Version 0.9.devel"
.SH NAME .SH NAME
iverilog - Icarus Verilog compiler iverilog - Icarus Verilog compiler

View File

@ -1,4 +1,4 @@
.TH iverilog-vpi 1 "$Date: 2004/10/04 01:10:53 $" Version "$Date: 2004/10/04 01:10:53 $" .TH iverilog-vpi 1 "November 19th, 2008" "" "Version 0.9.devel"
.SH NAME .SH NAME
iverilog-vpi - Compile front end for VPI modules iverilog-vpi - Compile front end for VPI modules
@ -129,7 +129,7 @@ iverilog(1), vvp(1),
.SH COPYRIGHT .SH COPYRIGHT
.nf .nf
Copyright \(co 2002 Stephen Williams Copyright \(co 2002-2008 Stephen Williams
This document can be freely redistributed according to the terms of the This document can be freely redistributed according to the terms of the
GNU General Public License version 2.0 GNU General Public License version 2.0

View File

@ -21,6 +21,8 @@
# #
SHELL = /bin/sh SHELL = /bin/sh
VERSION = 0.0
suffix = @install_suffix@ suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
@ -48,7 +50,7 @@ YACC = @YACC@
MAN = @MAN@ MAN = @MAN@
PS2PDF = @PS2PDF@ PS2PDF = @PS2PDF@
CPPFLAGS = @ident_support@ -I. -I.. -I $(srcdir) -I$(srcdir)/.. @CPPFLAGS@ @DEFS@ CPPFLAGS = @ident_support@ -I. -I.. -I $(srcdir) -I$(srcdir)/.. -DVERSION='"$(VERSION)"' @CPPFLAGS@ @DEFS@
CXXFLAGS = -Wall @CXXFLAGS@ CXXFLAGS = -Wall @CXXFLAGS@
LDFLAGS = @rdynamic@ @LDFLAGS@ LDFLAGS = @rdynamic@ @LDFLAGS@
LIBS = @LIBS@ @EXTRALIBS@ LIBS = @LIBS@ @EXTRALIBS@

View File

@ -17,6 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/ */
# include "version.h"
# include "config.h" # include "config.h"
# include "parse_misc.h" # include "parse_misc.h"
# include "compile.h" # include "compile.h"
@ -66,6 +67,7 @@ extern "C" long int lround(double x)
#endif #endif
bool verbose_flag = false; bool verbose_flag = false;
bool version_flag = false;
static int vvp_return_value = 0; static int vvp_return_value = 0;
void vpip_set_return_value(int value) void vpip_set_return_value(int value)
@ -166,7 +168,7 @@ int main(int argc, char*argv[])
/* For non-interactive runs we do not want to run the interactive /* For non-interactive runs we do not want to run the interactive
* debugger, so make $stop just execute a $finish. */ * debugger, so make $stop just execute a $finish. */
stop_is_finish = false; stop_is_finish = false;
while ((opt = getopt(argc, argv, "+hl:M:m:nsv")) != EOF) switch (opt) { while ((opt = getopt(argc, argv, "+hl:M:m:nsvV")) != EOF) switch (opt) {
case 'h': case 'h':
fprintf(stderr, fprintf(stderr,
"Usage: vvp [options] input-file [+plusargs...]\n" "Usage: vvp [options] input-file [+plusargs...]\n"
@ -178,7 +180,8 @@ int main(int argc, char*argv[])
" -m module Load vpi module.\n" " -m module Load vpi module.\n"
" -n Non-interactive ($stop = $finish).\n" " -n Non-interactive ($stop = $finish).\n"
" -s $stop right away.\n" " -s $stop right away.\n"
" -v Verbose progress messages.\n" ); " -v Verbose progress messages.\n"
" -V Print the version information.\n" );
exit(0); exit(0);
case 'l': case 'l':
logfile_name = optarg; logfile_name = optarg;
@ -203,6 +206,9 @@ int main(int argc, char*argv[])
case 'v': case 'v':
verbose_flag = true; verbose_flag = true;
break; break;
case 'V':
version_flag = true;
break;
default: default:
flag_errors += 1; flag_errors += 1;
} }
@ -210,6 +216,28 @@ int main(int argc, char*argv[])
if (flag_errors) if (flag_errors)
return flag_errors; return flag_errors;
if (version_flag) {
fprintf(stderr, "Icarus Verilog runtime version " VERSION " ("
VERSION_TAG ")\n\n");
fprintf(stderr, "Copyright 1998-2008 Stephen Williams\n\n");
fprintf(stderr,
" This program is free software; you can redistribute it and/or modify\n"
" it under the terms of the GNU General Public License as published by\n"
" the Free Software Foundation; either version 2 of the License, or\n"
" (at your option) any later version.\n"
"\n"
" This program is distributed in the hope that it will be useful,\n"
" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
" GNU General Public License for more details.\n"
"\n"
" You should have received a copy of the GNU General Public License along\n"
" with this program; if not, write to the Free Software Foundation, Inc.,\n"
" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n\n"
);
return 0;
}
if (optind == argc) { if (optind == argc) {
fprintf(stderr, "%s: no input file.\n", argv[0]); fprintf(stderr, "%s: no input file.\n", argv[0]);
return -1; return -1;

View File

@ -1,4 +1,4 @@
.TH vvp 1 "$Date: 2005/01/29 06:28:19 $" Version "$Date: 2005/01/29 06:28:19 $" .TH vvp 1 "November 19th, 2008" "" "Version 0.9.devel"
.SH NAME .SH NAME
vvp - Icarus Verilog vvp runtime engine vvp - Icarus Verilog vvp runtime engine
@ -54,6 +54,9 @@ hold of the simulation just before it starts.
.B -v .B -v
Turn on verbose messages. This will cause information about run time Turn on verbose messages. This will cause information about run time
progress to be printed to standard out. progress to be printed to standard out.
.TP 8
.B -V
Print the version of the runtime, and exit.
.SH EXTENDED ARGUMENTS .SH EXTENDED ARGUMENTS
.PP .PP
@ -151,7 +154,7 @@ iverilog-vpi(1),
.SH COPYRIGHT .SH COPYRIGHT
.nf .nf
Copyright \(co 2001-2003 Stephen Williams Copyright \(co 2001-2008 Stephen Williams
This document can be freely redistributed according to the terms of the This document can be freely redistributed according to the terms of the
GNU General Public License version 2.0 GNU General Public License version 2.0