2009-10-20 17 views
6

Quando si crea un modulo Perl ExtUtils :: MakeMaker utilizza i flag definiti in Config.pm (vedere perldoc Config) per valori come ccflags e ldflags.Come sovrascrivere i flag di compilazione di perl durante la creazione dei moduli?

Come faccio a sovrascrivere i valori di tesi (a meno di modificare il Makefile.PL)?

perl Makefile.PL ldflags=<options> 

non sembra funzionare.

Contesto: Sto provando a compilare Term :: Readline :: Gnu su OS X 10.6. L'OS X perl predefinito è un binario universale e quindi ha ccflags come -arch i386 -arch ppc ecc.
D'altra parte la mia versione di Gnu Readline (6.0) è stata compilata dal sorgente solo per -arch i386. In quanto tale, non contiene i simboli previsti per un modulo che tenta di collegarsi usando -arch ppc.

+0

Prova a fare questa domanda nella mailing list dell'EUMM: http://www.perlfoundation.org/perl5/index.cgi?extutils_makemaker –

risposta

2

In generale, provare a ignorare le impostazioni in Config.pm è un esercizio inutile. Il motivo più normale per volere cambiarli è cambiare il compilatore su una macchina in cui Perl è stato compilato con un compilatore non GNU ma si desidera utilizzare GCC. Questo è così difficile da fare che è molto più semplice ricostruire Perl con il compilatore scelto, installare tutti i moduli ausiliari e quindi utilizzare il nuovo modulo scelto anziché provare a combattere "il sistema".

Si può quindi fare una di queste due cose: costruire la libreria GNU Readline con le stesse opzioni che Perl userebbe, o costruire il Perl con le opzioni usate per costruire GNU Readline. Non è consigliabile provare a piegare l'uno per incontrare l'altro se si apprezza la macchina e i capelli in testa (si prega di non colpire la macchina con difficoltà - è il software con cui dovresti essere frustrato, non l'hardware, i Mac sono belli !).

Delle due opzioni, la ricostruzione di GNU Readline è probabilmente la più semplice: è più piccola e presenta meno componenti aggiuntivi.

0

Le informazioni fornite nella sezione Hintsfile Support potrebbero essere pertinenti, sebbene non l'abbia provata.