[Moscow.pm] ExtUtils::MakeMaker: дополнительные пути поиска в LIBS и INC
Maxim
monk на nuked.su
Вс Окт 27 07:13:13 PDT 2013
В Makefile-ах обычно корректно поддерживаются переменные типа CFLAGS
CXXFLAGS и LDFLAGS, соответственно можно писать что-то вроде
perl Makefile.PL && \
CFLAGS="-I/home/mvuets/foo" \
LDFLAGS="-L/home/mvuets/foo" \
make && \
make test && \
make install
On Sun, 2013-10-27 at 10:00 +0100, Maxim Vuets wrote:
> Пишу XS модуль. Упращённый Makefile.PL выглядит так:
>
> use ExtUtils::MakeMaker;
> WriteMakefile(
> NAME => "Foo",
> LIBS => ["-lfoo"],
> INC => "-I.",
> );
>
> Проблема: необходимая libfoo.a и её заголовочные файлы находятся в
> каком-то произвольном месте, скажем /home/mvuets/foo. Как я могу указать
> дополнительные -L/home/mvuets/foo и -I/home/mvuets/foo _без модификации_
> исходного Makefile.PL? (Например: через переменные окружения, аргументы
> коммандной строки?..) Это необходимо для сборки модуля с разными
> версиями внешней библиотеки без установки этой библиотеки в масштабе
> всей системы.
>
> Я знаю, что WriteMakefile() позволяет _переопределять_ все аргументы, но
> не вижу способа как их _дополнить_. Т.е. хочется чего-то в духе:
>
> ./Makefile.PL LIBS+="$HOME/foo" INC+="$HOME/foo"
Подробная информация о списке рассылки Moscow-pm