Konstantin Tokarev wrote: >> It does sound like we're a little too enthusiastic about jumping to a >> conclusion here - is there a better way to decide what we're compiling >> for ? Surely we should ignore uname if configure has options that >> explicitly ask for cross-compilation; but it's a reasonable thing to >> consult otherwise, when auto-detecting in the absence of explicit >> instructions - in particular, more to be trusted than the existence of >> (possibly non-native) frameworks, > > Note that in opening letter different question was asked, namely how to > detect if script is running on Mac or not, presumably to avoid asking Linux > users to install Xcode.
I think Edward is raising the same question, but yes, the reason I raised my question was that I was prompted to install Xcode AND that that was all the script would do. The former is ... pittoresque, the latter is more annoying. A combination of tests might be the way to go. I noticed the same check for Carbon.framework in the MacPorts sources (also to distinguish PureDarwin). But in their case they check the result from `tcl_platform(os)` first. If memory serves me well that variable is initialised from uname. I.e. something like if [ $UNAME_SYSTEM = Darwin -a -d /System/Library/Frameworks/Carbon.framework ]; then BUILD_ON_MAC=yes fi The only situation in which this test could fail validly would be on PureDarwin or similar OS ("true and false"). That's exactly what is required here, no? Alternatively, there's `sysctl hw.model` which can probably be used as the unique test. And of course there's the possibility to add a way to force the script to continue in an unforeseen situation (but that seems more work). R. _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development