-
Notifications
You must be signed in to change notification settings - Fork 15
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
Mental notes regarding build system #379
Comments
@sjalander @haved @caleridas : Opinions? |
I agree that there are some weird cases of rebuilding untouched files. I tried to make a reproducible example, but after running Regarding the configure script, I'm thinking that a rewrite in python could be nice, to have proper argument parsing libraries. Regarding paths with spaces, it seems quite unlikely anyone will ever stumble upon issues with them. Within the Makefile everything is relative, so it would only be an issue if Separating the tooling files into different libraries could make sense, would this entail splitting up the |
Regarding 1: This was done on master with HEAD being
I fail the understand why a rebuild of libllvm.a and specifically libhls.a is necessary. Also why it needs to rebuild other test files. Regarding 2:
I was more thinking about the (mental) overhead every time we need to touch this file. I am not bash scripting often enough to keep all the idiosyncrasies in mind, but forgetting Regarding 3: Regarding 4 (which I just sneakily added): |
As far as I can tell, the |
I am unable to reproduce the problem using the steps mentioned in my last post above. |
The |
Also as an aside, is there a way of running a single test using the makefile? @caleridas |
yes, e.g.: make run-build/tests/jlm/rvsdg/test-cse |
There are unfortunately some limits to automatic dependency detection: when a cpp file is processed all dependencies (including transitive(!) dependencies) are recorded, and this is updated whenever the file itself changes. However if an included header causes a change to a transitive(!) dependency, then the dependency info for the cpp file is not updated. It may be possible to make this correct, but looks rather difficult to me (would need to make it such that changes to dependencies cause recomputation of dependency for cpp file), and TTBOMK no build system is actually doing that (they all rather err on the side of "overcompilation" instead). |
@haved : We have the target
should hopefully do the trick. I have not really tested it myself yet, as the problem "was gone" recently. |
make clean
does not seem to clean thebuild-target/coverage/
folderThe text was updated successfully, but these errors were encountered: