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.

Reply via email to