Есть ли ExtUtils::*
или Module::Build
(или другой) аналог Ruby's mkmf.have_struct_member
?Как узнать, имеет ли структура C член в Perl XS?
Я хотел бы сделать что-то подобное (в манере в подсказки/ файл):
....
if struct_has_member("msghdr", "msg_accrights") {
$self->{CCFLAGS} = join(' ', $self->{CCFLAGS}, "-DTRY_ACCRIGHTS_NOT_CMSG");
}
...
Config.pm
не отслеживает конкретную информацию я ищу, и ExtUtils::FindFunctions
Ждут» t кажется вполне уместным здесь ...
Вы хотите знать, если структура в библиотеке C содержит заданный элемент? Например, существует ли 'tm.tm_gmtoff' во времени. H? – Schwern
@ Шварн, да. В этом своеобразном случае, имеет ли 'struct msghdr'' msg_accrights' или нет. – pilcrow
Нет встроенной базы данных Perl для этого AFAIK. Обычно вы используете ExtUtils :: CBuilder для компиляции тестовой программы. Для этого может быть модуль CPAN, но он не встроен в MakeMaker или Module :: Build. – Schwern