diff options
Diffstat (limited to 'cad/verilator/Makefile')
-rw-r--r-- | cad/verilator/Makefile | 52 |
1 files changed, 38 insertions, 14 deletions
diff --git a/cad/verilator/Makefile b/cad/verilator/Makefile index 9db8ae1b8b26..ba58ca97f31e 100644 --- a/cad/verilator/Makefile +++ b/cad/verilator/Makefile @@ -1,10 +1,11 @@ PORTNAME= verilator DISTVERSIONPREFIX= v -DISTVERSION= 4.216 +DISTVERSION= 5.024 CATEGORIES= cad MAINTAINER= yuri@FreeBSD.org COMMENT= Synthesizable Verilog to C++ compiler +WWW= https://www.veripool.org/projects/verilator/wiki/Intro LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE @@ -13,23 +14,37 @@ BROKEN_i386= see https://github.com/verilator/verilator/issues/3037 BUILD_DEPENDS= autoconf>0:devel/autoconf \ bash:shells/bash \ - ${LOCALBASE}/bin/ar:devel/binutils -LIB_DEPENDS= libsystemc.so:devel/systemc -RUN_DEPENDS= gmake:devel/gmake # verilator runs gmake for the --hierarchical option when the 'gmake' method is chosen - -USES= bison compiler:c++14-lang gmake localbase:ldflags pathfix perl5 python:build,run,test shebangfix tar:tgz + ${LOCALBASE}/bin/ar:devel/binutils \ + help2man:misc/help2man +LIB_DEPENDS= libsystemc.so:devel/systemc # systemc is only added to share/verilator/include/verilated.mk for use during verilation, verilator's own binaries aren't linked with systemc +RUN_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \ + gmake:devel/gmake # verilator runs gmake for the --hierarchical option when the 'gmake' method is chosen + +USES= bison compiler:c++17-lang gmake localbase:ldflags pathfix perl5 python:build,run,test shebangfix tar:tgz +USE_CXXSTD= c++17 # needs to match that of devel/systemc to avoid mismatches like https://github.com/verilator/verilator/issues/4499 USE_GITHUB= yes -SHEBANG_FILES= bin/verilator_ccache_report bin/verilator_profcfunc bin/verilator_gantt +SHEBANG_FILES= bin/verilator_ccache_report \ + bin/verilator_difftree \ + bin/verilator_gantt \ + bin/verilator_includer \ + bin/verilator_includer \ + bin/verilator_profcfunc GNU_CONFIGURE= yes +GNU_CONFIGURE_MANPREFIX=${PREFIX}/share CONFIGURE_ENV= INSTALL_PROGRAM="${INSTALL_SCRIPT}" -CONFIGURE_ARGS= AR=${LOCALBASE}/bin/ar +CONFIGURE_ARGS= AR=${LOCALBASE}/bin/ar \ + PYTHON3=${PYTHON_CMD} CONFIGURE_SHELL= ${LOCALBASE}/bin/bash # see https://github.com/verilator/verilator/issues/3132 TEST_TARGET= test -BINARY_ALIAS= make=${GMAKE} python3=${PYTHON_CMD} # aliasas are only for tests +BINARY_ALIAS= make=${GMAKE} \ + python3=${PYTHON_CMD} \ + git=false + +MAKE_JOBS_UNSAFE= yes # build on 1 CPU because many compile jobs are over 10GB and they can likely cause out-of-memory issues OPTIONS_DEFINE= INSTALL_DBG_EXECUTABLES LEAK_CHECKS OPTIONS_SUB= yes @@ -41,17 +56,26 @@ LEAK_CHECKS_CXXFLAGS= -DVL_LEAK_CHECKS LEAK_CHECKS_BROKEN= compilation will be fixed in the next release post-patch: - ${REINPLACE_CMD} -e 's|@pkgconfigdir@|${PREFIX}/libdata/pkgconfig|' \ - ${WRKSRC}/Makefile.in + @${REINPLACE_CMD} -e 's|@pkgconfigdir@|${PREFIX}/libdata/pkgconfig|' \ + ${WRKSRC}/Makefile.in pre-configure: cd ${WRKSRC} && \ autoconf -post-build: - @${STRIP_CMD} ${WRKSRC}/bin/verilator_bin +post-install: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/share/verilator/bin/verilator_bin + +post-install-INSTALL_DBG_EXECUTABLES-on: + @${STRIP_CMD} \ + ${STAGEDIR}${PREFIX}/share/verilator/bin/verilator_bin_dbg \ + ${STAGEDIR}${PREFIX}/share/verilator/bin/verilator_coverage_bin_dbg post-install-INSTALL_DBG_EXECUTABLES-off: - @${RM} ${STAGEDIR}${PREFIX}/bin/verilator_bin_dbg ${STAGEDIR}${PREFIX}/bin/verilator_coverage_bin_dbg + @${RM} \ + ${STAGEDIR}${PREFIX}/bin/verilator_bin_dbg \ + ${STAGEDIR}${PREFIX}/bin/verilator_coverage_bin_dbg \ + ${STAGEDIR}${PREFIX}/share/verilator/bin/verilator_bin_dbg \ + ${STAGEDIR}${PREFIX}/share/verilator/bin/verilator_coverage_bin_dbg .include <bsd.port.mk> |