• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Dependency Issues
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dependency Issues


  • Subject: Re: Dependency Issues
  • From: Andreas Grosam <email@hidden>
  • Date: Tue, 29 Mar 2005 15:00:24 +0200


On 28.03.2005, at 20:17, Dietmar Planitzer wrote:


On Mar 28, 2005, at 6:19 PM, Andreas Grosam wrote:

It looks like, the dependency mechanism in XCode does not care about changes of many (or even all?) settings in the various compiler, linker or install options.

For instance, if i change a setting which would require a re-link, XCode does not. When re-building, it finishes immediately - apparently without doing anything.

The same for various compiler settings. If i change one which would require a re-compile of all the source files, XCode does nothing and thinks it is already finished. (didn't tested file-specific options so far, though)

Furthermore, if i change the build style from "Development" to "Deployment", XCode does not build anything - provided the pre-compiled headers are already precompiled.

I didn't tested the install options so far; I suspect it is the same.


Well, i can't believe that this is really true and thus have to manage *such* dependencies manually - so, what i'm doing wrong?


Short answer: You're using Xcode :)

Longer answer: Xcode's build system does not take changes in the area of compiler settings or build styles into account. Thus, you are responsible for cleaning the project by hand when you change a compiler setting.
Then, i suppose, the dependency mechanism does also not take compiler/linker versions, libraries/versions to link against, order of libraries, order of include paths or the existing file structure into account.

A dependency mechanism which just tracks modification dates of translation units, is - to say it politely - insufficient.
I could use the "Compile" and a (new) "Link" button, instead. And for more complex dependencies through headerfiles, i would propose a new kind of button in the menu bar which would be very helpful: "Clear and Build".
(sorry for the sarcasm, but i thought the days of MakeMake are gone)


Its always been that way since the very early days of the first ProjectBuilder in OpenStep (written without a space, back then). While this behavior made some sense back in those days because PB was using good old make as its "build system", its IMHO not understandable anymore that Xcode is using a native build system.
Somewhere i read something about a "dependency graph" and "nodes" ... looks promising. Thus i don“t understand why it does not work.


If you find "features" like this just as annoying as I do, then file bugs in Apple's radar. Be sure to explain in detail why this or that Xcode behavior is a problem / slowing you down / wastes your daily working time. Then hope for the best...
Well, suppose i have a big project, which takes 90 mins to compile. Suppose, i change a setting which requires to relink, which would probably take 2 minutes or so. Or suppose, i just change an install setting.
But, it will not work; it looks like i have to clear the whole project - which takes 90 minutes.


The "distributed compile" feature is nice, but....i prefere the "smart" way instead of a brute force method.

I wonder, why i *have* to explain this in *detail* to the XCode-developers. Dietmar, i know what you mean, i have made the same experiences. :-(

Well, you suggest to file this as a feature request, or alternatively as a bug report to the appropriate lists. How many did this already before me? As you mentioned already, this "feature" exists since the early days of PB.

I've so far filed somewhere between 40 and 50 bugs / enhancement requests against the Xcode UI (haven't had time yet for attacking the build system), with mixed results. Some bugs have been fixed in Xcode 2, others were closed with "works as designed". Well, it may very well be the case that the feature in question works as designed -
IMHAO, it is not a matter of opinion. But this is my opinion ;-)
That feature in question is a matter of maths and there is no reason to make it wrong.


Only if we have really good reasons to bypass the dependency mechanism, Apple could implement something like a "untouch" feature. In this case, i agree that this would require a "feature-request".

but that's exactly the problem (i.e. behavior of Files & Groups pane since Xcode 1.5 or the weird behavior of the embedded editors in the Find and Debugger windows).
I could add some more in this area, too. But i restrict my wishes to the more essential parts of the dependency mechanism.

Thanks Dietmar!


Regards Andreas

Regards,

Dietmar Planitzer


_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Dependency Issues (From: Andreas Grosam <email@hidden>)
 >Re: Dependency Issues (From: Dietmar Planitzer <email@hidden>)

  • Prev by Date: Re: printing from xcode
  • Next by Date: xcode 1.5 problem with build rules that contain script and intermediate files...
  • Previous by thread: Re: Dependency Issues
  • Next by thread: Re: Xcode-users Digest, Vol 2, Issue 106
  • Index(es):
    • Date
    • Thread