Based on a patch by AUGUSTE-ETIENNE José <jose.auguste-etienne@cgss-guyane.fr>
The attached patches are necessary to work around aix 4.2 lack of support for IPv6,
and limited support for POSIX sigaction()
The hints/aix_4.sh patch solves the following build failure:
"Socket.xs", line 468.16: 1506-007 (S) "struct in6_addr" is undefined.
The ext/POSIX/t/sigaction.t patch solves the failing test reported a looong time ago:
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-01/msg01124.html
After testing a simple C program using POSIX sigaction() with SA_SIGINFO,
I found that it worked on aix 4.3 but failed on aix 4.2.
I think it's safe to skip the SA_SIGINFO test on the aix 4.2 platform.
perl 5.12.0 builds fine on the following platforms / C compiler :
aix 4.2.1 / vac 5.0.2.7 (with attached patches)
aix 4.3.2 / gcc 2.95.3
aix 4.3.3 / vac 4.4.0.3
aix 4.3.3 / vac 5.0.28
aix 5.2 / GNUpro gcc 2.9.aix51.020209
The atatched patches should be applied to blead and maint.
SKIP: {
eval 'use POSIX qw(SA_SIGINFO); SA_SIGINFO';
skip("no SA_SIGINFO", 1) if $@;
+ skip("SA_SIGINFO is broken on AIX 4.2", 1) if $^O.$Config{osvers} =~ m/^aix4\.2/;
sub hiphup {
is($_[1]->{signo}, SIGHUP, "SA_SIGINFO got right signal");
}
# 1506-294 (S) Syntax error in expression on #if directive.
#
case "$osvers" in
- 4.2.1.0) ccflags="$ccflags -D_XOPEN_SOURCE" ;;
- *) ;;
+ 4.2.1.0)
+ ccflags="$ccflags -D_XOPEN_SOURCE"
+ # aix 4.2 does not have IPv6 support
+ d_inetpton='undef'
+ d_inetntop='undef'
+ ;;
esac
nm_opt='-B'