[Moscow.pm] ExtUtils::MakeMaker: дополнительные пути поиска в LIBS и INC

Maxim Vuets maxim.vuets на gmail.com
Вс Окт 27 02:00:14 PDT 2013


Пишу 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