Я знаю, что это не встроено ни в MakeMaker, ни в Module :: Build. Возможно, на CPAN есть что-то, что можно сделать, но обычным способом является использование ExtUtils :: CBuilder для компиляции небольшой тестовой программы и проверки ее запуска.
use ExtUtils::CBuilder;
open my $fh, ">", "try.c" or die $!;
print $fh <<'END';
#include <time.h>
int main(void) {
struct tm *test;
long foo = test->tm_gmtoff;
return 0;
}
END
close $fh;
$has{"tm.tm_gmtoff"} = 1 if
eval { ExtUtils::CBuilder->new->compile(source => "try.c"); 1 };
Вероятно, хотите сделать это во временном файле и очистить после него и т. Д ...