summaryrefslogtreecommitdiff
path: root/cad/verilog
diff options
context:
space:
mode:
authordmcmahill <dmcmahill@pkgsrc.org>2000-01-26 15:28:40 +0000
committerdmcmahill <dmcmahill@pkgsrc.org>2000-01-26 15:28:40 +0000
commit2530131eeb6aecddf50d12af618d56e0549d4bbb (patch)
treef677dd44d82528973774a66fecd0f05dcd19c818 /cad/verilog
parentba27124c6e79d1058dd03a3fba400ea2a463784f (diff)
downloadpkgsrc-2530131eeb6aecddf50d12af618d56e0549d4bbb.tar.gz
Initial import of Icarus Verilog.
Icarus Verilog is a Verilog simulation and synthesis tool. It operates as a compiler, compiling source code writen in Verilog (IEEE-1364) into some target format. For batch simulation, the compiler can generate C++ code that is compiled and linked with a run time library (called "vvm") then executed as a command to run the simulation. For synthesis, the compiler generates netlists in the desired format. The compiler proper is intended to parse and elaborate design descriptions written to the IEEE standard IEEE Std 1364-1995. This is a fairly large and complex standard, so it will take some time for it to get there, but that's the goal. I'll be tracking the upcoming IEEE Std 1364-1999 revision as well, and some -1999 features will creep in.
Diffstat (limited to 'cad/verilog')
-rw-r--r--cad/verilog/Makefile15
-rw-r--r--cad/verilog/files/md53
-rw-r--r--cad/verilog/files/patch-sum13
-rw-r--r--cad/verilog/patches/patch-aa11
-rw-r--r--cad/verilog/patches/patch-ab11
-rw-r--r--cad/verilog/patches/patch-ac11
-rw-r--r--cad/verilog/patches/patch-ad36
-rw-r--r--cad/verilog/patches/patch-ae11
-rw-r--r--cad/verilog/patches/patch-af11
-rw-r--r--cad/verilog/patches/patch-ag11
-rw-r--r--cad/verilog/patches/patch-ah24
-rw-r--r--cad/verilog/patches/patch-ai55
-rw-r--r--cad/verilog/patches/patch-aj464
-rw-r--r--cad/verilog/patches/patch-ak16
-rw-r--r--cad/verilog/pkg/COMMENT1
-rw-r--r--cad/verilog/pkg/DESCR12
-rw-r--r--cad/verilog/pkg/PLIST16
17 files changed, 721 insertions, 0 deletions
diff --git a/cad/verilog/Makefile b/cad/verilog/Makefile
new file mode 100644
index 00000000000..b0f5bacca50
--- /dev/null
+++ b/cad/verilog/Makefile
@@ -0,0 +1,15 @@
+# $NetBSD: Makefile,v 1.1.1.1 2000/01/26 15:28:40 dmcmahill Exp $
+#
+
+DISTNAME= verilog-20000120
+CATEGORIES= cad
+MASTER_SITES= ftp://icarus.com/pub/eda/verilog/snapshots/
+
+MAINTAINER= packages@netbsd.org
+HOMEPAGE= http://icarus.com/eda/verilog/index.html
+
+BUILD_DEPENDS+= bison:../../devel/bison
+
+GNU_CONFIGURE= YES
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/cad/verilog/files/md5 b/cad/verilog/files/md5
new file mode 100644
index 00000000000..2326c54f320
--- /dev/null
+++ b/cad/verilog/files/md5
@@ -0,0 +1,3 @@
+$NetBSD: md5,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+MD5 (verilog-20000120.tar.gz) = 7db4c32b31f4085390dce47946e67d8c
diff --git a/cad/verilog/files/patch-sum b/cad/verilog/files/patch-sum
new file mode 100644
index 00000000000..810ad8c71c6
--- /dev/null
+++ b/cad/verilog/files/patch-sum
@@ -0,0 +1,13 @@
+$NetBSD: patch-sum,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+MD5 (patch-aa) = 6088649d9b818cfa495f68a864af1bf5
+MD5 (patch-ab) = fba82e47a2ce4779cb2e717ded92e0ea
+MD5 (patch-ac) = 8ff0a3907934f2a5c44e684bd7d72442
+MD5 (patch-ad) = 12e2ab429aa9aa89171c1426b244aeba
+MD5 (patch-ae) = d16d4909918764a0612b3b8ccbdf8d13
+MD5 (patch-af) = cb6f58b619c8ee68ff0eb2b0d7ec3a5f
+MD5 (patch-ag) = cb652cf0e8ba9868220acd4a02a0f04c
+MD5 (patch-ah) = 6e1df2b3dd963d0435d7e4d9757e0a5e
+MD5 (patch-ai) = 1c3fc9b2234c6236101b0c3522af2b7a
+MD5 (patch-aj) = c7b0a58661b2b9198bb445e540f1c233
+MD5 (patch-ak) = 9fe894b048134a8bdc75a87555d05f5b
diff --git a/cad/verilog/patches/patch-aa b/cad/verilog/patches/patch-aa
new file mode 100644
index 00000000000..844ac5c118b
--- /dev/null
+++ b/cad/verilog/patches/patch-aa
@@ -0,0 +1,11 @@
+$NetBSD: patch-aa,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- ./vpi/sys_readmem.c.orig Tue Dec 14 23:35:34 1999
++++ ./vpi/sys_readmem.c Sat Jan 22 14:04:59 2000
+@@ -21,5 +21,5 @@
+ #endif
+
+-# include <vpi_user.h>
++# include "vpi_user.h"
+ # include <string.h>
+ # include <stdlib.h>
diff --git a/cad/verilog/patches/patch-ab b/cad/verilog/patches/patch-ab
new file mode 100644
index 00000000000..c203e375816
--- /dev/null
+++ b/cad/verilog/patches/patch-ab
@@ -0,0 +1,11 @@
+$NetBSD: patch-ab,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- ./vpi/sys_vcd.c.orig Thu Jan 20 01:04:55 2000
++++ ./vpi/sys_vcd.c Sat Jan 22 14:05:12 2000
+@@ -26,5 +26,5 @@
+ */
+
+-# include <vpi_user.h>
++# include "vpi_user.h"
+ # include <stdio.h>
+ # include <stdlib.h>
diff --git a/cad/verilog/patches/patch-ac b/cad/verilog/patches/patch-ac
new file mode 100644
index 00000000000..c2a62abf13e
--- /dev/null
+++ b/cad/verilog/patches/patch-ac
@@ -0,0 +1,11 @@
+$NetBSD: patch-ac,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- ./vpi/sys_readmem_lex.h.orig Tue Dec 14 23:01:14 1999
++++ ./vpi/sys_readmem_lex.h Sat Jan 22 14:07:07 2000
+@@ -24,5 +24,5 @@
+
+ # include <stdio.h>
+-# include <vpi_user.h>
++# include "vpi_user.h"
+
+ # define MEM_ADDRESS 257
diff --git a/cad/verilog/patches/patch-ad b/cad/verilog/patches/patch-ad
new file mode 100644
index 00000000000..687371a0426
--- /dev/null
+++ b/cad/verilog/patches/patch-ad
@@ -0,0 +1,36 @@
+$NetBSD: patch-ad,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+*use INSTALL_SCRIPT for installing a shell script.
+*don't use -O2 on parse.cc because of compiler bugs on sparc and pmax
+ (maybe others).
+*check for libdl, don't assume it is there.
+
+--- Makefile.in.orig Sun Jan 9 12:43:28 2000
++++ Makefile.in Mon Jan 24 13:02:12 2000
+@@ -40,4 +40,5 @@
+ CXX = @CXX@
+ INSTALL = @INSTALL@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_DATA = @INSTALL_DATA@
+@@ -92,5 +93,6 @@
+ -e 's;@$(tmp2)@;@libdir@;' \
+ -e 's;@$(tmp3)@;@includedir@;' \
+- -e 's;@$(tmp4)@;@CXX@;' < $< > $@
++ -e 's;@$(tmp4)@;@CXX@;' \
++ -e 's;@dllib@;@DLLIB@;' < $< > $@
+
+ ivl: $O
+@@ -109,4 +111,5 @@
+
+ parse.o dep/parse.d: parse.cc
++ $(CXX) -c -I. $(CPPFLAGS) $<
+
+ parse.h parse.cc: $(srcdir)/parse.y
+@@ -123,5 +126,5 @@
+
+ $(bindir)/verilog: ./verilog
+- $(INSTALL_PROGRAM) ./verilog $(bindir)/verilog
++ $(INSTALL_SCRIPT) ./verilog $(bindir)/verilog
+
+ $(bindir)/gverilog: ./gverilog
diff --git a/cad/verilog/patches/patch-ae b/cad/verilog/patches/patch-ae
new file mode 100644
index 00000000000..0da1d59e4d2
--- /dev/null
+++ b/cad/verilog/patches/patch-ae
@@ -0,0 +1,11 @@
+$NetBSD: patch-ae,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- ./verilog.sh.orig Fri Jan 21 00:41:51 2000
++++ ./verilog.sh Sun Jan 23 12:59:52 2000
+@@ -117,5 +117,5 @@
+ "xnf") mv ${tmpCCFile} ${outputFile} ;;
+
+- "vvm") ${execCpp} -rdynamic -I${includedir} -L${libdir} ${tmpCCFile} -o ${outputFile} -lvvm -ldl ;
++ "vvm") ${execCpp} -rdynamic -I${includedir} -L${libdir} ${tmpCCFile} -o ${outputFile} -Wl,--export-dynamic -lvvm @dllib@ ;
+ if test $? -ne 0 ; then
+ echo "C++ compilation failed. Terminating compilation."
diff --git a/cad/verilog/patches/patch-af b/cad/verilog/patches/patch-af
new file mode 100644
index 00000000000..f4303e5e75a
--- /dev/null
+++ b/cad/verilog/patches/patch-af
@@ -0,0 +1,11 @@
+$NetBSD: patch-af,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- ./vvm/Makefile.in.orig Wed Jan 12 22:35:35 2000
++++ ./vvm/Makefile.in Sat Jan 22 15:33:32 2000
+@@ -85,5 +85,5 @@
+
+ $(libdir)/libvvm.a: ./libvvm.a
+- $(INSTALL_PROGRAM) ./libvvm.a $(libdir)/libvvm.a
++ $(INSTALL_DATA) ./libvvm.a $(libdir)/libvvm.a
+
+ $(includedir)/vvm.h: $(srcdir)/vvm.h
diff --git a/cad/verilog/patches/patch-ag b/cad/verilog/patches/patch-ag
new file mode 100644
index 00000000000..d85b44d5acc
--- /dev/null
+++ b/cad/verilog/patches/patch-ag
@@ -0,0 +1,11 @@
+$NetBSD: patch-ag,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- ./vpi/Makefile.in.orig Sat Jan 22 16:53:15 2000
++++ ./vpi/Makefile.in Sat Jan 22 16:52:03 2000
+@@ -69,5 +69,5 @@
+
+ $(libdir)/ivl/system.vpi: ./system.vpi
+- $(INSTALL_PROGRAM) ./system.vpi $(libdir)/ivl/system.vpi
++ $(INSTALL_DATA) ./system.vpi $(libdir)/ivl/system.vpi
+
+ $(includedir)/vpi_user.h: $(srcdir)/vpi_user.h
diff --git a/cad/verilog/patches/patch-ah b/cad/verilog/patches/patch-ah
new file mode 100644
index 00000000000..8e4a310aec7
--- /dev/null
+++ b/cad/verilog/patches/patch-ah
@@ -0,0 +1,24 @@
+$NetBSD: patch-ah,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- ./vvm/vvm_calltf.cc.orig Sun Nov 28 13:05:37 1999
++++ ./vvm/vvm_calltf.cc Sun Jan 23 12:35:21 2000
+@@ -21,4 +21,5 @@
+ #endif
+
++# include "../machine.h"
+ # include "vvm_calltf.h"
+ # include <vpi_user.h>
+@@ -100,5 +101,13 @@
+ }
+
++#if defined(WLU) && defined(WTU)
++ void*table = dlsym(mod, "_vlog_startup_routines_");
++#elif defined(WLU)
++ void*table = dlsym(mod, "_vlog_startup_routines");
++#elif defined(WTU)
++ void*table = dlsym(mod, "vlog_startup_routines_");
++#else
+ void*table = dlsym(mod, "vlog_startup_routines");
++#endif
+ vlog_startup_routines_t*routines = (vlog_startup_routines_t*)table;
+ if (routines == 0) {
diff --git a/cad/verilog/patches/patch-ai b/cad/verilog/patches/patch-ai
new file mode 100644
index 00000000000..5de25e2d982
--- /dev/null
+++ b/cad/verilog/patches/patch-ai
@@ -0,0 +1,55 @@
+$NetBSD: patch-ai,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- configure.in.orig Mon Nov 29 12:02:21 1999
++++ configure.in Sun Jan 23 12:59:12 2000
+@@ -1,4 +1,5 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT(netlist.h)
++AC_CONFIG_HEADER(machine.h)
+
+ dnl Checks for programs.
+@@ -8,4 +9,44 @@
+ AC_CHECK_HEADERS(getopt.h)
+ AC_PROG_INSTALL
++AC_CHECK_LIB(dl,main,[DLLIB=-ldl])
++AC_SUBST(DLLIB)
++
++#######################
++## test for underscores
++#######################
++
++AC_MSG_CHECKING("for leading and/or trailing underscores")
++cat << EOF > underscore.c
++ void underscore(void){}
++EOF
++$CC -c underscore.c > /dev/null 2>&1
++
++CC_LEADING_UNDERSCORE=no
++CC_TRAILING_UNDERSCORE=no
++
++output=`nm underscore.o|grep _underscore 2>&1`
++if test ! -z "$output"; then
++ CC_LEADING_UNDERSCORE=yes
++fi
++
++output=`nm underscore.o|grep underscore_ 2>&1`
++if test ! -z "$output"; then
++ CC_TRAILING_UNDERSCORE=yes
++fi
++
++if test "$CC_LEADING_UNDERSCORE" = yes; then
++ AC_DEFINE(WLU)
++fi
++if test "$CC_TRAILING_UNDERSCORE" = yes; then
++ AC_DEFINE(WTU)
++fi
++
++rm underscore.c underscore.o
++
++AC_MSG_RESULT("$CC_LEADING_UNDERSCORE $CC_TRAILING_UNDERSCORE")
++
++#######################
++## end of test for underscores
++#######################
+
+ AC_OUTPUT(Makefile vpi/Makefile ivlpp/Makefile vvm/Makefile)
diff --git a/cad/verilog/patches/patch-aj b/cad/verilog/patches/patch-aj
new file mode 100644
index 00000000000..f3a0a6cee22
--- /dev/null
+++ b/cad/verilog/patches/patch-aj
@@ -0,0 +1,464 @@
+$NetBSD: patch-aj,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- configure.orig Fri Jan 21 00:43:15 2000
++++ configure Sun Jan 23 12:59:14 2000
+@@ -523,8 +523,9 @@
+
+
++
+ # Extract the first word of "gcc", so it can be a program name with args.
+ set dummy gcc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:529: checking for $ac_word" >&5
++echo "configure:530: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -556,5 +557,5 @@
+ set dummy cc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:559: checking for $ac_word" >&5
++echo "configure:560: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -607,5 +608,5 @@
+ set dummy cl; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:610: checking for $ac_word" >&5
++echo "configure:611: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -639,5 +640,5 @@
+
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+-echo "configure:642: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++echo "configure:643: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ ac_ext=c
+@@ -650,10 +651,10 @@
+ cat > conftest.$ac_ext << EOF
+
+-#line 653 "configure"
++#line 654 "configure"
+ #include "confdefs.h"
+
+ main(){return(0);}
+ EOF
+-if { (eval echo configure:658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cc_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+@@ -681,10 +682,10 @@
+ fi
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+-echo "configure:684: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
++echo "configure:685: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+ cross_compiling=$ac_cv_prog_cc_cross
+
+ echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+-echo "configure:689: checking whether we are using GNU C" >&5
++echo "configure:690: checking whether we are using GNU C" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -695,5 +696,5 @@
+ #endif
+ EOF
+-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:699: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+ else
+@@ -714,5 +715,5 @@
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+-echo "configure:717: checking whether ${CC-cc} accepts -g" >&5
++echo "configure:718: checking whether ${CC-cc} accepts -g" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -750,5 +751,5 @@
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:753: checking for $ac_word" >&5
++echo "configure:754: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -782,5 +783,5 @@
+
+ echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+-echo "configure:785: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
++echo "configure:786: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+
+ ac_ext=C
+@@ -793,10 +794,10 @@
+ cat > conftest.$ac_ext << EOF
+
+-#line 796 "configure"
++#line 797 "configure"
+ #include "confdefs.h"
+
+ int main(){return(0);}
+ EOF
+-if { (eval echo configure:801: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cxx_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+@@ -824,10 +825,10 @@
+ fi
+ echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+-echo "configure:827: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
++echo "configure:828: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+ echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
+ cross_compiling=$ac_cv_prog_cxx_cross
+
+ echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+-echo "configure:832: checking whether we are using GNU C++" >&5
++echo "configure:833: checking whether we are using GNU C++" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -838,5 +839,5 @@
+ #endif
+ EOF
+-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:841: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
++if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:842: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gxx=yes
+ else
+@@ -857,5 +858,5 @@
+ CXXFLAGS=
+ echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+-echo "configure:860: checking whether ${CXX-g++} accepts -g" >&5
++echo "configure:861: checking whether ${CXX-g++} accepts -g" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -914,5 +915,5 @@
+
+ echo $ac_n "checking host system type""... $ac_c" 1>&6
+-echo "configure:917: checking host system type" >&5
++echo "configure:918: checking host system type" >&5
+
+ host_alias=$host
+@@ -935,5 +936,5 @@
+
+ echo $ac_n "checking build system type""... $ac_c" 1>&6
+-echo "configure:938: checking build system type" >&5
++echo "configure:939: checking build system type" >&5
+
+ build_alias=$build
+@@ -961,5 +962,5 @@
+ set dummy ${ac_tool_prefix}strip; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:964: checking for $ac_word" >&5
++echo "configure:965: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -993,5 +994,5 @@
+ set dummy strip; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:996: checking for $ac_word" >&5
++echo "configure:997: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1026,5 +1027,5 @@
+
+ echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+-echo "configure:1029: checking how to run the C preprocessor" >&5
++echo "configure:1030: checking how to run the C preprocessor" >&5
+ # On Suns, sometimes $CPP names a directory.
+ if test -n "$CPP" && test -d "$CPP"; then
+@@ -1041,5 +1042,5 @@
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+-#line 1044 "configure"
++#line 1045 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+@@ -1047,5 +1048,5 @@
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1050: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+@@ -1058,5 +1059,5 @@
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+-#line 1061 "configure"
++#line 1062 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+@@ -1064,5 +1065,5 @@
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1067: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1068: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+@@ -1075,5 +1076,5 @@
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+-#line 1078 "configure"
++#line 1079 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+@@ -1081,5 +1082,5 @@
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1085: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+@@ -1109,15 +1110,15 @@
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:1112: checking for $ac_hdr" >&5
++echo "configure:1113: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1117 "configure"
++#line 1118 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1122: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+@@ -1157,5 +1158,5 @@
+ # ./install, which can be erroneously created by make from ./install.sh.
+ echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+-echo "configure:1160: checking for a BSD compatible install" >&5
++echo "configure:1161: checking for a BSD compatible install" >&5
+ if test -z "$INSTALL"; then
+ if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+@@ -1209,4 +1210,86 @@
+ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
++echo $ac_n "checking for main in -ldl""... $ac_c" 1>&6
++echo "configure:1214: checking for main in -ldl" >&5
++ac_lib_var=`echo dl'_'main | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-ldl $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 1222 "configure"
++#include "confdefs.h"
++
++int main() {
++main()
++; return 0; }
++EOF
++if { (eval echo configure:1229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ DLLIB=-ldl
++else
++ echo "$ac_t""no" 1>&6
++fi
++
++
++
++#######################
++## test for underscores
++#######################
++
++echo $ac_n "checking "for leading and/or trailing underscores"""... $ac_c" 1>&6
++echo "configure:1256: checking "for leading and/or trailing underscores"" >&5
++cat << EOF > underscore.c
++ void underscore(void){}
++EOF
++$CC -c underscore.c > /dev/null 2>&1
++
++CC_LEADING_UNDERSCORE=no
++CC_TRAILING_UNDERSCORE=no
++
++output=`nm underscore.o|grep _underscore 2>&1`
++if test ! -z "$output"; then
++ CC_LEADING_UNDERSCORE=yes
++fi
++
++output=`nm underscore.o|grep underscore_ 2>&1`
++if test ! -z "$output"; then
++ CC_TRAILING_UNDERSCORE=yes
++fi
++
++if test "$CC_LEADING_UNDERSCORE" = yes; then
++ cat >> confdefs.h <<\EOF
++#define WLU 1
++EOF
++
++fi
++if test "$CC_TRAILING_UNDERSCORE" = yes; then
++ cat >> confdefs.h <<\EOF
++#define WTU 1
++EOF
++
++fi
++
++rm underscore.c underscore.o
++
++echo "$ac_t"""$CC_LEADING_UNDERSCORE $CC_TRAILING_UNDERSCORE"" 1>&6
++
++#######################
++## end of test for underscores
++#######################
+
+ trap '' 1 2 15
+@@ -1273,17 +1356,5 @@
+ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+-# Transform confdefs.h into DEFS.
+-# Protect against shell expansion while executing Makefile rules.
+-# Protect against Makefile macro expansion.
+-cat > conftest.defs <<\EOF
+-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
+-s%\[%\\&%g
+-s%\]%\\&%g
+-s%\$%$$%g
+-EOF
+-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+-rm -f conftest.defs
+-
++DEFS=-DHAVE_CONFIG_H
+
+ # Without the "./", some shells look in PATH for config.status.
+@@ -1323,5 +1394,5 @@
+ ac_given_INSTALL="$INSTALL"
+
+-trap 'rm -fr `echo "Makefile vpi/Makefile ivlpp/Makefile vvm/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
++trap 'rm -fr `echo "Makefile vpi/Makefile ivlpp/Makefile vvm/Makefile machine.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+ EOF
+ cat >> $CONFIG_STATUS <<EOF
+@@ -1372,4 +1443,5 @@
+ s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+ s%@INSTALL_DATA@%$INSTALL_DATA%g
++s%@DLLIB@%$DLLIB%g
+
+ CEOF
+@@ -1471,4 +1543,111 @@
+ fi; done
+ rm -f conftest.s*
++
++# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
++# NAME is the cpp macro being defined and VALUE is the value it is being given.
++#
++# ac_d sets the value in "#define NAME VALUE" lines.
++ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
++ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
++ac_dC='\3'
++ac_dD='%g'
++# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
++ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
++ac_uB='\([ ]\)%\1#\2define\3'
++ac_uC=' '
++ac_uD='\4%g'
++# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
++ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
++ac_eB='$%\1#\2define\3'
++ac_eC=' '
++ac_eD='%g'
++
++if test "${CONFIG_HEADERS+set}" != set; then
++EOF
++cat >> $CONFIG_STATUS <<EOF
++ CONFIG_HEADERS="machine.h"
++EOF
++cat >> $CONFIG_STATUS <<\EOF
++fi
++for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
++ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
++ case "$ac_file" in
++ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
++ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++ *) ac_file_in="${ac_file}.in" ;;
++ esac
++
++ echo creating $ac_file
++
++ rm -f conftest.frag conftest.in conftest.out
++ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
++ cat $ac_file_inputs > conftest.in
++
++EOF
++
++# Transform confdefs.h into a sed script conftest.vals that substitutes
++# the proper values into config.h.in to produce config.h. And first:
++# Protect against being on the right side of a sed subst in config.status.
++# Protect against being in an unquoted here document in config.status.
++rm -f conftest.vals
++cat > conftest.hdr <<\EOF
++s/[\\&%]/\\&/g
++s%[\\$`]%\\&%g
++s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
++s%ac_d%ac_u%gp
++s%ac_u%ac_e%gp
++EOF
++sed -n -f conftest.hdr confdefs.h > conftest.vals
++rm -f conftest.hdr
++
++# This sed command replaces #undef with comments. This is necessary, for
++# example, in the case of _POSIX_SOURCE, which is predefined and required
++# on some systems where configure will not decide to define it.
++cat >> conftest.vals <<\EOF
++s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
++EOF
++
++# Break up conftest.vals because some shells have a limit on
++# the size of here documents, and old seds have small limits too.
++
++rm -f conftest.tail
++while :
++do
++ ac_lines=`grep -c . conftest.vals`
++ # grep -c gives empty output for an empty file on some AIX systems.
++ if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
++ # Write a limited-size here document to conftest.frag.
++ echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
++ sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
++ echo 'CEOF
++ sed -f conftest.frag conftest.in > conftest.out
++ rm -f conftest.in
++ mv conftest.out conftest.in
++' >> $CONFIG_STATUS
++ sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
++ rm -f conftest.vals
++ mv conftest.tail conftest.vals
++done
++rm -f conftest.vals
++
++cat >> $CONFIG_STATUS <<\EOF
++ rm -f conftest.frag conftest.h
++ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
++ cat conftest.in >> conftest.h
++ rm -f conftest.in
++ if cmp -s $ac_file conftest.h 2>/dev/null; then
++ echo "$ac_file is unchanged"
++ rm -f conftest.h
++ else
++ # Remove last slash and all that follows it. Not all systems have dirname.
++ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
++ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
++ # The file is in a subdirectory.
++ test ! -d "$ac_dir" && mkdir "$ac_dir"
++ fi
++ rm -f $ac_file
++ mv conftest.h $ac_file
++ fi
++fi; done
+
+ EOF
diff --git a/cad/verilog/patches/patch-ak b/cad/verilog/patches/patch-ak
new file mode 100644
index 00000000000..0dc15dba9ad
--- /dev/null
+++ b/cad/verilog/patches/patch-ak
@@ -0,0 +1,16 @@
+$NetBSD: patch-ak,v 1.1.1.1 2000/01/26 15:28:41 dmcmahill Exp $
+
+--- /dev/null Sun Jan 23 12:36:42 2000
++++ machine.h.in Sun Jan 23 12:28:40 2000
+@@ -0,0 +1,11 @@
++#ifndef MACHINE_H
++#define MACHINE_H
++
++/* Define if leading underscores */
++#undef WLU
++
++/* Define if trailing underscores */
++#undef WTU
++
++#endif /* MACHINE_H */
++
diff --git a/cad/verilog/pkg/COMMENT b/cad/verilog/pkg/COMMENT
new file mode 100644
index 00000000000..1762c44bef6
--- /dev/null
+++ b/cad/verilog/pkg/COMMENT
@@ -0,0 +1 @@
+Verilog simulation and synthesis tool
diff --git a/cad/verilog/pkg/DESCR b/cad/verilog/pkg/DESCR
new file mode 100644
index 00000000000..fa22179d8b0
--- /dev/null
+++ b/cad/verilog/pkg/DESCR
@@ -0,0 +1,12 @@
+Icarus Verilog is a Verilog simulation and synthesis tool. It operates as a
+compiler, compiling source code writen in Verilog (IEEE-1364) into some target
+format. For batch simulation, the compiler can generate C++ code that is
+compiled and linked with a run time library (called "vvm") then executed as
+a command to run the simulation. For synthesis, the compiler generates
+netlists in the desired format.
+
+The compiler proper is intended to parse and elaborate design descriptions
+written to the IEEE standard IEEE Std 1364-1995. This is a fairly large and
+complex standard, so it will take some time for it to get there, but that's
+the goal. I'll be tracking the upcoming IEEE Std 1364-1999 revision as well,
+and some -1999 features will creep in.
diff --git a/cad/verilog/pkg/PLIST b/cad/verilog/pkg/PLIST
new file mode 100644
index 00000000000..b4afbadd981
--- /dev/null
+++ b/cad/verilog/pkg/PLIST
@@ -0,0 +1,16 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2000/01/26 15:28:40 dmcmahill Exp $
+bin/verilog
+bin/gverilog
+include/vpi_user.h
+include/vvm.h
+include/vpi_priv.h
+include/vvm_func.h
+include/vvm_gates.h
+include/vvm_thread.h
+include/vvm_calltf.h
+lib/ivl/ivl
+lib/ivl/system.vpi
+lib/ivl/ivlpp
+lib/libvvm.a
+man/man1/verilog.1
+@dirrm lib/ivl