-
Notifications
You must be signed in to change notification settings - Fork 1.2k
What's the proper way to re-build? #1196
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
For a clean full build I normally do the following which seems to work (
I'm not sure if/how an incremental/partial rebuild can be done. |
Yes, removing the stamp files is a good way to keep incremental build durations short. I'm not sure an automatic logic that fits all use-cases can exist. E.g. Binutils changes sometimes require a rebuild of following toolchain components, but I don't think this can be detected automatically. So a proper solution would be to do only clean builds unless you know better, in which case you would remove the stamp files of those components that should be rebuilt. |
I also using the removing stamp trick now. I've some experiences on building build system to handle this automatically, but no much magic here - scan latest modify time in the source tree, rebuild if latest modify time is older than the stamp file, and also add build flag to notify the build system should rebuild C library (e.g newlib or glibc), however it's not written in Makefile...and I can no longer use that for many years...:P |
Anybody know the difference between removing the stamps files and doing |
|
Thanks Christoph.
Yes, but earlier it was stated:
So, that suggests to me that |
Yes, It might be worth mentioning that these steps won't help in case of version bumps of the submodules. I typically use |
Closing this since different ways to do a clean rebuild have been outlined and, as far as I can see, no change is needed to the |
Well, not the build files but maybe the documentation aka readme? The gist of this threads seems to be: We recommend to do clean builds, e.g., by executing
before (re)running Partial rebuilds can be done by deleting the respective files in |
Feel free to submit a PR for the changes that you consider appropriate. |
Hi @timsifive - can I ask how exactly you do this? Is it via something like |
Actually, this seems to work for me - just in case it helps anybody else...
So a clean build from scratch with an empty I was also meaning to try P.S. a clean build (as before, with all git submodules already fetched) without using
|
Addresses issue riscv-collab#1196 Signed-off-by: Dan Weaver <[email protected]>
Closing this since the original and follow-up questions have been addressed and the close issue will remain as a useful reference point going forward. |
Since the top makefile uses the stamps to assess progress instead of leaving this to the sub-makes, it is not aware of changes in the repos during development or when updating. I used to remove the respective stamp files manually but I am not sure if that's the most appropriate way and would like to see this documented as too (I can send a PR once I fully understand the issue).
How to re-build the whole toolchain or individual parts after the toolchain was built (e.g., when pulling new changes)?
The text was updated successfully, but these errors were encountered: