FWIW, here is a data point: What happens on my Darwin/PPC (10.4) Mac at
auto::aio:
On Darwin, Configure.pl reports that AIO is unsupported. If I hack up
config/auto/aio.pm to print the content of the $@ inside
_first_probe_for_aio() -- i.e., expose what the C probe in
config/auto/aio/aio.in said --
$ svn diff config/auto/aio.pm
Index: config/auto/aio.pm
===================================================================
--- config/auto/aio.pm (revision 30771)
+++ config/auto/aio.pm (working copy)
@@ -47,7 +47,7 @@
my $libs = $conf->data->get('libs');
$conf->data->add( ' ', libs => '-lrt' );
- my $errormsg = _first_probe_for_aio($conf);
+ my $errormsg = _first_probe_for_aio($conf, $verbose);
if ( ! $errormsg ) {
my $test = $conf->cc_run(35);
@@ -79,6 +79,7 @@
sub _first_probe_for_aio {
my $conf = shift;
+ my $verbose = shift;
my $errormsg;
$conf->cc_gen('config/auto/aio/aio.in');
eval { $conf->cc_build(); };
... I get this output:
auto::aio - Does your platform support AIO...
/usr/bin/gcc -fno-common -no-cpp-precomp -pipe -I/opt/local/include
-pipe -fno-common -Wno-long-double -DHASATTRIBUTE_CONST
-DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL
-DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED
-DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16
-fvisibility=hidden -W -Wall -Waggregate-return -Wcast-align -Wcast-qual
-Wchar-subscripts -Wcomment -Wdisabled-optimization -Wendif-labels
-Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral
-Wformat-security -Wformat-y2k -Wimplicit -Wimport -Winit-self -Winline
-Winvalid-pch -Wmissing-braces -Wmissing-field-initializers
-Wno-missing-format-attribute -Wmissing-include-dirs -Wpacked
-Wparentheses -Wpointer-arith -Wreturn-type -Wsequence-point -Wno-shadow
-Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch
-Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused
-Wvariadic-macros -Wwrite-strings -Wbad-function-cast
-Wdeclaration-after-statement -Wimplicit-function-declaration
-Wimplicit-int -Wmain -Wmissing-declarations -Wmissing-prototypes
-Wnested-externs -Wnonnull -I./include -c test_1120.c
test_1120.c: In function 'sighandler':
test_1120.c:26: error: 'struct __siginfo' has no member named 'si_ptr'
test_1120.c: In function 'main':
test_1120.c:40: error: 'SIGRTMIN' undeclared (first use in this function)
test_1120.c:40: error: (Each undeclared identifier is reported only once
test_1120.c:40: error: for each function it appears in.)
test_1120.c:40: error: 'SIGRTMAX' undeclared (first use in this function)
(no)
Setting Configuration Data:
(
verbose => undef,
);
Does your platform support
AIO.......................no.
This seems to indicate that my Mac truly does not support AIO. But it
may be that the probe in aio.in is simply badly designed. I don't know
enough about the subject to distinguish the two cases definitively.
(And I can't seem to find any Fink or Macports package that will install
AIO -- except a package surrounding CPAN module IO::AIO.)
kid51