
Out of sheer curiosity: in what situations does that happen for you? *If* you are working on a single branch, ie. you're not switching back and forth between master and your feature branches, this should not happen (and even if you switch between branches it should still be safe for most of the time).
I'm actually swtiching branches quite a lot, because most of the time I have
multiple tasks at hand, working on multiple tickets etc.
But I think there's another way to introduce this kind of failures. Since
compilation take very long, I never start the build process and wait until it's
done, I keep coding in the meantime. Maybe I should rsync changes manually to
another directory and run build there while I keep working on current tree etc.
I just tried `make 1` in ghc directory and I think it worked(I'll try on a
clean tree once I have to `make clean` and see if it's really building only
stage-1). But my next question is why marking it as such in build.mk doesn't
work.. I'd expect `devel1` to build stage1 only.
2015-10-20 3:12 GMT-04:00 Jan Stolarek
it's very easy to end up in a state where `make` simply can't build, and only easy fix is a `make clean` Out of sheer curiosity: in what situations does that happen for you? *If* you are working on a single branch, ie. you're not switching back and forth between master and your feature branches, this should not happen (and even if you switch between branches it should still be safe for most of the time). Richard already gave you a trick (cd ghc/ && make 2) that allows to build only stage 2 compiler without rebuilding stage 1 or any of the libraries. One situation that comes to my mind that can really require a full rebuild is changing format of interface files. But other than that you shouldn't have to do a full rebuild too often.
I know how you feel. When I started working on GHC I had to do a full rebuild very often. But now I improved my workflow and only do a full build after a major rebase of my branch against master.
Janek
--- Politechnika Łódzka Lodz University of Technology
Treść tej wiadomości zawiera informacje przeznaczone tylko dla adresata. Jeżeli nie jesteście Państwo jej adresatem, bądź otrzymaliście ją przez pomyłkę prosimy o powiadomienie o tym nadawcy oraz trwałe jej usunięcie.
This email contains information intended solely for the use of the individual to whom it is addressed. If you are not the intended recipient or if you have received this message in error, please notify the sender and delete it from your system.