iverilog/vvp
Ralf Habacker 9d3101fd19 vvp: build and install libvvp as a versioned shared library
It uses a dedicated LIBVVP_SOVERSION specified in onfigure.ac
for the SONAME and full library version.

For linking, a pkg-config file is generated, and when building on
Windows, an import library is created that can be used with both
GCC and MSVC compilers.

On non-Windows platforms, all object files are compiled with -fPIC
to ensure compatibility with shared libraries.

On Windows use 'lib' prefix for library name with MinGW compiler
only. Other compiler like MSVC normally are not using any library
prefix.

With this commit the build rules for the vpp executable has been
cleaned too because the complex structure of the manually created
Makefile.in made it very difficult to extract specific parts of
them.
2026-05-13 10:45:04 +02:00
..
examples Update vvp examples to match the correct version 2026-03-02 10:48:10 -08:00
Makefile.in vvp: build and install libvvp as a versioned shared library 2026-05-13 10:45:04 +02:00
arith.cc More cppcheck cleanup 2026-01-05 18:59:08 -08:00
arith.h cppcheck updates 2025-11-23 01:31:14 -08:00
array.cc More cppcheck cleanup 2026-01-19 19:50:10 -08:00
array.h vvp: Remove unused `compile_varw_real()` 2022-06-20 22:59:12 +02:00
array_common.cc cppcheck updates 2025-11-23 01:31:14 -08:00
array_common.h More cppcheck cleanup 2026-01-05 18:59:08 -08:00
bufif.cc Add support for passing a real input to logic, mos and if gates 2025-06-21 10:04:12 -07:00
bufif.h Minor cppcheck updates in vvp and switch vvp to use override for virtual functions 2025-07-21 23:32:34 -07:00
class_type.cc More cppcheck cleanup 2026-01-19 19:50:10 -08:00
class_type.h cppcheck updates 2025-11-23 01:31:14 -08:00
codes.cc Fix valgrind compile 2016-02-03 22:25:57 -08:00
codes.h vvp: Remove unused function prototypes 2022-06-20 22:52:56 +02:00
compile.cc Add more const declarations 2026-02-19 23:40:34 -08:00
compile.h More cppcheck cleanup 2026-01-05 18:59:08 -08:00
concat.cc vvp: concat: Defer update to end of the current simulation cycle 2024-01-20 10:32:55 -08:00
concat.h cppcheck updates 2025-11-23 01:31:14 -08:00
config.h.in Switch to std::round() and a common routine for real to uint64_t 2025-12-16 19:52:36 -08:00
cppcheck.sup Fix/update latest cppcheck issues 2026-05-10 14:47:40 -07:00
delay.cc Remove memory leak when multi-bit module path delays fail 2026-01-21 20:50:32 -08:00
delay.h Cleanup vhdl and most of vvp cppcheck issues 2026-01-19 22:54:45 -08:00
dff.cc cppcheck updates 2025-11-23 01:31:14 -08:00
dff.h cppcheck updates 2025-11-23 01:31:14 -08:00
draw_tt.c Fix some cppcheck warnings 2015-10-02 09:43:54 -07:00
enum_type.cc cppcheck updates 2025-11-23 01:31:14 -08:00
enum_type.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
event.cc More cppcheck updates 2025-10-20 23:54:15 -07:00
event.h cppcheck updates 2025-11-23 01:31:14 -08:00
extend.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
file_line.cc cppcheck updates 2025-11-23 01:31:14 -08:00
island_tran.cc cppcheck updates 2025-11-23 01:31:14 -08:00
latch.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
latch.h cppcheck updates 2025-11-23 01:31:14 -08:00
lexor.lex More cppcheck cleanup 2026-01-05 18:59:08 -08:00
lib_main.cc pthread_exit() is no longer needed and fixes vvp return 2026-02-06 01:55:36 -08:00
libvvp.h Add vvp "quiet" flag (issue #1193) 2024-12-31 13:05:36 +00:00
libvvp.pc.in vvp: build and install libvvp as a versioned shared library 2026-05-13 10:45:04 +02:00
logic.cc Update Copyright that was missed for a few files 2026-05-08 05:35:16 -07:00
logic.h cppcheck updates 2025-11-23 01:31:14 -08:00
main.cc Update program copyright to 2026 2026-01-13 02:04:37 -08:00
npmos.cc Add support for passing a real input to logic, mos and if gates 2025-06-21 10:04:12 -07:00
npmos.h Minor cppcheck updates in vvp and switch vvp to use override for virtual functions 2025-07-21 23:32:34 -07:00
parse.y cppcheck updates 2025-11-23 01:31:14 -08:00
parse_misc.cc cppcheck updates 2025-11-23 01:31:14 -08:00
parse_misc.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
part.cc cppcheck updates 2025-11-23 01:31:14 -08:00
part.h cppcheck updates 2025-11-23 01:31:14 -08:00
permaheap.cc updated FSF-address 2012-08-29 10:12:10 -07:00
permaheap.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
reduce.cc vvp: Improve reduction operator performance 2026-05-07 21:26:17 -07:00
resolv.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
resolv.h cppcheck updates 2025-11-23 01:31:14 -08:00
schedule.cc Move all simulation callback decls to the header 2026-02-06 09:48:41 -08:00
schedule.h Move all simulation callback decls to the header 2026-02-06 09:48:41 -08:00
sfunc.cc fix broken call-out of real-valued system functions. 2014-01-21 13:31:49 -08:00
sfunc.h cppcheck updates 2025-11-23 01:31:14 -08:00
slab.h cppcheck updates 2025-11-23 01:31:14 -08:00
statistics.cc updated FSF-address 2012-08-29 10:12:10 -07:00
statistics.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
stop.cc cppcheck updates 2025-11-23 01:31:14 -08:00
substitute.cc cppcheck updates 2025-11-23 01:31:14 -08:00
symbols.cc Fix initialisation of vvp symbol table values. 2019-08-01 12:34:47 +01:00
symbols.h More cppcheck cleanup 2026-01-19 19:50:10 -08:00
udp.cc Cleanup vhdl and most of vvp cppcheck issues 2026-01-19 22:54:45 -08:00
udp.h cppcheck updates 2025-11-23 01:31:14 -08:00
ufunc.cc cppcheck updates 2025-11-23 01:31:14 -08:00
ufunc.h cppcheck updates 2025-11-23 01:31:14 -08:00
vpi_bit.cc More cppcheck updates 2025-10-20 23:54:15 -07:00
vpi_callback.cc More cppcheck cleanup 2026-01-05 18:59:08 -08:00
vpi_cobject.cc More cppcheck updates 2025-10-20 23:54:15 -07:00
vpi_const.cc Fix compile warning when long and int have the same width 2026-01-05 20:50:35 -08:00
vpi_darray.cc Fix the valgrind cleanup of automatic array vars 2026-02-06 21:35:13 -08:00
vpi_event.cc Implement vpi_put_value() for named events (GitHub issue #158). 2017-06-15 08:47:29 +01:00
vpi_iter.cc Fix new/free mismatch in vvp. 2012-08-30 19:33:25 -07:00
vpi_mcd.cc More cppcheck updates 2025-10-20 23:54:15 -07:00
vpi_modules.cc Add correct C++ cast for the vpi_modules 2025-10-21 00:44:23 -07:00
vpi_priv.cc Fix sdf_interconnect4 failure and reenable 2026-02-24 22:24:17 -08:00
vpi_priv.h Add basic support for vpi_get64() to return the nexus pointer 2026-01-25 17:50:06 -08:00
vpi_real.cc More cppcheck updates 2025-10-20 23:54:15 -07:00
vpi_scope.cc Fix the valgrind cleanup of automatic array vars 2026-02-06 21:35:13 -08:00
vpi_signal.cc Add basic support for vpi_get64() to return the nexus pointer 2026-01-25 17:50:06 -08:00
vpi_string.cc More cppcheck updates 2025-10-20 23:54:15 -07:00
vpi_tasks.cc cppcheck updates 2025-11-23 01:31:14 -08:00
vpi_time.cc More cppcheck updates 2025-10-20 23:54:15 -07:00
vpi_vthr_vector.cc Cleanup vhdl and most of vvp cppcheck issues 2026-01-19 22:54:45 -08:00
vpip_bin.cc Fix implicit fallthrough warnings when building with recent GCC. 2018-10-06 20:15:42 +01:00
vpip_format.cc updated FSF-address 2012-08-29 10:12:10 -07:00
vpip_hex.cc Fix implicit fallthrough warnings when building with recent GCC. 2018-10-06 20:15:42 +01:00
vpip_oct.cc Fix implicit fallthrough warnings when building with recent GCC. 2018-10-06 20:15:42 +01:00
vpip_to_dec.cc More cppcheck updates 2025-10-20 23:54:15 -07:00
vthread.cc Fix/update latest cppcheck issues 2026-05-10 14:47:40 -07:00
vthread.h vvp: Handle %fork in `final` procedures 2023-04-16 09:20:31 -07:00
vvp.def Add missing declaration for vpi_get64 to vvp.def 2026-01-25 18:00:55 -08:00
vvp.man.in Use autoconf variables in generated man and pdf output 2026-04-30 09:11:21 +02:00
vvp_cleanup.h Fix the valgrind cleanup of automatic array vars 2026-02-06 21:35:13 -08:00
vvp_cobject.cc Allow class properties to be arrayed. 2014-09-15 17:37:30 -07:00
vvp_cobject.h cppcheck updates 2025-11-23 01:31:14 -08:00
vvp_darray.cc cppcheck updates 2025-11-23 01:31:14 -08:00
vvp_darray.h cppcheck updates 2025-11-23 01:31:14 -08:00
vvp_island.cc cppcheck updates 2025-11-23 01:31:14 -08:00
vvp_island.h Another const declaration that can be added 2026-02-19 23:40:42 -08:00
vvp_net.cc vvp: Improve reduction operator performance 2026-05-07 21:26:17 -07:00
vvp_net.h vvp: Improve reduction operator performance 2026-05-07 21:26:17 -07:00
vvp_net_sig.cc More cppcheck updates 2025-10-20 23:54:15 -07:00
vvp_net_sig.h More cppcheck cleanup 2026-01-19 19:50:10 -08:00
vvp_object.cc Fix dynamic array assignment to make a copy of the rvalue. 2020-11-26 12:52:06 -08:00
vvp_object.h Fix dynamic array assignment to make a copy of the rvalue. 2020-11-26 12:52:06 -08:00
vvp_vpi.cc Remove malloc.h support and for C++ files use <c...> include files. 2010-06-01 08:56:30 -07:00
vvp_vpi_callback.h Fix for br1019 - allow multiple array words to be attached to a vpi callback. 2017-08-12 12:23:43 +01:00
words.cc More cppcheck updates 2025-10-20 23:54:15 -07:00