On Feb 16, 2011, at 5:50 PM, martin.zin...@deutsche-boerse.com wrote: > Concerning Net::DNS, if you look at my original message (+ patch),
I saw it but took a step back and questioned how much of it was necessary. > you will > see that I already have a patch for netdns.h (I think a little better than > your suggestion in this case, since from the comments in the code it looks > like the author really wants about 4 times the standard value of 256, which > your patch does not allow) You could be right. On the other hand, modifying the definition of a constant supplied by a system header may or may not work out as the module author expects. > as well as a fix for the compiler check and the > initial library creation in Makefile.PL . > > There is some confusing stuff going on with xs no parameters to > Makefile.PL . The have_compiler() function is hopelessly non-portable. There is one in ExtUtils::CBuilder that mostly works though it takes considerable vigilance to keep it that way. Anything simpler is unlikely to work consistently on very many platforms, and since EU::CB is in the core, it's h hard to think of a reason to roll your own. Luckily, in this case, the whole thing is avoidable by simply passing the -xs option to Makefile.PL so it doesn't try to test for the presence of a compiler. The postamble seems mostly designed to create an object library, but you already automatically get [.blib.arch.auto.net.dns]dns.olb, so I don't see why you'd want another one with the same objects in it. Unless you specifically require an object library (in addition to the shareable image Perl will be using) and the one you already get isn't good enough for some reason, I wouldn't bother trying to fix the code that generates it. My theme here is why bother fixing it if it's not worth fixing and I don't need it. With your changes to netdns.h and the prerequisites installed, I got a successful build and all tests but one passing with the minor test nits below picked. The one test that didn't pass was 08-online.t, which seems to time out waiting for something at net-dns.org. --- t/00-load.t;-0 2009-12-30 05:01:39 -0600 +++ t/00-load.t 2011-02-16 20:43:02 -0600 @@ -14,7 +14,7 @@ BEGIN { # can't test windows, has registry stuff } -diag("\nThese tests were ran with:\n"); +diag("\nThese tests were run with:\n"); diag("Net::DNS::VERSION: ". $Net::DNS::VERSION); diag("Net::DNS::SEC seems to be available") if $Net::DNS::DNSSEC; --- t/00-pod.t;-0 2009-12-30 05:01:39 -0600 +++ t/00-pod.t 2011-02-16 20:43:02 -0600 @@ -13,7 +13,7 @@ if ($@) { Test::Pod->import; my @files; - my $blib = File::Spec->catfile(qw(blib lib)); + my $blib = File::Spec->catdir(qw(blib lib)); find( sub { push(@files, $File::Find::name) if /\.p(l|m|od)$/}, $blib); --- t/00-version.t;-0 2009-12-30 05:01:39 -0600 +++ t/00-version.t 2011-02-16 22:38:30 -0600 @@ -7,7 +7,7 @@ use ExtUtils::MakeMaker; use strict; my @files; -my $blib = File::Spec->catfile(qw(blib lib)); +my $blib = File::Spec->catdir(qw(blib lib)); find( sub { push(@files, $File::Find::name) if /\.pm$/}, $blib); @@ -26,7 +26,7 @@ foreach my $file (@files) { my $version = MM->parse_version($file); diag("$file\t=>\t$version") if $ENV{'NET_DNS_DEBUG'}; isnt("$file: $version", "$file: undef", "$file has a version"); - next if $file =~ /Net\/DNS.pm$/; + next if $file =~ /DNS.pm$/i; ok ($version>290,"$file: version has reasonable value"); } ________________________________________ Craig A. Berry mailto:craigbe...@mac.com "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser