File 0003-vvp-create-libvvp-as-versioned-library.patch of Package iverilog
From 7ef5eee3b174376108448cf490bd256649bf6350 Mon Sep 17 00:00:00 2001 From: Ralf Habacker <ralf.habacker@freenet.de> Date: Tue, 6 Jan 2026 22:36:43 +0100 Subject: [PATCH 3/3] vvp: create libvvp as versioned library --- vvp/Makefile.in | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/vvp/Makefile.in b/vvp/Makefile.in index 0f2d8f4b5..0d6f76bbb 100644 --- a/vvp/Makefile.in +++ b/vvp/Makefile.in @@ -62,6 +62,9 @@ CXXFLAGS = @WARNING_FLAGS@ @WARNING_FLAGS_CXX@ @CXXFLAGS@ LDFLAGS = @rdynamic@ @LDFLAGS@ LIBS = @LIBS@ @EXTRALIBS@ +LIBVVP_SOVERSION = 1 +LIBVVP_VERSION = 1.0.0 + ifeq (@WIN32@,yes) SLDIR=$(bindir) SLEXT=dll @@ -151,10 +154,17 @@ vvp@EXEEXT@: main.o $(srcdir)/vvp.def libvvp$(suffix).$(SLEXT) ifeq (@MINGW32@,yes) libvvp$(suffix).$(SLEXT): $O - $(CXX) -shared $(LDFLAGS) -o libvvp$(suffix).$(SLEXT) -Wl,--out-implib libvvp$(suffix).$(IMPEXT) $O $(LIBS) $(dllib) + $(CXX) -shared $(LDFLAGS) -o libvvp$(suffix)-$(LIBVVP_SOVERSION).$(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) + $(CXX) -shared $(LDFLAGS) \ + -Wl,-soname,libvvp$(suffix).$(SLEXT).$(LIBVVP_SOVERSION) \ + -o libvvp$(suffix).$(SLEXT).$(LIBVVP_VERSION) \ + $O $(LIBS) $(dllib) + ln -sf libvvp$(suffix).$(SLEXT).$(LIBVVP_VERSION) \ + libvvp$(suffix).$(SLEXT).$(LIBVVP_SOVERSION) + ln -sf libvvp$(suffix).$(SLEXT).$(LIBVVP_SOVERSION) \ + libvvp$(suffix).$(SLEXT) endif else ifeq (@WIN32@,yes) @@ -247,10 +257,18 @@ 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)-$(LIBVVP_SOVERSION).$(SLEXT) "$(DESTDIR)$(bindir)/libvvp$(suffix)-$(LIBVVP_SOVERSION).$(SLEXT)" $(INSTALL_PROGRAM) ./libvvp$(suffix).$(IMPEXT) "$(DESTDIR)$(libdir)/libvvp$(suffix).$(IMPEXT)" else - $(INSTALL_PROGRAM) ./libvvp$(suffix).$(SLEXT) "$(DESTDIR)$(SLDIR)/libvvp$(suffix).$(SLEXT)" + # Install real library + $(INSTALL_PROGRAM) ./libvvp$(suffix).$(SLEXT).$(LIBVVP_VERSION) \ + "$(DESTDIR)$(SLDIR)/libvvp$(suffix).$(SLEXT).$(LIBVVP_VERSION)" + # SONAME symlink (runtime) + ln -sf libvvp$(suffix).$(SLEXT).$(LIBVVP_VERSION) \ + "$(DESTDIR)$(SLDIR)/libvvp$(suffix).$(SLEXT).$(LIBVVP_SOVERSION)" + # Linker symlink (devel) + ln -sf libvvp$(suffix).$(SLEXT).$(LIBVVP_SOVERSION) \ + "$(DESTDIR)$(SLDIR)/libvvp$(suffix).$(SLEXT)" endif $(INSTALL_DATA) $(srcdir)/libvvp.h "$(DESTDIR)$(includedir)/libvvp.h" endif -- 2.51.0