File 0001-vvp-generate-libvvp-import-library-for-MinGW-builds.patch of Package iverilog
From 609567e19b847f3c1716750f5996cc29d6f6fe49 Mon Sep 17 00:00:00 2001 From: Ralf Habacker <ralf.habacker@freenet.de> Date: Fri, 2 Jan 2026 16:41:56 +0100 Subject: [PATCH 1/2] vvp: generate libvvp import library for MinGW builds MinGW requires an import library to link against DLLs. Install a libvvp import library so downstream projects can link against libvvp on Windows. --- vvp/Makefile.in | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/vvp/Makefile.in b/vvp/Makefile.in index ee20300af..b8c69fef7 100644 --- a/vvp/Makefile.in +++ b/vvp/Makefile.in @@ -65,6 +65,11 @@ LIBS = @LIBS@ @EXTRALIBS@ ifeq (@WIN32@,yes) SLDIR=$(bindir) SLEXT=dll +ifeq (@MINGW32@,yes) +IMPEXT=dll.a +else +IMPEXT=lib +endif else SLDIR=$(libdir) SLEXT=so @@ -144,8 +149,13 @@ CPPFLAGS+= -fpic vvp@EXEEXT@: main.o $(srcdir)/vvp.def libvvp$(suffix).$(SLEXT) $(CXX) $(LDFLAGS) -o vvp@EXEEXT@ main.o -L. $(LDFLAGS) -lvvp$(suffix) $(LIBS) +ifeq (@MINGW32@,yes) +libvvp$(suffix).$(SLEXT): $O + $(CXX) -shared $(LDFLAGS) -o libvvp$(suffix).$(SLEXT) -Wl,--out-implib libvvp$(suffix).$(IMPEXT) $O $(LIBS) $(dllib) +else libvvp$(suffix).$(SLEXT): $O $(CXX) -shared $(LDFLAGS) -o libvvp$(suffix).$(SLEXT) $O $(LIBS) $(dllib) +endif else ifeq (@WIN32@,yes) # To support cocotb, we export the VPI functions directly. This allows @@ -234,7 +244,12 @@ installpdf: vvp.pdf installdirs installfiles: $(F) | installdirs $(INSTALL_PROGRAM) ./vvp@EXEEXT@ "$(DESTDIR)$(bindir)/vvp$(suffix)@EXEEXT@" ifeq (@LIBVVP@,yes) +ifeq (@WIN32@,yes) + $(INSTALL_PROGRAM) ./libvvp$(suffix).$(SLEXT) "$(DESTDIR)$(bindir)/libvvp$(suffix).$(SLEXT)" + $(INSTALL_PROGRAM) ./libvvp$(suffix).$(IMPEXT) "$(DESTDIR)$(libdir)/libvvp$(suffix).$(IMPEXT)" +else $(INSTALL_PROGRAM) ./libvvp$(suffix).$(SLEXT) "$(DESTDIR)$(SLDIR)/libvvp$(suffix).$(SLEXT)" +endif $(INSTALL_DATA) $(srcdir)/libvvp.h "$(DESTDIR)$(includedir)/libvvp.h" endif -- 2.51.0