Project

General

Profile

[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  BugVise
  CovVise
  Force-Gate-Sim
  Gspice
  IPC::Locker
  Rsvn
  SVN::S4
  Voneline
  WFH
General Info
  Papers

Issue #1504

Produce man files during 'make all'

Added by Todd Strader 11 days ago. Updated 10 days ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Configure/Make/Compiling
% Done:

0%


Description

It appears the intention is to build the man files when building the 'all' target:
default: all
all: all_nomsg msg_test
all_nomsg: verilator_exe $(VL_INST_MAN_FILES)

However VL_INST_MAN_FILES is defined too late for this to work. This fixes the issue: https://github.com/toddstrader/verilator-dev/tree/install-fix

History

#1 Updated by Todd Strader 11 days ago

t_dist_manifest is failing now because the .1 files are both in the DISTFILES list and in MANIFEST.SKIP. I was just going to split up INFOS so that the .1 files don't show up in the tar ball like today. But there are other generated documentation files such as PDFs that are in the tar ball so I'm not sure which way to go with this. Should the .1 files ship in the .tgz?

#2 Updated by Wilson Snyder 10 days ago

I think the original thinking was most people won't want to install tex. They do have to have perl. So I'd suggest .1s get made and not in the .tgz.

#3 Updated by Todd Strader 10 days ago

Yeah, on that note I didn't have latex installed until just now. I tried to 'make dist' but failed to make README.pdf because of some latex thing I don't understand. However, that's a journey for another day.

I took the .1 files out of DISTFILES which makes t_dist_manifest pass. I would like to have tested this with 'make dist' but I think this is a close enough proxy:
$ ls *.1
verilator.1  verilator_coverage.1  verilator_gantt.1  verilator_profcfunc.1
$ make dist-file-list | tr -s ' ' '\n' | grep "\.1" 
$

#4 Updated by Wilson Snyder 10 days ago

To test installation run ./nodist/install_test

This isn't part of the regression as builds differently.

If that passes (perhaps with a temp hack if your PDF doesn't work), feel free to squash, push & close issue.

#5 Updated by Todd Strader 10 days ago

  • Status changed from New to Closed

./nodist/install_test runs cleanly:

HELLO WORLD
- foo.v:1: Verilog $finish
*-* All Finished *-*

I removed the PDFs from INFO just to test 'make dist' but I got all sorts of noise:

$ make dist
rm -f README
pod2text --loose README.pod > README
pod2html README.pod >README.html
rm -f internals.txt
pod2text --loose internals.pod > internals.txt
pod2html internals.pod >internals.html
pod2text bin/verilator verilator.txt
Wide character in print at /usr/share/perl/5.26/Pod/Text.pm line 311.
pod2html bin/verilator >verilator.html
Cannot find "verilator_profcfunc" in podpath: cannot find suitable replacement path, cannot resolve link
Cannot find "Arguments" in podpath: cannot find suitable replacement path, cannot resolve link
Cannot find "verilator_coverage" in podpath: cannot find suitable replacement path, cannot resolve link
Cannot find "verilator_gantt" in podpath: cannot find suitable replacement path, cannot resolve link
Cannot find "verilator_profcfunc" in podpath: cannot find suitable replacement path, cannot resolve link
Cannot find "make" in podpath: cannot find suitable replacement path, cannot resolve link
for dir in src test_regress examples/hello_world_c  examples/hello_world_sc examples/tracing_c  examples/tracing_sc ; do \
  echo making maintainer-copy in $dir ; \
  make -C $dir maintainer-copy ; \
done
making maintainer-copy in src
make[1]: Entering directory '/home/tstrader/git/verilator-no-ldlibs/src'
make[1]: Nothing to be done for 'maintainer-copy'.
make[1]: Leaving directory '/home/tstrader/git/verilator-no-ldlibs/src'
making maintainer-copy in test_regress
make[1]: Entering directory '/home/tstrader/git/verilator-no-ldlibs/test_regress'
make[1]: Nothing to be done for 'maintainer-copy'.
make[1]: Leaving directory '/home/tstrader/git/verilator-no-ldlibs/test_regress'
making maintainer-copy in examples/hello_world_c
make[1]: Entering directory '/home/tstrader/git/verilator-no-ldlibs/examples/hello_world_c'
make[1]: Nothing to be done for 'maintainer-copy'.
make[1]: Leaving directory '/home/tstrader/git/verilator-no-ldlibs/examples/hello_world_c'
making maintainer-copy in examples/hello_world_sc
make[1]: Entering directory '/home/tstrader/git/verilator-no-ldlibs/examples/hello_world_sc'
make[1]: Nothing to be done for 'maintainer-copy'.
make[1]: Leaving directory '/home/tstrader/git/verilator-no-ldlibs/examples/hello_world_sc'
making maintainer-copy in examples/tracing_c
make[1]: Entering directory '/home/tstrader/git/verilator-no-ldlibs/examples/tracing_c'
make[1]: Nothing to be done for 'maintainer-copy'.
make[1]: Leaving directory '/home/tstrader/git/verilator-no-ldlibs/examples/tracing_c'
making maintainer-copy in examples/tracing_sc
make[1]: Entering directory '/home/tstrader/git/verilator-no-ldlibs/examples/tracing_sc'
make[1]: Nothing to be done for 'maintainer-copy'.
make[1]: Leaving directory '/home/tstrader/git/verilator-no-ldlibs/examples/tracing_sc'
rm -fr verilator-4.019
for file in README README.html internals.txt internals.html verilator.txt verilator.html .gitignore *.in *.ac Artistic Changes LICENSE MANIFEST.SKIP bin/verilator bin/verilator_coverage bin/verilator_difftree bin/verilator_gantt bin/verilator_includer bin/verilator_profcfunc docs/.gitignore docs/CONTRIBUTORS docs/Makefile.in docs/TODO docs/doxygen-mainpage docs/doxygen.config docs/verilator_logo.png install-sh configure *.pod include/*.[chv]* include/*.in include/.*ignore include/gtkwave/*.[chv]* include/vltstd/*.[chv]* .*attributes */.*attributes  */*/.*attributes src/.*ignore src/*.in src/*.cpp src/*.[chly] src/astgen src/bisonpre src/*fix src/cppcheck_filtered src/vlcovgen src/mkinstalldirs src/.gdbinit src/*.pl src/*.pod examples/*/.*ignore examples/*/Makefile* examples/*/*.[chv]* examples/*/*.pl test_*/.*ignore test_*/Makefile* test_*/*.cpp test_*/*.pl test_*/*.v test_*/*.vc test_*/*.vh test_regress/t/t*/*.sv* test_regress/t/t*/*.v* test_regress/t/t*/*/*.sv* test_regress/t/t*/*/*.v* test_regress/t/*.cpp test_regress/t/*.h test_regress/t/*.dat test_regress/t/*.mem test_regress/t/*.out test_regress/t/*.pl test_regress/t/*.pf test_regress/t/*.v* ; do \
  mkdir -p `dirname verilator-4.019/$file` >/dev/null ; \
  ln $file verilator-4.019/$file \
  || { echo copying $file instead; cp -p $file verilator-4.019/$file;}; \
done; true;
ln: failed to create hard link 'verilator-4.019/include/verilated_config.h.in': File exists
copying include/verilated_config.h.in instead
cp: 'include/verilated_config.h.in' and 'verilator-4.019/include/verilated_config.h.in' are the same file
mkdir: cannot create directory ‘verilator-4.019/Artistic’: File exists
mkdir: cannot create directory ‘verilator-4.019/Changes’: File exists
mkdir: cannot create directory ‘verilator-4.019/LICENSE’: File exists
mkdir: cannot create directory ‘verilator-4.019/MANIFEST.SKIP’: File exists
mkdir: cannot create directory ‘verilator-4.019/Makefile.in’: File exists
mkdir: cannot create directory ‘verilator-4.019/README’: File exists
mkdir: cannot create directory ‘verilator-4.019/README.html’: File exists
mkdir: cannot create directory ‘verilator-4.019/README.pod’: File exists
mkdir: cannot create directory ‘verilator-4.019/configure’: File exists
mkdir: cannot create directory ‘verilator-4.019/configure.ac’: File exists
mkdir: cannot create directory ‘verilator-4.019/install-sh’: File exists
mkdir: cannot create directory ‘verilator-4.019/internals.html’: File exists
mkdir: cannot create directory ‘verilator-4.019/internals.pod’: File exists
mkdir: cannot create directory ‘verilator-4.019/internals.txt’: File exists
mkdir: cannot create directory ‘verilator-4.019/verilator.html’: File exists
mkdir: cannot create directory ‘verilator-4.019/verilator.pc.in’: File exists
mkdir: cannot create directory ‘verilator-4.019/verilator.txt’: File exists
ln: failed to create hard link 'verilator-4.019/*/.*attributes' => 'verilator-4.019/.gitattributes': No such file or directory
copying verilator-4.019/.gitattributes instead
cp: cannot create regular file 'verilator-4.019/*/.*attributes': No such file or directory
ln: failed to access 'src/*.pod': No such file or directory
copying src/*.pod instead
cp: cannot stat 'src/*.pod': No such file or directory
ln: failed to access 'examples/*/*.pl': No such file or directory
copying examples/*/*.pl instead
cp: cannot stat 'examples/*/*.pl': No such file or directory
ln: failed to access 'test_*/*.cpp': No such file or directory
copying test_*/*.cpp instead
cp: cannot stat 'test_*/*.cpp': No such file or directory
ln: failed to access 'test_*/*.v': No such file or directory
copying test_*/*.v instead
cp: cannot stat 'test_*/*.v': No such file or directory
ln: failed to access 'test_*/*.vh': No such file or directory
copying test_*/*.vh instead
cp: cannot stat 'test_*/*.vh': No such file or directory
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_bus_mux_demux/sv_bus_mux_demux_def.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_bus_mux_demux/sv_bus_mux_demux_demux.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_bus_mux_demux/sv_bus_mux_demux_mux.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_bus_mux_demux/sv_bus_mux_demux_wrap.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/ac.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/ac_ana.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/ac_dig.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/adrdec.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/chip.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/cpu.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/genbus_if.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/pad_gnd.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/pad_gpio.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/pad_vdd.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/pads.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/pads_h.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/pads_if.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/pinout_h.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/ports.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/ports_h.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/program_h.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/rom.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/t_sv_cpu_code/timescale.sv’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/tsub/t_flag_f_tsub.v’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/tsub/t_flag_f_tsub.vc’: File exists
mkdir: cannot create directory ‘verilator-4.019/test_regress/t/tsub/t_flag_f_tsub_inc.v’: File exists
ln: failed to access 'test_regress/t/t*/*/*.sv*': No such file or directory
copying test_regress/t/t*/*/*.sv* instead
cp: cannot stat 'test_regress/t/t*/*/*.sv*': No such file or directory
chmod -R a+r verilator-4.019
tar chf verilator-4.019.tar verilator-4.019
gzip --force --best verilator-4.019.tar
mv verilator-4.019.tar.gz verilator-4.019.tgz
rm -fr verilator-4.019
However, the tarball that was produced has all the same files as 4.018 (minus the PDFs):
$ diff <(tar -ztvf verilator-4.019.tgz | cut -d '/' -f 3- | sort) <(tar -ztvf ~/Downloads/verilator-4.018.tgz | cut -d '/' -f 3- | sort)
95a96
> internals.pdf
102a104
> README.pdf
2529a2532
> verilator.pdf

Does it usually toss all those warnings for you? I'm going to assume this is a red herring because I get the same noise when I 'make dist' on a clean checkout.

Squashed and pushed.

Also available in: Atom