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

[perl #126360] MACOSX_DEPLOYMENT_TARGET

Thread Previous | Thread Next
From:
James E Keenan via RT
Date:
October 14, 2015 22:06
Subject:
[perl #126360] MACOSX_DEPLOYMENT_TARGET
Message ID:
rt-4.0.18-5463-1444860375-1334.126360-15-0@perl.org
On Wed Oct 14 13:45:01 2015, jhi wrote:
> Based on a discussion I had with the macports developers
> 
> https://trac.macports.org/ticket/49273
> 
> 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
> https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html
> 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
> 
> https://rt.perl.org/Ticket/Display.html?id=117433
> 
> https://rt.perl.org/Ticket/Display.html?id=123985
> 
> http://markmail.org/message/yoxutk5dfbu4r6ga#query:+page:1+mid:n5cbiz2dmpfmrwp2+state:results
> 
> 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.

Jarkko:

How would this patch:

https://rt.perl.org/Ticket/Attachment/1332434/711615/0002-very-first-step-to-tidy-up-mess-around-sdk-to-use.patch

... which is from https://rt.perl.org/Ticket/Display.html?id=123831 and which Tony Cook and I were discussing last night in #p5p affect this issue?

Thank you very much.

-- 
James E Keenan (jkeenan@cpan.org)

---
via perlbug:  queue: perl5 status: new
https://rt.perl.org/Ticket/Display.html?id=126360

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About