[Libreoffice] Mac OS 10.4 Support

Christian Lohmaier lohmaier+libreoffice at googlemail.com
Sun Jul 24 18:24:41 PDT 2011


Hi Norbert, *,

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


More information about the LibreOffice mailing list