Я работаю над модулем, в котором я хотел бы иметь два бэкэнда, Module(::PerlArray)
и Module::PDL
(которые могут зависеть от Module
). Обоим нужен доступ к файлу functions.c/.h
для сборки. Этот файл имеет довольно сложную логику, необходимую для модуля. Вместо того, чтобы распространять его отдельно с каждым модулем, есть ли способ сохранить его с Module::PP
в системе, а затем добавить его к соответствующим флагам сборки в EU::MM
или M::B
(учитывая сложность здесь, вероятно, последнее)?
Чтобы выразить это более наглядно
--Module--
Module.pm
Module/PerlArray.pm
Module/PerlArray.xs (#include functions.h
#include perlarray_backend.h)
Module/src/functions.c
Module/src/perlarray_backend.c
Module/inc/functions.h
Module/inc/perlarray_backend.h
--Module::PDL--
Module/PDL.pm
Module/PDL.xs (#include functions.h /*from Module*/
#include pdl_backend.h)
Module/src/pdl_backend.c
Module/inc/pdl_backend.h
и компиляцию делает functions.o и ссылки. Я уверен, что смогу понять, как правильно установить флаги, но как мне заставить модуль сохранять файл functions.c
во время установки, и как я могу найти его при установке Module::PDL
? Есть ли место, где я могу разместить functions.c/.h
?