2012-01-05 2 views
3

Makefile에 삽입하는 CFLAGS의 기본값을 Perl MakeMaker가 변경하도록하려면 어떻게해야합니까?MakeMaker의 기본 CFLAGS를 변경하는 방법

export CFLAGS=... 

다음 CPAN 안에, 내가

! print $ENV{CFLAGS} 

으로 확인하지만 여전히 CFLAGS 펄이 함께 만들어진 어떤 사용 this post을 바탕으로, 나는이 시도.

this post에서 제안한대로 lib/perl /.../config.pm을 보았지만 CFLAGS가 설정되어 있지 않습니다.

내가 대답있어 관련 질문이 있습니다

How to tell CPAN about path to make and cc 내가 CPAN/Config.pm

'makepl_arg' => q[ CCFLAGS="-D_REENTRANT -O2 -m32 -I/opt/csw/bdb48/include -I/opt/csw/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -m32 -DVERSION=\"1.616\" -DXS_VERSION=\"1.616\" -fPIC -I/opt/csw/lib/perl/5.10.1/CORE"], 

에 약간의 진전을 만들었을하지만 이것은 단지 CFLAGS에 이미에 어떤 값을 추가하는 gcc는 이해하지 못합니다 (예 : "-x03"및 "-KPIC").

+0

나는 오늘 아침에 조금 더 진보했다. 찾고 있던 파일은 실제로는 .../lib/perl/Config_heavy.pm 하지만 Perl을 업데이트하면이 파일을 덮어 씁니다. 따라서 배포판에 대한 요청으로 opencsw.org에 다시 게시해야합니다. 올바른 설정을 통합 할 수 있습니다. 또한 cpanplus를 사용하여 CFLAGS를 추가하는 대신 CFLAGS를 덮어 쓰는지 확인하려고합니다.하지만 CFLAGS를 사용하지 않았으므로 모듈 트리를 다시 작성하기 위해 아직 기다리고 있습니다. –

답변

0

MakeMaker가 OpenCSW에서 solaris 시스템에서 작동하는 Makefile을 생성 할 수 있도록 /opt/csw/lib/perl/5.10.1/Config_heavy.pl을 성공적으로 수정했습니다. 여기에서 다운로드 할 수 있습니다 유사한 문제가

기타 : 그들은 희망 펄의 OpenCSW 자료를 업데이트하도록 https://gist.github.com/1569718

또한 opencsw.org에서 테이너이 다시 게시했다. 필자는이 게시물을 통해 올바른 방법은 OpenCSW 배포판에 속한 도구를 사용하여 Perl을 완전히 다시 작성하는 것이라고 지적했습니다. 필자가 Perl 배포판을 만들 때이 파일이 다른 스크립트에 의해 자동으로 생성되기 때문입니다. 그것이 실제로 구축되는 방법을 확인했다). 이 패치 된 파일은 필자가 일을 끝낼 수있는 편의상의 것일뿐입니다.

CPAN/Config.pm의 설정을 수정하여 목표를 달성하는 것이 훨씬 더 좋습니다. CPAN은 이 이전에 설정된 인수 문자열에 플래그를 추가하기 때문에 gcc 및 gmake에 올바른 경로를 설정했지만 명령 행 플래그를 gcc로 변경하는 데는 효과가 없었습니다. gcc는 일부 플래그가 호환되지 않는 플래그 (예 : "-xO3"및 "-KPIC")를 만난 후 종료됩니다.

CSWperl 5.10.1의 REV = 2011.01.15는 OpenCSW에서 설치 한 CSW의 현재 Perl 릴리스입니다.

다른 사람에게 도움이되기를 바랍니다.

+0

위에서 언급 한 요지의 파일 이름을 .pm 확장자로 잘못 지정했는지 확인하십시오. 이름은 .pl이어야합니다. Perl은 Config_heavy.pm이라는 파일을 찾지 않습니다. –