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


Thread Previous | Thread Next
Jarkko Hietaniemi
October 14, 2015 20:45
Message ID:
# New Ticket Created by  Jarkko Hietaniemi 
# Please include the string:  [perl #126360]
# in the subject line of all future correspondence about this issue. 
# <URL: >

Based on a discussion I had with the macports developers

I would recommend doing *something* about the current setup where we set the binary backward compatibility to 10.3 (OS X is now at 10.11, 10.4 was the first Intel release, 10.3 was still all PPC, we are talking 2003 here) with

ld="env MACOSX_DEPLOYMENT_TARGET=10.3 ${ld}"

See  for the description of the binary compatibility settings.

(In that macports ticket also other matters are discussed, but since I found experts, I asked them about the deployment target setting.)

What happens is something on a lower deployment target attempts to run a binary built on a higher deployment target, it will simply fail to run at all.

For some of previous discussions (as in: please read them to avoid repeating the same discussions too much) see

I am boldly CCing some of the people from the above.

Previously, I have leaned on the side of backward compatibility, in other words, doing nothing.

But now I'm starting to lean towards doing ... something.  The 10.3 is definitely getting old.  In the macports ticket they suggest 10.4 at the minimum if PPC is really still a goal.  But 10.6 preferably.  Or if we want more modern nice linker things, 10.7.  (I am guessing there might also be some nicer compiler things, not just linker.)

So if compiled without anything, one gets whatever target the current tool chain uses.  (And that then won't run on older boxes.) 

How about something like following: if the person configuring somehow explicitly asks for an older deployment target, then and only then we set the linker to that target.  If they do not, we will compile without any specific setting, getting all the modernity benefits.

How the explicit asking might work?  I have two ideas: (1) if there is environment variable MACOSX_DEPLOYMENT_TARGET set, use that ... this is kind of blindingly obvious extension of the old way (2) Configure option/variable, -Dusesomething -- though I'm a little leery of a very OS-specific Configure option.

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