Change 30046 by [EMAIL PROTECTED] on 2007/01/27 23:25:32
Integrate:
[ 26958]
Subject: [PATCH] quiet gcc Info message in cygwin
From: Yitzchak Scott-Thoennes <[EMAIL PROTECTED]>
Date: Wed, 25 Jan 2006 19:16:09 -0800
Message-ID: <[EMAIL PROTECTED]>
[ 27212]
Don't add -fPIC if already present.
Subject: [PATCH] 5.8.8: Debian patches
From: "Brendan O'Dea" <[EMAIL PROTECTED]>
Date: Sat, 11 Feb 2006 00:37:15 +1100
Message-ID: <[EMAIL PROTECTED]>
[ 27250]
Subject: [PATCH] Make SDBM_File work with -Duse64bitall on Darwin (Mac
OS X)
From: Dominic Dunlop <[EMAIL PROTECTED]>
Date: Feb 20, 2006 1:46 PM
Message-Id: <[EMAIL PROTECTED]>
[ 27333]
Subject: [PATCH] Suppress System V IPC for 64-bit Darwin builds
From: Dominic Dunlop <[EMAIL PROTECTED]>
Date: Fri, 24 Feb 2006 17:22:54 +0100
Message-Id: <[EMAIL PROTECTED]>
[ 27995]
Anton Berezin says that on FreeBSD we're wrong to be using -lc_r, and
should just be using -pthread on the linker line.
This stops the new taint tests looping infinitely. It also seems to
cure the TODO test in posix.t - masked SIGINT is now received.
[ 28116]
Remvove code that gets undone in the next line.
Keep the documentation part.
[ 28155]
Add -fno-delete-null-pointer-checks to ccflags on Itaniums when
compiling with gcc's 3.2, 3.3, or 3.4. This fixes RT #37156.
[ 28309]
Sun C on Linux doesn't complain about the attributes sprinkled
through the code in all cases, even though attributes are not
supported. In some cases, however, it does.
[ 28446]
Solaris hints: gcc flags confuse Configure
Subject: [PATCH] (Was Re: [perl #39636] Configure fails)
From: Andy Dougherty <[EMAIL PROTECTED]>
Date: Wed, 28 Jun 2006 13:37:54 -0400 (EDT)
Message-ID: <[EMAIL PROTECTED]>
[ 28458]
Solaris' sh doesn't like empty if's
[ 28539]
Subject: [PATCH] z/OS: hints/os390.sh and Makefile.SH
From: Jarkko Hietaniemi <[EMAIL PROTECTED]>
Date: Mon, 10 Jul 2006 22:55:33 +0300
Message-ID: <[EMAIL PROTECTED]>
[ 28751]
Subject: [perl #40161] ccversion fix for hpux
From: [EMAIL PROTECTED] (via RT) <[EMAIL PROTECTED]>
Date: Wed, 16 Aug 2006 23:10:52 -0700
Message-ID: <[EMAIL PROTECTED]>
[ 28783]
Subject: [perl #40239] New hints file for MidnightBSD
From: Lucas Holt (via RT) <[EMAIL PROTECTED]>
Date: Fri, 25 Aug 2006 20:16:40 -0700
Message-ID: <[EMAIL PROTECTED]>
[ 28842]
Subject: [PATCH] (1) g++ 4.x (or Mac OS X) (2) Solaris g++ or CC
From: Jarkko Hietaniemi <[EMAIL PROTECTED]>
Date: Wed, 13 Sep 2006 20:19:04 +0300
Message-ID: <[EMAIL PROTECTED]>
Plus a tweak to the name of CC.
[ 28979]
Subject: [PATCH] Linux and Solaris hints: C++ vs dlerror
From: Jarkko Hietaniemi <[EMAIL PROTECTED]>
Date: Tue, 10 Oct 2006 14:00:40 +0300
Message-ID: <[EMAIL PROTECTED]>
[ 29334]
Remove description of WHOA THERE messages for recommended hint values,
removed by change #29288.
[ 29335]
Remove warnings against WHOA THERE warnings from the hints files.
[ 29596]
Subject: [PATCH] Re: 'localtime' not thread-safe under HP-UX B.11.11/64
From: "Jerry D. Hedden" <[EMAIL PROTECTED]>
Date: Mon, 18 Dec 2006 10:18:28 -0800 (PST)
Message-ID: <[EMAIL PROTECTED]>
[ 29777]
gcc -dumpversion is at least supported back to 2.7.x and
thus seems to be much more defensive against upcoming version
reporting format changes.
[ 29845]
Reentrant functions appear to still be broken in NetBSD 3.1.
Affected files ...
... //depot/maint-5.8/perl/INSTALL#39 integrate
... //depot/maint-5.8/perl/MANIFEST#296 integrate
... //depot/maint-5.8/perl/Makefile.SH#62 integrate
... //depot/maint-5.8/perl/README.macosx#6 integrate
... //depot/maint-5.8/perl/cflags.SH#6 integrate
... //depot/maint-5.8/perl/ext/SDBM_File/Makefile.PL#2 integrate
... //depot/maint-5.8/perl/hints/aix.sh#22 integrate
... //depot/maint-5.8/perl/hints/aix_3.sh#2 integrate
... //depot/maint-5.8/perl/hints/aix_4.sh#5 integrate
... //depot/maint-5.8/perl/hints/cygwin.sh#5 integrate
... //depot/maint-5.8/perl/hints/darwin.sh#31 integrate
... //depot/maint-5.8/perl/hints/dec_osf.sh#15 integrate
... //depot/maint-5.8/perl/hints/freebsd.sh#13 integrate
... //depot/maint-5.8/perl/hints/hpux.sh#11 integrate
... //depot/maint-5.8/perl/hints/linux.sh#14 integrate
... //depot/maint-5.8/perl/hints/machten.sh#4 integrate
... //depot/maint-5.8/perl/hints/machten_2.sh#3 integrate
... //depot/maint-5.8/perl/hints/midnightbsd.sh#1 branch
... //depot/maint-5.8/perl/hints/netbsd.sh#6 integrate
... //depot/maint-5.8/perl/hints/os390.sh#5 integrate
... //depot/maint-5.8/perl/hints/sco.sh#3 integrate
... //depot/maint-5.8/perl/hints/solaris_2.sh#18 integrate
... //depot/maint-5.8/perl/hints/sunos_4_1.sh#5 integrate
... //depot/maint-5.8/perl/hints/svr5.sh#4 integrate
... //depot/maint-5.8/perl/hints/ultrix_4.sh#6 integrate
... //depot/maint-5.8/perl/hints/umips.sh#3 integrate
... //depot/maint-5.8/perl/hints/vos.sh#5 integrate
... //depot/maint-5.8/perl/perl.h#148 integrate
Differences ...
==== //depot/maint-5.8/perl/INSTALL#39 (text) ====
Index: perl/INSTALL
--- perl/INSTALL#38~28441~ 2006-06-27 15:15:42.000000000 -0700
+++ perl/INSTALL 2007-01-27 15:25:32.000000000 -0800
@@ -1354,23 +1354,10 @@
=item *** WHOA THERE!!! ***
-Occasionally, Configure makes a wrong guess. For example, on SunOS
-4.1.3, Configure incorrectly concludes that tzname[] is in the
-standard C library. The hint file is set up to correct for this. You
-will see a message:
-
- *** WHOA THERE!!! ***
- The recommended value for $d_tzname on this machine was "undef"!
- Keep the recommended value? [y]
-
-You should always keep the recommended value unless, after reading the
-relevant section of the hint file, you are sure you want to try
-overriding it.
-
-If you are re-using an old config.sh, the word "previous" will be
-used instead of "recommended". Again, you will almost always want
-to keep the previous value, unless you have changed something on your
-system.
+If you are re-using an old config.sh, it's possible that Configure detects
+different values from the ones specified in this file. You will almost
+always want to keep the previous value, unless you have changed something
+on your system.
For example, suppose you have added libgdbm.a to your system
and you decide to reconfigure perl to use GDBM_File. When you run
==== //depot/maint-5.8/perl/MANIFEST#296 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#295~29985~ 2007-01-25 14:55:28.000000000 -0800
+++ perl/MANIFEST 2007-01-27 15:25:32.000000000 -0800
@@ -1073,6 +1073,7 @@
hints/lynxos.sh Hints for named architecture
hints/machten_2.sh Hints for named architecture
hints/machten.sh Hints for named architecture
+hints/midnightbsd.sh Hints for named architecture
hints/mint.sh Hints for named architecture
hints/mips.sh Hints for named architecture
hints/mpc.sh Hints for named architecture
==== //depot/maint-5.8/perl/Makefile.SH#62 (text) ====
Index: perl/Makefile.SH
--- perl/Makefile.SH#61~30029~ 2007-01-27 05:10:53.000000000 -0800
+++ perl/Makefile.SH 2007-01-27 15:25:32.000000000 -0800
@@ -95,7 +95,7 @@
linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+s
-Wl,+b$archlibexp/CORE -lperl"
;;
os390*)
- shrpldflags='-W l,dll'
+ shrpldflags='-W l,XPLINK,dll'
linklibperl='libperl.x'
DPERL_EXTERNAL_GLOB=''
;;
==== //depot/maint-5.8/perl/README.macosx#6 (text) ====
Index: perl/README.macosx
--- perl/README.macosx#5~26906~ 2006-01-18 11:00:58.000000000 -0800
+++ perl/README.macosx 2007-01-27 15:25:32.000000000 -0800
@@ -75,6 +75,37 @@
Apple includes with the 10.4u SDK are all universal, but user-installed
libraries
may need to be re-installed as universal binaries.
+=head2 64-bit PPC support
+
+Follow the instructions in F<INSTALL> to build perl with support for 64-bit
+integers (C<use64bitint>) or both 64-bit integers and 64-bit addressing
+(C<use64bitall>). In the latter case, the resulting binary will run only
+on G5-based hosts.
+
+Support for 64-bit addressing is experimental: some aspects of Perl may be
+omitted or buggy. Note the messages output by F<Configure> for further
+information. Please use C<perlbug> to submit a problem report in the
+event that you encounter difficulties.
+
+When building 64-bit modules, it is your responsiblity to ensure that linked
+external libraries and frameworks provide 64-bit support: if they do not,
+module building may appear to succeed, but attempts to use the module will
+result in run-time dynamic linking errors, and subsequent test failures.
+You can use C<file> to discover the architectures supported by a library:
+
+ $ file libgdbm.3.0.0.dylib
+ libgdbm.3.0.0.dylib: Mach-O fat file with 2 architectures
+ libgdbm.3.0.0.dylib (for architecture ppc): Mach-O dynamically linked
shared library ppc
+ libgdbm.3.0.0.dylib (for architecture ppc64): Mach-O 64-bit dynamically
linked shared library ppc64
+
+Note that this issue precludes the building of many Macintosh-specific CPAN
+modules (C<Mac::*>), as the required Apple frameworks do not provide PPC64
+support. Similarly, downloads from Fink or Darwinports are unlikely to provide
+64-bit support; the libraries must be rebuilt from source with the appropriate
+compiler and linker flags. For further information, see Apple's
+I<64-Bit Transition Guide> at
+L<http://developer.apple.com/documentation/Darwin/Conceptual/64bitPorting/index.html>.
+
=head2 libperl and Prebinding
Mac OS X ships with a dynamically-loaded libperl, but the default for
@@ -230,4 +261,4 @@
=head1 DATE
-Last modified 2005-11-07.
+Last modified 2006-02-24.
==== //depot/maint-5.8/perl/cflags.SH#6 (xtext) ====
Index: perl/cflags.SH
--- perl/cflags.SH#5~30033~ 2007-01-27 08:40:35.000000000 -0800
+++ perl/cflags.SH 2007-01-27 15:25:32.000000000 -0800
@@ -225,7 +225,26 @@
esac
case "$cc" in
-*g++*) ccflags="`echo $ccflags|sed 's/-Wdeclaration-after-statement/ /'`" ;;
+*g++*)
+ # We need to remove this also in here (removed early earlier).
+ ccflags="`echo $ccflags|sed 's/-Wdeclaration-after-statement/ /'`"
+ ;;
+esac
+
+case "$cc" in
+*g++*)
+ # Without -Wno-unused-variable g++ 4.x compiles are rather unwatchable
+ # because of all the warnings about Perl___notused, and g++ doesn't
+ # do __attribute__((unused)) (and even if at some stage it will), people
+ # do have older gcc installations. Yes, we lose some valid warnings.
+ for o in -Wno-unused-variable
+ do
+ case "$warn" in
+ *$o*) ;;
+ *) warn="$warn $o" ;;
+ esac
+ done
+ ;;
esac
: Can we perhaps use $ansi2knr here
==== //depot/maint-5.8/perl/ext/SDBM_File/Makefile.PL#2 (text) ====
Index: perl/ext/SDBM_File/Makefile.PL
--- perl/ext/SDBM_File/Makefile.PL#1~17645~ 2002-07-19 12:29:57.000000000
-0700
+++ perl/ext/SDBM_File/Makefile.PL 2007-01-27 15:25:32.000000000 -0800
@@ -6,8 +6,12 @@
# config, all, clean, realclean and sdbm/Makefile
# which perform the corresponding actions in the subdirectory.
+# Work around: Darwin ppc64 bug ignores archive contents when building bundles
+
$define = ($^O eq 'MSWin32') ? '-DMSDOS' : '';
if ($^O eq 'MSWin32') { $myextlib = 'sdbm\\libsdbm$(LIB_EXT)'; }
+elsif ($^O eq 'darwin' && $Config{'ldflags'} =~/-arch ppc64/) {
+ $myextlib = '-all_load sdbm/libsdbm$(LIB_EXT)'; }
else { $myextlib = 'sdbm/libsdbm$(LIB_EXT)'; }
WriteMakefile(
==== //depot/maint-5.8/perl/hints/aix.sh#22 (text) ====
Index: perl/hints/aix.sh
--- perl/hints/aix.sh#21~25470~ 2005-09-18 08:00:31.000000000 -0700
+++ perl/hints/aix.sh 2007-01-27 15:25:32.000000000 -0800
@@ -109,7 +109,7 @@
ccdlflags='-Xlinker'
if [ "X$gccversion" = "X" ]; then
# Done too late in Configure if hinted
- gccversion=`$cc --version | sed 's/.*(GCC) *//'`
+ gccversion=`$cc -dumpversion`
fi
;;
==== //depot/maint-5.8/perl/hints/aix_3.sh#2 (text) ====
Index: perl/hints/aix_3.sh
--- perl/hints/aix_3.sh#1~22277~ 2004-02-07 11:03:40.000000000 -0800
+++ perl/hints/aix_3.sh 2007-01-27 15:25:32.000000000 -0800
@@ -91,7 +91,7 @@
ccdlflags='-Xlinker'
if [ "X$gccversion" = "X" ]; then
# Done too late in Configure if hinted
- gccversion=`$cc --version | sed 's/.*(GCC) *//'`
+ gccversion=`$cc -dumpversion`
fi
;;
==== //depot/maint-5.8/perl/hints/aix_4.sh#5 (xtext) ====
Index: perl/hints/aix_4.sh
--- perl/hints/aix_4.sh#4~23305~ 2004-09-09 23:25:00.000000000 -0700
+++ perl/hints/aix_4.sh 2007-01-27 15:25:32.000000000 -0800
@@ -130,7 +130,7 @@
ccdlflags='-Xlinker'
if [ "X$gccversion" = "X" ]; then
# Done too late in Configure if hinted
- gccversion=`$cc --version | sed 's/.*(GCC) *//'`
+ gccversion=`$cc -dumpversion`
fi
;;
==== //depot/maint-5.8/perl/hints/cygwin.sh#5 (text) ====
Index: perl/hints/cygwin.sh
--- perl/hints/cygwin.sh#4~22388~ 2004-02-26 12:07:31.000000000 -0800
+++ perl/hints/cygwin.sh 2007-01-27 15:25:32.000000000 -0800
@@ -53,6 +53,9 @@
# Win9x problem with non-blocking read from a closed pipe
d_eofnblk='define'
+# suppress auto-import warnings
+ldflags="$ldflags -Wl,--enable-auto-import"
+
# strip exe's and dll's
#ldflags="$ldflags -s"
#ccdlflags="$ccdlflags -s"
==== //depot/maint-5.8/perl/hints/darwin.sh#31 (text) ====
Index: perl/hints/darwin.sh
--- perl/hints/darwin.sh#30~25470~ 2005-09-18 08:00:31.000000000 -0700
+++ perl/hints/darwin.sh 2007-01-27 15:25:32.000000000 -0800
@@ -217,16 +217,21 @@
*** Perl 64-bit addressing support is experimental for Mac OS X
-*** 10.4 ("Tiger") and Darwin version 8. Expect a number of test
-*** failures:
-*** ext/IO/io_* ext/IPC/sysV/t/* lib/Net/Ping/t/450_service
-*** Any test that uses sdbm
+*** 10.4 ("Tiger") and Darwin version 8. System V IPC is disabled
+*** due to problems with the 64-bit versions of msgctl, semctl,
+*** and shmctl. You should also expect the following test failures:
+***
+*** ext/threads/shared/t/wait (threaded builds only)
EOM
for var in ccflags cppflags ld ldflags
do
eval $var="\$${var}\ -arch\ ppc64"
done
+
+ [ "$d_msgctl" ] || d_msgctl='undef'
+ [ "$d_semctl" ] || d_semctl='undef'
+ [ "$d_shmctl" ] || d_shmctl='undef'
;;
esac
fi
==== //depot/maint-5.8/perl/hints/dec_osf.sh#15 (text) ====
Index: perl/hints/dec_osf.sh
--- perl/hints/dec_osf.sh#14~30045~ 2007-01-27 15:04:25.000000000 -0800
+++ perl/hints/dec_osf.sh 2007-01-27 15:25:32.000000000 -0800
@@ -71,7 +71,7 @@
case "$isgcc" in
gcc) if [ "X$gccversion" = "X" ]; then
# Done too late in Configure if hinted
- gccversion=`$cc --version | sed 's/.*(GCC) *//'`
+ gccversion=`$cc -dumpversion`
fi
set $gccversion
if test "$1" -lt 2 -o \( "$1" -eq 2 -a \( "$2" -lt 95 -o \( "$2" -eq 95
-a "$3" -lt 3 \) \) \); then
==== //depot/maint-5.8/perl/hints/freebsd.sh#13 (text) ====
Index: perl/hints/freebsd.sh
--- perl/hints/freebsd.sh#12~22587~ 2004-03-24 15:00:59.000000000 -0800
+++ perl/hints/freebsd.sh 2007-01-27 15:25:32.000000000 -0800
@@ -222,19 +222,20 @@
EOM
exit 1
fi
- case "$osvers" in
# 500016 is the first osreldate in which one could
# just link against libc_r without disposing of libc
# at the same time. 500016 ... up to whatever it was
# on the 31st of August 2003 can still be used with -pthread,
# but it is not necessary.
- 5.*) if [ `/sbin/sysctl -n kern.osreldate` -lt 500016 ]; then
- ldflags="-pthread $ldflags"
- fi
- ;;
- *) ldflags="-pthread $ldflags"
- ;;
- esac
+
+ # Anton Berezin says that post 500something we're wrong to be
+ # to be using -lc_r, and should just be using -pthread on the
+ # linker line.
+ # So presumably really we should be checking that $osver is 5.*)
+ # and that `/sbin/sysctl -n kern.osreldate` -ge 500016
+ # or -lt 500something and only in that range not doing this:
+ ldflags="-pthread $ldflags"
+
# Both in 4.x and 5.x gethostbyaddr_r exists but
# it is "Temporary function, not threadsafe"...
# Presumably earlier it didn't even exist.
@@ -244,9 +245,19 @@
esac
- set `echo X "$libswanted "| sed -e 's/ c / c_r /'`
- shift
- libswanted="$*"
+ case "$osvers" in
+ [1-4]*)
+ set `echo X "$libswanted "| sed -e 's/ c / c_r /'`
+ shift
+ libswanted="$*"
+ ;;
+ *)
+ set `echo X "$libswanted "| sed -e 's/ c //'`
+ shift
+ libswanted="$*"
+ ;;
+ esac
+
# Configure will probably pick the wrong libc to use for nm scan.
# The safest quick-fix is just to not use nm at all...
usenm=false
==== //depot/maint-5.8/perl/hints/hpux.sh#11 (text) ====
Index: perl/hints/hpux.sh
--- perl/hints/hpux.sh#10~26771~ 2006-01-10 08:09:53.000000000 -0800
+++ perl/hints/hpux.sh 2007-01-27 15:25:32.000000000 -0800
@@ -78,7 +78,7 @@
ccflags="$cc_cppflags"
if [ "X$gccversion" = "X" ]; then
# Done too late in Configure if hinted
- gccversion=`$cc --version | sed 's/.*(GCC) *//'`
+ gccversion=`$cc -dumpversion`
fi
case "$gccversion" in
[012]*) # HP-UX and gcc-2.* break UINT32_MAX :-(
@@ -157,7 +157,7 @@
done
[ -z "$cc_found" ] && cc_found=`which cc`
what $cc_found >&4
- ccversion=`what $cc_found | awk '/Compiler/{print
$2}/Itanium/{print $6,$7}'`
+ ccversion=`what $cc_found | awk '/Compiler/{print
$2}/Itanium/{print $6,$7}/for Integrity/{print $7}'`
case "$ccflags" in
"-Ae "*) ;;
*) ccflags="-Ae $cc_cppflags"
@@ -247,7 +247,7 @@
PA-RISC*)
loclibpth="$loclibpth /lib/pa20_64"
libc='/lib/pa20_64/libc.sl' ;;
- IA64*)
+ IA64*)
loclibpth="$loclibpth /usr/lib/hpux64"
libc='/usr/lib/hpux64/libc.so' ;;
esac
@@ -305,7 +305,7 @@
case "$archname" in
PA-RISC*)
libc='/lib/libc.sl' ;;
- IA64*)
+ IA64*)
loclibpth="$loclibpth /usr/lib/hpux32"
libc='/usr/lib/hpux32/libc.so' ;;
esac
@@ -365,7 +365,7 @@
case "$ccisgcc" in
$define|true|[Yy])
-
+
case "$optimize" in
"") optimize="-g -O" ;;
*O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;;
@@ -440,7 +440,7 @@
fi
#case "$uselargefiles-$ccisgcc" in
-# "$define-$define"|'-define')
+# "$define-$define"|'-define')
# cat <<EOM >&4
#
#*** I'm ignoring large files for this build because
@@ -504,7 +504,7 @@
EOCBU
cat >UU/uselargefiles.cbu <<'EOCBU'
-# This script UU/uselargefiles.cbu will get 'called-back' by Configure
+# This script UU/uselargefiles.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use large files.
case "$uselargefiles" in
""|$define|true|[yY]*)
@@ -531,7 +531,7 @@
# THREADING
-# This script UU/usethreads.cbu will get 'called-back' by Configure
+# This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads.
cat >UU/usethreads.cbu <<'EOCBU'
case "$usethreads" in
@@ -599,7 +599,7 @@
localtime_r_proto='REENTRANT_PROTO_I_TS'
# Avoid the poisonous conflicting (and irrelevant)
- # prototypes of setkey().
+ # prototypes of setkey ().
i_crypt="$undef"
# CMA redefines select to cma_select, and cma_select
@@ -639,32 +639,24 @@
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
shift
libswanted="$*"
- fi
+ # HP-UX 11.X seems to have no easy
+ # way of detecting these *time_r protos.
+ d_gmtime_r_proto='define'
+ gmtime_r_proto='REENTRANT_PROTO_S_TS'
+ d_localtime_r_proto='define'
+ localtime_r_proto='REENTRANT_PROTO_S_TS'
+ fi
;;
esac
EOCBU
-# The mysterious io_xs memory corruption in 11.00 32bit seems to get
-# fixed by not using Perl's malloc. Flip side is performance loss.
-# So we want mymalloc for all situations possible
-usemymalloc='y'
-case "$usethreads" in
- $define|true|[yY]*) usemymalloc='n' ;;
- *) case "$ccisgcc" in
- $undef|false|[nN]*)
- case "$use64bitint" in
- $undef|false|[nN]*)
- case "$ccflags" in
- *-DDEBUGGING*) ;;
- *) usemymalloc='n' ;;
- esac
- ;;
- esac
- ;;
- esac
- ;;
- esac
+# There used to be:
+# The mysterious io_xs memory corruption in 11.00 32bit seems to get
+# fixed by not using Perl's malloc. Flip side is performance loss.
+# So we want mymalloc for all situations possible
+# That set usemymalloc to 'n' for threaded builds and non-gcc 32bit
+# non-debugging builds and 'y' for all others
usemymalloc='n'
case "$useperlio" in
@@ -673,10 +665,10 @@
# malloc wrap works
case "$usemallocwrap" in
-'') usemallocwrap='define' ;;
-esac
+ '') usemallocwrap='define' ;;
+ esac
-# ctime_r() and asctime_r() seem to have issues for versions before
+# ctime_r () and asctime_r () seem to have issues for versions before
# HP-UX 11
if [ $xxOsRevMajor -lt 11 ]; then
d_ctime_r="$undef"
@@ -684,7 +676,7 @@
fi
-# fpclassify() is a macro, the library call is Fpclassify
+# fpclassify () is a macro, the library call is Fpclassify
# Similarly with the others below.
d_fpclassify='define'
d_isnan='define'
==== //depot/maint-5.8/perl/hints/linux.sh#14 (text) ====
Index: perl/hints/linux.sh
--- perl/hints/linux.sh#13~30033~ 2007-01-27 08:40:35.000000000 -0800
+++ perl/hints/linux.sh 2007-01-27 15:25:32.000000000 -0800
@@ -89,6 +89,15 @@
optimize='-xO2'
cccdlflags='-KPIC'
lddlflags='-G -Bdynamic'
+ # Sun C doesn't support gcc attributes, but, in many cases, doesn't
+ # complain either. Not all cases, though.
+ d_attribute_format='undef'
+ d_attribute_malloc='undef'
+ d_attribute_nonnull='undef'
+ d_attribute_noreturn='undef'
+ d_attribute_pure='undef'
+ d_attribute_unused='undef'
+ d_attribute_warn_unused_result='undef'
;;
esac
@@ -99,9 +108,19 @@
case "`uname -m`" in
ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
- # with -O2 ; so downgrade to -O1.
+ # with -O2 ; so downgrade to -O1.
optimize='-O1'
;;
+ ia64*)
+ # This architecture has had various problems with gcc's
+ # in the 3.2, 3.3, and 3.4 releases when optimized to -O2. See
+ # RT #37156 for a discussion of the problem.
+ case "`${cc:-gcc} -v 2>&1`" in
+ *"version 3.2"*|*"version 3.3"*|*"version 3.4"*)
+ ccflags="-fno-delete-null-pointer-checks $ccflags"
+ ;;
+ esac
+ ;;
esac
;;
esac
@@ -263,6 +282,7 @@
sparc*)
case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
+ *-fPIC*) ;;
*) cccdlflags="$cccdlflags -fPIC" ;;
esac
;;
@@ -344,3 +364,11 @@
;;
esac
+# If using g++, the Configure scan for dlopen() and (especially)
+# dlerror() might fail, easier just to forcibly hint them in.
+case "$cc" in
+*g++*)
+ d_dlopen='define'
+ d_dlerror='define'
+ ;;
+esac
==== //depot/maint-5.8/perl/hints/machten.sh#4 (text) ====
Index: perl/hints/machten.sh
--- perl/hints/machten.sh#3~22616~ 2004-03-31 02:43:26.000000000 -0800
+++ perl/hints/machten.sh 2007-01-27 15:25:32.000000000 -0800
@@ -249,31 +249,6 @@
cat <<EOM >&4
-During Configure, you may see the message
-
-*** WHOA THERE!!! ***
- The recommended value for \$d_msg on this machine was "undef"!
- Keep the recommended value? [y]
-
-as well as similar messages concerning \$d_sem and \$d_shm. Select the
-default answers: MachTen 4.1 appears to provide System V IPC support,
-but it is incomplete and buggy: perl should be built without it.
-Similar considerations apply to memory mapping of files, controlled
-by \$d_mmap and \$d_munmap.
-
-Similarly, when you see
-
-*** WHOA THERE!!! ***
- The recommended value for \$d_vfork on this machine was "define"!
- Keep the recommended value? [y]
-
-select the default answer: vfork() works, and avoids expensive data
-copying.
-
-You may also see "WHOA THERE!!!" messages concerning \$d_getspnam.
-Select the default answer: MachTen's support for shadow password
-file access is incomplete, and should not be used.
-
At the end of Configure, you will see a harmless message
Hmm...You had some extra variables I don't know about...I'll try to keep 'em.
==== //depot/maint-5.8/perl/hints/machten_2.sh#3 (text) ====
Index: perl/hints/machten_2.sh
--- perl/hints/machten_2.sh#2~18286~ 2002-12-11 06:43:36.000000000 -0800
+++ perl/hints/machten_2.sh 2007-01-27 15:25:32.000000000 -0800
@@ -78,9 +78,6 @@
cat <<'EOM' >&4
-During Configure, you may get two "WHOA THERE" messages, for $d_setlocale
-and $i_db being 'undef'. You may keep the undef value.
-
At the end of Configure, you will see a harmless message
Hmm...You had some extra variables I don't know about...I'll try to keep 'em.
==== //depot/maint-5.8/perl/hints/midnightbsd.sh#1 (text) ====
Index: perl/hints/midnightbsd.sh
--- /dev/null 2007-01-16 11:55:45.526841103 -0800
+++ perl/hints/midnightbsd.sh 2007-01-27 15:25:32.000000000 -0800
@@ -0,0 +1,61 @@
+usevfork='true'
+case "$usemymalloc" in
+ "") usemymalloc='n'
+ ;;
+esac
+libswanted=`echo $libswanted | sed 's/ malloc / /'`
+
+objformat=`/usr/bin/objformat`
+if [ x$objformat = xelf ]; then
+ libpth="/usr/lib /usr/local/lib"
+ glibpth="/usr/lib /usr/local/lib"
+ ldflags="-Wl,-E "
+ lddlflags="-shared "
+else
+ if [ -e /usr/lib/aout ]; then
+ libpth="/usr/lib/aout /usr/local/lib /usr/lib"
+ glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
+ fi
+ lddlflags='-Bshareable'
+fi
+cccdlflags='-DPIC -fPIC'
+
+ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
+if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then
+ usenm=false
+fi
+
+signal_t='void'
+d_voidsig='define'
+
+# This script UU/usethreads.cbu will get 'called-back' by Configure
+# after it has prompted the user for whether to use threads.
+cat > UU/usethreads.cbu <<'EOCBU'
+case "$usethreads" in
+$define|true|[yY]*)
+ lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`
+ ldflags="-pthread $ldflags"
+ d_gethostbyaddr_r="undef"
+ d_gethostbyaddr_r_proto="0"
+
+ set `echo X "$libswanted "| sed -e 's/ c / c_r /'`
+ shift
+ libswanted="$*"
+ # Configure will probably pick the wrong libc to use for nm scan.
+ # The safest quick-fix is just to not use nm at all...
+ usenm=false
+
+ unset lc_r
+
+ # Even with the malloc mutexes the Perl malloc does not
+ # seem to be threadsafe in MidnightBSD?
+ case "$usemymalloc" in
+ '') usemymalloc=n ;;
+ esac
+esac
+EOCBU
+
+# malloc wrap works
+case "$usemallocwrap" in
+'') usemallocwrap='define' ;;
+esac
==== //depot/maint-5.8/perl/hints/netbsd.sh#6 (text) ====
Index: perl/hints/netbsd.sh
--- perl/hints/netbsd.sh#5~28437~ 2006-06-27 14:21:12.000000000 -0700
+++ perl/hints/netbsd.sh 2007-01-27 15:25:32.000000000 -0800
@@ -134,7 +134,7 @@
# been added to the header files yet. Let's hold off on using
# them until they are a valid part of the API
case "$osvers" in
- [012].*|3.0)
+ [012].*|3.[0-1])
d_getprotobyname_r=$undef
d_getprotobynumber_r=$undef
d_getprotoent_r=$undef
==== //depot/maint-5.8/perl/hints/os390.sh#5 (text) ====
Index: perl/hints/os390.sh
--- perl/hints/os390.sh#4~19370~ 2003-05-01 00:57:19.000000000 -0700
+++ perl/hints/os390.sh 2007-01-27 15:25:32.000000000 -0800
@@ -24,7 +24,7 @@
'') ld='c89' ;;
esac
-# -DMAXSIG=38 maximum signal number
+# -DMAXSIG=39 maximum signal number
# -DOEMVS is used in place of #ifdef __MVS__ in certain places.
# -D_OE_SOCKETS alters system headers.
# -D_XOPEN_SOURCE_EXTENDEDA alters system headers.
@@ -33,8 +33,8 @@
# -DEBCDIC should come from Configure and need not be mentioned here.
# Prepend your favorites with Configure -Dccflags=your_favorites
case "$ccflags" in
-'') ccflags='-DMAXSIG=38 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED
-D_ALL_SOURCE -DYYDYNAMIC' ;;
-*) ccflags="$ccflags -DMAXSIG=38 -DOEMVS -D_OE_SOCKETS
-D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC" ;;
+'') ccflags='-2 -Wc,XPLINK -DMAXSIG=39 -DOEMVS -D_OE_SOCKETS
-D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC' ;;
+*) ccflags="$ccflags -2 -Wc,XPLINK -DMAXSIG=39 -DOEMVS -D_OE_SOCKETS
-D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC" ;;
esac
# Turning on optimization breaks perl.
@@ -72,7 +72,7 @@
# information at the end of the executable (=> smaller binaries).
# Override this option with -Dldflags='whatever else you wanted'.
case "$ldflags" in
-'') ldflags='-Wl,EDIT=NO' ;;
+'') ldflags='-Wl,EDIT=NO -Wl,XPLINK,dll' ;;
esac
# In order to build with dynamic be sure to specify:
@@ -111,11 +111,11 @@
esac
libperl="libperl.$so"
ccflags="$ccflags -D_SHR_ENVIRON -DPERL_EXTERNAL_GLOB -Wc,dll"
- cccdlflags='-c -Wc,dll,EXPORTALL'
+ cccdlflags='-c -Wc,XPLINK,dll,EXPORTALL'
# The following will need to be modified for the installed libperl.x.
# The modification to Config.pm is done by the installperl script after
the build and test.
- ccdlflags="-W l,dll `pwd`/libperl.x"
- lddlflags="-W l,dll `pwd`/libperl.x"
+ ccdlflags="-W l,XPLINK,dll `pwd`/libperl.x"
+ lddlflags="-W l,XPLINK,dll `pwd`/libperl.x"
;;
esac
# even on static builds using LIBPATH should be OK.
@@ -158,10 +158,10 @@
# under a compiler other than c89.
case "$usedl" in
define)
-echo 'cat >.$$.c; '"$cc"' -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE
-D_SHR_ENVIRON -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin
+echo 'cat >.$$.c; '"$cc"' -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE
-D_SHR_ENVIRON -E -Wc,"LANGLVL(DOLLARINNAMES)",NOLOC ${1+"$@"} .$$.c | grep -v
"??="; rm .$$.c' > cppstdin
;;
*)
-echo 'cat >.$$.c; '"$cc"' -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE
-E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin
+echo 'cat >.$$.c; '"$cc"' -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE
-E -Wc,"LANGLVL(DOLLARINNAMES)",NOLOC ${1+"$@"} .$$.c | grep -v "??="; rm
.$$.c' > cppstdin
;;
esac
@@ -225,3 +225,9 @@
ccflags="$ccflags -W 0,float(ieee)"
__CONFIG_ARCH__
+
+# Configure gets these wrong for some reason.
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+
==== //depot/maint-5.8/perl/hints/sco.sh#3 (text) ====
Index: perl/hints/sco.sh
--- perl/hints/sco.sh#2~23709~ 2004-12-29 13:58:08.000000000 -0800
+++ perl/hints/sco.sh 2007-01-27 15:25:32.000000000 -0800
@@ -244,7 +244,6 @@
###############################################################
# Perl 5.003_05 and later try to include both <time.h> and <sys/select.h>
# in pp_sys.c, but that fails due to a redefinition of struct timeval.
-# This will generate a WHOA THERE. Accept the default.
i_sysselct=$undef
==== //depot/maint-5.8/perl/hints/solaris_2.sh#18 (text) ====
Index: perl/hints/solaris_2.sh
--- perl/hints/solaris_2.sh#17~30036~ 2007-01-27 09:35:47.000000000 -0800
+++ perl/hints/solaris_2.sh 2007-01-27 15:25:32.000000000 -0800
@@ -404,13 +404,6 @@
if test "`arch`" = i86pc -a `uname -r` = 5.6 && \
${cc:-cc} try.c -lpthread >/dev/null 2>&1 && ./a.out; then
d_sigsetjmp=$undef
- cat << 'EOM' >&2
-
-You will see a *** WHOA THERE!!! *** message from Configure for
-d_sigsetjmp. Keep the recommended value. See hints/solaris_2.sh
-for more information.
-
-EOM
fi
# These prototypes should be visible since we using
@@ -548,12 +541,13 @@
ccflags="$ccflags -mcpu=v9"
fi
ccflags="$ccflags -m64"
- if test $processor = sparc -a X`getconf XBS5_LP64_OFF64_CFLAGS
2>/dev/null` != X; then
- # This adds in -Wa,-xarch=v9. I suspect that's superfluous,
- # since the -m64 above should do that already. Someone
- # with gcc-3.x.x, please test with gcc -v. A.D.
20-Nov-2003
- ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS
2>/dev/null`"
- fi
+
+ # This adds in -Wa,-xarch=v9. I suspect that's superfluous,
+ # since the -m64 above should do that already. Someone
+ # with gcc-3.x.x, please test with gcc -v. A.D. 20-Nov-2003
+# if test $processor = sparc -a X`getconf XBS5_LP64_OFF64_CFLAGS
2>/dev/null` != X; then
+# ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS
2>/dev/null`"
+# fi
ldflags="$ldflags -m64"
lddlflags="$lddlflags -G -m64"
;;
@@ -634,21 +628,11 @@
# (2) #include <dlfcn.h> is needed, *and* a cast to (void*(*)())
# is needed for the &dlopen. Adding any of these would require changing
# a delicate spot in Configure, so easier just to force our guess here
-# for Solaris.
+# for Solaris. Much the same goes for dlerror().
case "$cc" in
-*g++*|/opt/SUNWspro/bin/CC) d_dlopen='define' ;;
-esac
-
-# The Sun C++ doesn't define the global environ array.
-case "$cc" in
-/opt/SUNWspro/bin/CC)
- for o in NO_ENVIRON_ARRAY PERL_USE_SAFE_PUTENV
- do
- case "$ccflags" in
- *$o*) ;;
- *) ccflags="$ccflags $o" ;;
- esac
- done
+*g++*|*CC*)
+ d_dlopen='define'
+ d_dlerror='define'
;;
esac
==== //depot/maint-5.8/perl/hints/sunos_4_1.sh#5 (text) ====
Index: perl/hints/sunos_4_1.sh
--- perl/hints/sunos_4_1.sh#4~20897~ 2003-08-25 12:56:08.000000000 -0700
+++ perl/hints/sunos_4_1.sh 2007-01-27 15:25:32.000000000 -0800
@@ -9,14 +9,12 @@
*) usevfork=true ;;
esac
-# Configure will issue a WHOA warning. The problem is that
# Configure finds getzname, not tzname. If you're in the System V
# environment, you can set d_tzname='define' since tzname[] is
# available in the System V environment.
d_tzname='undef'
-# Configure will issue a WHOA warning. The problem is that unistd.h
-# contains incorrect prototypes for some functions in the usual
+# unistd.h contains incorrect prototypes for some functions in the usual
# BSD-ish environment. In particular, it has
# extern int getgroups(/* int gidsetsize, gid_t grouplist[] */);
# but groupslist[] ought to be of type int, not gid_t.
@@ -40,13 +38,6 @@
# fflush() them. -- Andy Dougherty Wed May 26 15:25:22 EDT 1999
util_cflags='ccflags="$ccflags -DPERL_FFLUSH_ALL_FOPEN_MAX=32"'
-cat << 'EOM' >&4
-
-You will probably see *** WHOA THERE!!! *** messages from Configure for
-d_tzname and i_unistd. Keep the recommended values. See
-hints/sunos_4_1.sh for more information.
-EOM
-
# The correct setting of groupstype depends on which version of the C
# library is used. If you are in the 'System V environment'
# (i.e. you have /usr/5bin ahead of /usr/bin in your PATH), and
==== //depot/maint-5.8/perl/hints/svr5.sh#4 (text) ====
Index: perl/hints/svr5.sh
--- perl/hints/svr5.sh#3~19439~ 2003-05-07 10:11:48.000000000 -0700
+++ perl/hints/svr5.sh 2007-01-27 15:25:32.000000000 -0800
@@ -12,7 +12,7 @@
# "$gccversion" not set yet
if [ "X$gccversion" = "X" ]; then
# Done too late in Configure if hinted
- gccversion=`$cc --version | sed 's/.*(GCC) *//'`
+ gccversion=`$cc -dumpversion`
fi
case $gccversion in
*2.95*)
==== //depot/maint-5.8/perl/hints/ultrix_4.sh#6 (text) ====
Index: perl/hints/ultrix_4.sh
--- perl/hints/ultrix_4.sh#5~20926~ 2003-08-28 09:45:10.000000000 -0700
+++ perl/hints/ultrix_4.sh 2007-01-27 15:25:32.000000000 -0800
@@ -60,8 +60,7 @@
util_cflags='ccflags="$ccflags -DLOCALE_ENVIRON_REQUIRED"'
groupstype='int'
-# This will cause a WHOA THERE warning, but it's accurate. The
-# configure test should be beefed up to try using the field when
+# The configure test should be beefed up to try using the field when
# it can't find any of the standardly-named fields.
d_dirnamlen='define'
==== //depot/maint-5.8/perl/hints/umips.sh#3 (text) ====
Index: perl/hints/umips.sh
--- perl/hints/umips.sh#2~18286~ 2002-12-11 06:43:36.000000000 -0800
+++ perl/hints/umips.sh 2007-01-27 15:25:32.000000000 -0800
@@ -31,7 +31,6 @@
# POSIX support in RiscOS is not useable
useposix='false'
-# Will give WHOA message, but the prototype are defined in the GCC inc dirs
case "$cc" in
*gcc*) d_shmatprototype='define' ;;
esac
==== //depot/maint-5.8/perl/hints/vos.sh#5 (text) ====
Index: perl/hints/vos.sh
--- perl/hints/vos.sh#4~21796~ 2003-11-28 12:05:30.000000000 -0800
+++ perl/hints/vos.sh 2007-01-27 15:25:32.000000000 -0800
@@ -110,7 +110,7 @@
gccbug=`$run ./t001`
if [ "X$gccversion" = "X" ]; then
# Done too late in Configure if hinted
- gccversion=`$cc --version | sed 's/.*(GCC) *//'`
+ gccversion=`$cc -dumpversion`
fi
case "$gccbug" in
*fails*) cat >&4 <<EOF
==== //depot/maint-5.8/perl/perl.h#148 (text) ====
Index: perl/perl.h
--- perl/perl.h#147~30045~ 2007-01-27 15:04:25.000000000 -0800
+++ perl/perl.h 2007-01-27 15:25:32.000000000 -0800
@@ -1083,15 +1083,16 @@
# endif
#endif
-#if defined(__osf__) && defined(__cplusplus) &&
!defined(_XOPEN_SOURCE_EXTENDED)
+#if defined(__osf__) && defined(__cplusplus) &&
!defined(_XOPEN_SOURCE_EXTENDED) /* Tru64 "cxx" (C++), see hints/dec_osf.sh for
why the _XOPEN_SOURCE_EXTENDED cannot be defined. */
EXTERN_C int fchdir(int);
EXTERN_C int flock(int, int);
EXTERN_C int fseeko(FILE *, off_t, int);
EXTERN_C off_t ftello(FILE *);
#endif
-#if defined(__SUNPRO_CC)
+#if defined(__SUNPRO_CC) /* SUNWspro CC (C++) */
EXTERN_C char *crypt(const char *, const char *);
+EXTERN_C char **environ;
#endif
#ifdef SETERRNO
End of Patch.