Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi Norbert, *,

On Mon, Jul 25, 2011 at 2:52 AM, Norbert Thiebaud <nthiebaud@gmail.com> wrote:
On Sun, Jul 24, 2011 at 7:10 PM, Christian Lohmaier
<lohmaier+libreoffice@googlemail.com> wrote:

because you can build with a sdk 10.6 and a deployment-target of 10.4
(at least that is how I understood the <AvailabilityMacros.h> )

Yes, in theory, but see my other post, or look at the apple developer
lists. That it only works in theory is the reason why people also
prefer to keep using the 3.2.6 SDK even on system where you could be
using the newer 4.x ones.

I'm getting a bit confuse. --with-macosx-target-deployment is aiming

--with-macosx-deployment-target

at MACOSX_DEPLOYMENT_TARGET right ?

Yes, but..

That is not solid enough for the reason you stated above. hence the
--with-mac-sdk= which force the use of a particular version of the SDK

it should also set the matching SDK.

I mean, we could use --with-macos-target-deployment to do the task I
assigned to --with-mac-sdk.. but that would certainly not  be more
'consistent'

It is. As you do expect a version string as argument passed to that
option, not a path to the actual SDK.

--with-macosx-deployment-target=10.4

it's clear that you want the build to run on 10.4 and later.

--with-macosx-sdk=10.6 (or /Developer/SDKs...10.6, doesn't matter)

it could mean: "I only have XCode 4.1 installed, so I don't have the
10.4 SDK available and cannot use it, but I still would like to have
my build run on my laptop that runs 10.4"

Just specifying the sdk is ambiguous. As you yourself noted that it is
not strictly necessary (in theory) to use the target's SDK to produce
a build that runs on the target.

If people consider it a problem to modify the XCode 3.2.6 dmg to be
able to install it on Lion, then using the "flaky" way to rely on the
availability macros is the only way to keep 10.4 and 10.5 compatible.

The other way doesn't make any sense, you cannot compile against 10.4
SDK but make use of 10.5 features (and it doesn't make sense to use
the 10.7SDK to compile for 10.4 or 10.5, this is just asking for
deprecation warnings and stuff) So IMHO one switch that specifies the
target is enough to derive the rest.

If matching SDK is available, use that, otherwise use whatever
"oldest" SDK is available and hope for the availability-macro stuff
(and more importantly the linking) doesn't fail.
This would of course require some more modification to the compiler /
linker arguments to support that method.

ciao
Christian

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.