-
Notifications
You must be signed in to change notification settings - Fork 452
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
removing unused passes #197
Comments
I did some background reading about unit builds and this is one of the common disadvantages traded off for faster builds. I'm still curious if there is a way to rebuild without deleting the build folder, or does bootstrap always have to be run in this case? |
Just rerunning bootstrap.sh should be enough to regenerate the Makefiles in this case -- its not necessary to actually delete the entire build directory. Part of the problem is that bootstrap.sh is generating a couple of .am files that automake then processes; we have no rules in the Makefile to regenerate those files if something changes; we should look into doing that. |
Yep. As I understand it from my discussion with Chris, automake adds rules to the output Makefile that trigger regeneration of the Makefile if one of the automake input files (Makefile.am etc) changes. We just need to detect this case and rerun the program that generates unified-compilation.am before automake is rerun. I'd expect that to be a straightforward matter of adding an additional make rule that does the job. I need to take a quick look at the structure of the rules automake generates, but I don't foresee any problems. |
FWIW, I have patches that implement this, but I can't push them to Github because there's an issue with my fork of the p4c repository. I've contacted them and I'm hoping that'll get straightened out by tomorrow. |
Thanks. Is your fork "temporarally unavailable" on GitHub? I had the same issue when p4lang/p4c.git went public. I contacted them, but they couldn't give a time estimate for the fix. After a day I just deleted the repo and re-forked it which seemed to work. |
Yeah, that's my problem! That's a good idea; I'll delete and refork. |
After removing a .cpp and .h file for an unneeded pass I try to recompile and get a "No such file or directory" error. It looks like one of the
unified-sources-<backend>-<n>.cpp
doesn't get rid of the removed files.Is there a better way to handle this than deleting the build folder, and rebuilding from scratch?
The text was updated successfully, but these errors were encountered: