summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.Merijn Brand <h.m.brand@xs4all.nl>2010-04-16 17:47:15 +0200
committerH.Merijn Brand <h.m.brand@xs4all.nl>2010-04-16 17:47:15 +0200
commit4f1623e5e854b85ee815e79fd4cf7f5c0c8cccb5 (patch)
treea2e9a3607ca319d479c9067e1357308c4791f6d3
parent657e06c98954af67a44f5f656146e090199a9e30 (diff)
downloadperl-4f1623e5e854b85ee815e79fd4cf7f5c0c8cccb5.tar.gz
[PATCH] [5.12] Allow build on aix 4.2 (sigaction and IPv6)
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.
-rw-r--r--ext/POSIX/t/sigaction.t1
-rwxr-xr-xhints/aix_4.sh8
2 files changed, 7 insertions, 2 deletions
diff --git a/ext/POSIX/t/sigaction.t b/ext/POSIX/t/sigaction.t
index fd6cf2de65..bb1b715785 100644
--- a/ext/POSIX/t/sigaction.t
+++ b/ext/POSIX/t/sigaction.t
@@ -192,6 +192,7 @@ SKIP: {
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");
}
diff --git a/hints/aix_4.sh b/hints/aix_4.sh
index 46b95b9083..08a689480a 100755
--- a/hints/aix_4.sh
+++ b/hints/aix_4.sh
@@ -119,8 +119,12 @@ case "$cc" in
# 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'