Я работаю над модулем, который хотел бы иметь два бэкэнда: 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
?