develooper Front page | perl.perl5.porters | Postings from October 2015


Thread Previous | Thread Next
Sevan Janiyan
October 15, 2015 19:43
Message ID:


On 15/10/2015 18:19, Jarkko Hietaniemi via RT wrote:
> I am afraid that I cannot reach the same conclusion from either 
> Apple's documentation on this, or from the Internet hive mind.  The
>  10.4 and 10.7 seem to be the _defaults_ if nothing else is set.

See the ld(1) man page.
From 10.4.11 with XCode 2.5 installed

-macosx_version_min version
This overrides the MACOSX_DEPLOYMENT_TARGET environment variable (see
below).  Unlike other linker options, this one may be specified
multiple times; only the last occurrence is effective.

The following environment variable is used to control the use of
incompatible features in the output with respect to Mac OS X releases.

This is set to indicate the oldest Mac OS X  version  that that the
output is to be used on.  When this is set to a release that is older
than the current release features that are incompatible with that
release will be disabled.  If a feature is seen in the input that
can't be in the output due to this setting a warning is issued.  The
current allowable values for this are 10.1, 10.2 10.3, and 10.4 with
the default being 10.4 for the  i386 architecture and 10.1 for all
other architectures.

If you build on a modern version of OS X with the patch I linked to
earlier, you will not have any issue with MACOSX_DEPLOYMENT_TARGET on
modern systems and will retain backwards compatibility with 10.3 to
10.5 on PowerPC systems.

The wikipedia Mach-O binary format explains the issue.

> Setting explicit MACOSX_DEPLOYMENT_TARGET seems to very much being
>  used (and causing similar problems) in other opensource projects,
>  too.

But is that a relic from the past being carried forward or are you
explicitly setting that because you need ABI compatibility with a
specific version. It does not need to be set on modern versions of OS
X (10.6 and newer).

The patch I posted previously is used to build Perl on OS X
10.4.11/PowerPC, 10.6 & 10.11 intel without issue for the past 11 months.

> See the macports ticket mentioned in the beginning of this ticket.

I looked, if you only set MACOSX_DEPLOYMENT_TARGET for legacy systems,
it is not a problem. Perl bug #117433 is worth looking at (which
remains open by the way).


Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About