-
Notifications
You must be signed in to change notification settings - Fork 670
Need clarifications on --lib-create #3780
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
Comments
I think the user should not use |
Thanks. I see that the Let me confirm it and check the verilator source files today. I'll try a PR for the arguments. |
I think there're two separated issues. First, Verilator does not generate the make rules for user-specified cpp files and objects. The error info with master branch of verilator is like the following:
I've opened a PR #3784 to fix that. Please help take a look. Second, using |
I've opened a second PR #3785 to disable using |
I'm using verilator to create static and dynamic libraries that can be linked with other files for simulation. However, I'm noticing some behavior changes from v4.218 to v5.002-89-ga83ed6b06.
In v4.218, if I specify user-provided cpp files to verilator and specify
--lib-create SimTop --exe
, verilator creates the Makefile as follows:libSimTop.so: $(VK_OBJS) $(VK_GLOBAL_OBJS) SimTop.o $(VM_HIER_LIBS)
.In v5.002, with the same options, it would create as
libSimTop.so: $(VK_OBJS) $(VK_USER_OBJS) $(VK_GLOBAL_OBJS) SimTop.o $(VM_HIER_LIBS)
. That is, v5.002 links the user-specified cpp files together with verilator-generated cpp files.If I don't pass the
--exe
option to verilator, both versions create the Makefile without$(VK_USER_OBJS)
.So I'm wondering what's the expected correct behavior of the
--lib-create
. Shouldn't it include all the cpp files specified by the user? I prefer that verilator automatically links then together because the user does inform verilator of these extra cpp files. In this way, the user leaves these specified cpp files to verilator without the need to compile them manually.If so, should verilator links the user objects even without
--exe
? If not, though I think it's better to have this behavior, I assume there should be some regression between v4.218 and v5.002?The text was updated successfully, but these errors were encountered: