2009-10-20 10 views
6

Podczas budowania modułu Perla ExtUtils :: MakeMaker używa flag zdefiniowanych w Config.pm (patrz perldoc Config) dla wartości takich jak ccflags i ldflags.Jak przesłonić flagi kompilacji perla podczas budowania modułów?

Jak przesłonić te wartości (krótsze od edycji pliku Makefile.PL)?

perl Makefile.PL ldflags=<options> 

wydaje się nie działać.

Kontekst: Próbuję skompilować term :: Readline :: Gnu na OS X 10.6. Domyślny OS X perl jest uniwersalnym binarnym, a więc ma ccflags jak -arch i386 -archpc itd.
Z drugiej strony moja wersja Gnu Readline (6.0) została skompilowana ze źródła dla -arch i386 tylko. Jako taki nie zawiera oczekiwanych symboli dla modułu próbującego połączyć się z nim za pomocą -arch ppc.

+0

Spróbuj zadać to pytanie na liście dyskusyjnej EUMM: http://www.perlfoundation.org/perl5/index.cgi?extutils_makemaker –

Odpowiedz

2

Ogólnie rzecz biorąc, próba zastąpienia ustawień w Config.pm jest ćwiczeniem daremności. Im bardziej normalnym powodem, dla którego chcesz je zmienić, jest zmiana kompilatora na komputerze, na którym Perl został skompilowany przy użyciu kompilatora innego niż GNU, ale chcesz użyć GCC. Jest to tak trudne, że o wiele łatwiej jest odbudować Perl z wybranym kompilatorem, zainstalować wszystkie moduły pomocnicze, a następnie użyć zbudować wybrany nowy moduł, zamiast próbować walczyć z "systemem".

Możesz zatem wykonać jedną z dwóch rzeczy - zbuduj bibliotekę GNU Readline z tymi samymi opcjami, których używał Perl, lub zbuduj Perla za pomocą opcji używanych do budowania Linuksowej Readla. Próba zginania jednego do drugiego nie jest zalecana, jeśli cenisz sobie maszynę i włosy na głowie (proszę nie uderzać w maszynę tak mocno, to jest oprogramowanie, które powinno być sfrustrowane, a nie sprzęt, Mac jest miły !).

Z tych dwóch opcji, przebudowa Linuksa GNU jest prawdopodobnie łatwiejsza - jest mniejsza i ma mniej dodatków.

0

Informacje zawarte w sekcji Dokumenty mogą być istotne, chociaż ich nie wypróbowałem.

Powiązane problemy