Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Produce man files during 'make all' #1504

Closed
veripoolbot opened this issue Sep 10, 2019 · 5 comments
Closed

Produce man files during 'make all' #1504

veripoolbot opened this issue Sep 10, 2019 · 5 comments
Assignees
Labels
area: configure/compiling Issue involves configuring or compilating Verilator itself resolution: fixed Closed; fixed

Comments

@veripoolbot
Copy link
Contributor


Author Name: Todd Strader (@toddstrader)
Original Redmine Issue: 1504 from https://www.veripool.org

Original Assignee: Todd Strader (@toddstrader)


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

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Todd Strader (@toddstrader)
Original Date: 2019-09-10T12:31:39Z


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?

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2019-09-11T11:22:09Z


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.

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Todd Strader (@toddstrader)
Original Date: 2019-09-11T12:01:59Z


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"
$

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2019-09-11T12:59:32Z


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.

@veripoolbot
Copy link
Contributor Author


Original Redmine Comment
Author Name: Todd Strader (@toddstrader)
Original Date: 2019-09-11T14:17:17Z


./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.

@veripoolbot veripoolbot added area: configure/compiling Issue involves configuring or compilating Verilator itself resolution: fixed Closed; fixed labels Dec 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: configure/compiling Issue involves configuring or compilating Verilator itself resolution: fixed Closed; fixed
Projects
None yet
Development

No branches or pull requests

2 participants