La comunità Perl si è basata su MACOSX_DEPLOYMENT_TARGET=10.3
per tutte le versioni di Perl per, beh, da molto tempo. Ma ora, con la El Capitan beta, it no longer works. Sembra come se dovessero sbatterlo, ma a cosa? C'è un modo per impostarlo in modo programmatico su qualunque sia la prima versione supportata dal rilascio di OS X su cui Perl è attualmente in fase di costruzione? O c'è un altro modo per impostarlo in modo dinamico? O deve essere statico e aggiornato periodicamente? Se quest'ultimo, come influenza le build su versioni precedenti di OS X?Qual è il modo migliore per impostare MACOSX_DEPLOYMENT_TARGET?
risposta
Questo dovrebbe essere un cambiamento abbastanza semplice in hints/darwin.sh
, che controlla quale versione di OSX è in esecuzione e imposta MACOSX_DEPLOYMENT_TARGET
di conseguenza.
Perl è un progetto Open Source e, come tale, sempre a corto di tempo di sviluppo. Se dovessi creare una patch per questo e inviarla a p5p, sono sicuro che sarebbe molto apprezzata.
Grazie, ho incoraggiato questa soluzione nel [bug report] (https://rt.perl.org/Ticket/Display.html?id=123985). – theory
Accettato @ La risposta di Calle-Dybedahl, poiché è tecnicamente corretta. Perl 5 Core Hacker Jarkko Hietaniemi ha spinto this solution, che si è rivelato un po 'più complicato di quanto ci si potrebbe aspettare a colpo d'occhio. La ricetta di base è venuto giù era:
Per OS X 10.6 o superiore, non più utilizzare il
MACOSX_DEPLOYMENT_TARGET
, le toolchain dovrebbe funzionare bene anche senza. Fino ad ora l'obiettivo di implementazione era cablato a 10.3. Questa logica proviene da RT#117433.Per versioni di OS X da 10.3 fino a 10.5, nessuna modifica, utilizzando ancora il
MACOSX_DEPLOYMENT_TARGET=10.3
per il collegamento.Per OS X rilasci prima del 10.3, nessuna modifica, ancora non utilizzando il
MACOSX_DEPLOYMENT_TARGET=10.3
.nuovo: sempre aggiungere
-mmacosx-version-min
-ccflags
eldflags
dal var env$MACOSX_DEPLOYMENT_TARGET
, se impostato. Se var non è impostato, imposta il valore minimo dalla versione OS X, da sw_vers (1). L'impostazione della var dovrebbe essere utile per le persone che costruiscono e impacchettano Perl per versioni precedenti di OS X.
Non conosco nessuno che esegue MacOS 10.3 ... vuoi davvero supportare un sistema operativo rilasciato nel 2003? –
@MichaelDautermann People test Perl su tutti i tipi di configurazioni pazze. [Ecco qualcuno] (https://rt.perl.org/Ticket/Display.html?id=123985#txn-1334270) che esegue il test fin da OS X 10.4. – theory