These CONFIG options allow a .pro file to select which toolchain
its target should be built with.
To force a target to always be built for x86 (in both x86 and
x86_64 build environments), set CONFIG+=force-x86-toolchain.
The same thing is possible with force-x86_64-toolchain.
In Xcode 5, the xcrun tool includes a --show-sdk-path parameter
which, as the name implies, can be used to query the system for
a usable OS X SDK path. However, xcrun in Xcode 4 does *not*
include this parameter.
We used this parameter unconditionally, which lead to failures
when using building against Qt 4 when using Xcode 4.
This change modifies the SDK selection code to first attempt to
query for the OS X sdk using the --show-sdk-path parameter. If
that fails, we try to fall back to using a 10.8 SDK living in
a DEVELOPER_DIR found via xcode-select --print-path. If that
doesn't exist either, we warn the user and abort the build.
This should allow people to build Mumble on most systems without
having to resort to manual .pro file editing.
For Qt 5, we simply use 'macosx'. For Qt 4, we query via 'xcrun',
just like Qt 5 does under the covers.
This allows us to avoid changing the hard-coded OS X SDK every time
a new SDK is released. As long as Xcode is up-to-date, we'll build
with the new SDK automatically.
This allows Mumble to build with Boost that has been
configured with the --layout=tagged or --layout=system
options.
The win32-static build environment uses this kind of
Boost install.
This means we'll be able to keep Boost up-to-date without
modifying compiler.pri each time.
* Implementation relied on local static variable initialization being
threadsafe which is not the case before C++11.
* To retain lazy initialization now using boost::call_one() to force
thread-safe first get()
* This adds a non header dependency to boost::threads for the windows
build.