Comments (6)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
The information should be coming from "git describe ..." which
is called by the makefile. Something wrong with that?
On 09/02/2014 02:40 PM, Derek Kozel wrote:
When the lastest git source is build and installed the version
string and copyright dates are incorrect. There is a reference in
version_base.h to version_base.in which no longer exists.$ vvp -V Icarus Verilog runtime version 0.10.0 (devel)
(s20121218-432-g065c485)Copyright 1998-2012 Stephen Williams ...
I'm willing to submit a patch for the issue if given a definition
of the expected result. It looks like the string is: Icarus Verilog
runtime version x.y.z (devel) (sYYYYMMDD-{commit count}-{git commit
short hash})— Reply to this email directly or view it on GitHub
#40.
Steve Williams "The woods are lovely, dark and deep.
steve at icarus.com But I have promises to keep,
http://www.icarus.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iEYEARECAAYFAlQGOjsACgkQrPt1Sc2b3ikR5gCeMv3X2vw7LR5CwoJ89EB1oAwJ
lboAoKqOmcFM7YX+wjxjzFQ6UXLdnFS1
=DUFy
-----END PGP SIGNATURE-----
from iverilog.
I did a make clean, git pull (master), ./configure, make just before the current results.
$ git describe
s20140801-61-gfe8e7a6
from iverilog.
Interesting. I just manually deleted the version_tag.h file and reran make. It now correctly has the git describe tag. I certainly haven't had the repo cloned for two years so I don't know why the old file was present. I confirmed the result with a completely fresh git clone and the correct version is displayed. Sorry for the noise and thanks for the great software.
The copyright is still two years out of date though, and the readme even older.
from iverilog.
I had the same issue and found this thread.
Obviously version_tag.h should be force build to reflect the current git version. I do this all the time with scons but really don't know a clean way to do it in Makefile.
So I guess "make versino" is mandatory if you want the correct version for iverilog.
from iverilog.
It's always updated automatically for me. For example, my v10 build directory has
% git describe
v10_1-101-g0f28b03d
% cd ../build/
% cat version_tag.h
#define VERSION_TAG "v10_1-101-g0f28b03d"
(I build outside the source tree)
from iverilog.
This is not really happening to me (even when building out of source tree). As long as you have a clean build it will generate the right version_tag.h file. However as soon as you modified something, commits it, build it again it won't update the version_tag.h ... so iverilog reported version is actaully not reliable ... because there is no verifiable way you can know if the release is built out of a clean tree or did a incremental built.
The tricky thing here is, ALL C++ file should actually depends on version_tag.h (if they include it). However you cannot get all .o file depends on target "version" because it is built unconditionally. As make will only check timestamp to built dependent files this will then create a circle: build .o file needs version_tag.h --> version_tag.h being built, timestamp updated --> all .o file needs to be built --> version_tag.h forced built again --> all .o file rebuilt again --> ... endless loop.
This is by far the biggest limitation I see on Make based system. scons on the other hand handles this nicely in that: 1. it does not check timestamp (not the default behavior) 2. you can force built a target and if its content does not change no dependent target is built.
Not sure if cmake can nicely handle this.
from iverilog.
Related Issues (20)
- Possible Data Transfer Anomaly HOT 8
- Nested generate statement not reported as syntax error
- ivl: logic_lpm.c:463: emit_nexus_port_signal: Assertion `! sig' failed.
- ivl: logic_lpm.c:485: find_local_signal: Assertion `! sig' failed. HOT 4
- Delayed transmission from tranif0/tranif1 primitives HOT 3
- Arrays can't be used in sensitivity lists HOT 6
- Clock of register is out of sync between RTL vs Yosys genereted netlist HOT 2
- data_out in rtl outputs at same clock cycle as data_out_reg (Flip-Flop issue) HOT 3
- Possible infinite loop in output evaluation HOT 2
- Request: add `exit` alias to `vvp`'s terminal interface HOT 2
- Please tag an official `v13.0.1`, or `v13.0.1-rc1`, or something HOT 6
- Executing multiple `vvp` instances of different files in parallel on the same computer causes vvp to hang HOT 3
- This code stalls instead of erroring HOT 2
- The simulation of iverilog and other tools is inconsistent HOT 1
- Adding signal output will cause abnormal simulation output in iverilog HOT 3
- Bug: assert: elab_expr.cc:2673: failed assertion base_index.size()+1 == net->packed_dimensions() HOT 3
- Changing Fixed VVP Path for Prebuilt Icarus Verilog on a Restricted System HOT 3
- Downgrade non-existing parameter to a warning (again) HOT 1
- Non-interactive mode of vvp (-n, -N) seems to be broken HOT 3
- Uninformative "syntax error" message when an undefined package name is used HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iverilog.