On Feb 3, 2007, at 7:37 AM, John Daniel wrote: Xcode's dependency handling isn't very robust. I tend to have projects that consist of a moderate sized application with 3-4 static library projects. I had some really strange stuff with Xcode when I would change a header in one of the libraries. It wouldn't update dependent files in the application and it would build a truncated library that then wouldn't link properly. I would up creating an extra script build phase to have tools like makedepend check the dependencies instead. The was in Xcode 2.3. I haven't noticed the problem yet in Xcode 2.4, but I am also not updating those libraries as much anymore either.
As an IDE, Xcode is still a bit far behind Codewarrior circa 1997. Still, Cocoa and Interface Builder are so much better than Powerplant ever was that I don't complain (much).
Well, rather than complaining (even not much), I'd rather you file specific bugs with reproduction scenarios that we can pursue and thus improve the robustness of Xcode.
In our queue of known bugs in dependency checking not causing recompiles when it should, we know of one case with #include files defined in a macro, and one case where #include files are referenced with a path that starts with "../", and one case where if you delete a header file, affected dependencies aren't rebuilt. (We have more cases where we're rebuilding when we don't need to, but only these three known cases where we fail to build).
So if you have a specific experience where you edit and save a file, rebuild the target, and sources that #include that file are not recompiled, please file a bug report at bugreporter.apple.com. Include the full build transcript. Tell us which header you edited and how, and which source file you expected to be rebuilt, so we can identify them in the transcript.
Software doesn't improve with age like a fine wine. We need to work to fix cases that are broken, and to do that we need well-documented specific failures to be filed by people who experience them.
Chris |