This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate:
authorNicholas Clark <nick@ccl4.org>
Sat, 5 Feb 2005 15:07:43 +0000 (15:07 +0000)
committerNicholas Clark <nick@ccl4.org>
Sat, 5 Feb 2005 15:07:43 +0000 (15:07 +0000)
[ 23807]
Fix for building with MinGW under Cygwin

Subject: [PATCH] building win32 perl with cygwin's mingw (was: Re: [PATCH] Re: lib/Config/Extensions.t fails on Win32)
From: Yitzchak Scott-Thoennes <sthoenna@efn.org>
Date: Thu, 13 Jan 2005 16:11:36 -0800
Message-ID: <20050114001136.GC2516@efn.org>

[ 23849]
Subject: [perl #33892] Add Interix support
From: Todd Vierling (via RT) <perlbug-followup@perl.org>
Date: 21 Jan 2005 14:36:31 -0000
Message-ID: <rt-3.0.11-33892-106280.17.6407478352545@perl.org>

(except the Configure chunk)
(and bump version numbers of modules)
[and except the dual life modules chunk]

[ 23862]
Subject: Re: Smoke [5.9.2] 23792 FAIL(F) osf1 V5.1 (21264A)/4 cpu)
From: Jarkko Hietaniemi <jhi@iki.fi>
Message-ID: <41F2911E.8090204@iki.fi>
Date: Sat, 22 Jan 2005 19:45:02 +0200

(drop optimisation on pp_pack.c for gcc on osf1 to -O1)

[ 23864]
Subject: Re: Smoke [5.9.2] 23792 FAIL(F) osf1 V5.1 (21264A)/4 cpu)
From: Jarkko Hietaniemi <jhi@iki.fi>
Message-ID: <41F2C427.7020003@iki.fi>
Date: Sat, 22 Jan 2005 23:22:47 +0200

[ 23909]
Subject: [perl #33998] [PATCH] Support for GNU/kFreeBSD
From: "rmh@debian.org (via RT)" <perlbug-followup@perl.org>
Date: 31 Jan 2005 07:37:55 -0000
Message-ID: <rt-3.0.11-33998-106860.15.2609323921089@perl.org>

[ 23910]
Add all the missing gnuk{free,net}bsd hints files to MANIFEST

[ 23917]
"All" "all?" Who said all? There were 2 more missing gnuk{free,net}bsd
hints files to add to MANIFEST. Sort MANIFEST
while I'm in the area.
p4raw-link: @23917 on //depot/perl: b2de6a21dcc23a8be547019830dfeac642d34c3f
p4raw-link: @23910 on //depot/perl: 4b5bf9a685821e2bf3efb2542e8e8d6ca57c3194
p4raw-link: @23909 on //depot/perl: fb2e1bc0638d5a5d7ac552a79a71a996a5d604cc
p4raw-link: @23864 on //depot/perl: 0fae7d620a2a93c5758d63b6ec89d596930b4589
p4raw-link: @23862 on //depot/perl: 61ba5045923c2764dd186c0e8c1f665460baf428
p4raw-link: @23849 on //depot/perl: 0c52c6a9db5934c6cadc50a4a66634da7bea4268
p4raw-link: @23807 on //depot/perl: 22402b4762ced374b42179386a54f4055120b9fb

p4raw-id: //depot/maint-5.8/perl@23936
p4raw-branched: from //depot/perl@23934 'branch in'
ext/DynaLoader/hints/gnukfreebsd.pl
ext/DynaLoader/hints/gnuknetbsd.pl
ext/NDBM_File/hints/gnukfreebsd.pl
ext/NDBM_File/hints/gnuknetbsd.pl
ext/ODBM_File/hints/gnukfreebsd.pl
ext/ODBM_File/hints/gnuknetbsd.pl
ext/POSIX/hints/gnukfreebsd.pl ext/POSIX/hints/gnuknetbsd.pl
ext/Storable/hints/gnukfreebsd.pl
ext/Storable/hints/gnuknetbsd.pl hints/gnukfreebsd.sh
hints/gnuknetbsd.sh
p4raw-integrated: from //depot/perl@23934 'copy in' t/op/groups.t
(@15977..) t/io/openpid.t (@19371..) lib/File/Find.pm
(@23510..) ext/Errno/Errno_pm.PL (@23584..) 'merge in'
Makefile.SH (@23751..) Configure (@23848..)
p4raw-integrated: from //depot/perl@23910 'edit in' MANIFEST (@23877..)
p4raw-integrated: from //depot/perl@23862 'ignore' hints/dec_osf.sh
(@22585..)
p4raw-branched: from //depot/perl@23849 'branch in' hints/interix.sh

21 files changed:
Configure
MANIFEST
Makefile.SH
ext/DynaLoader/hints/gnukfreebsd.pl [new file with mode: 0644]
ext/DynaLoader/hints/gnuknetbsd.pl [new file with mode: 0644]
ext/Errno/Errno_pm.PL
ext/NDBM_File/hints/gnukfreebsd.pl [new file with mode: 0644]
ext/NDBM_File/hints/gnuknetbsd.pl [new file with mode: 0644]
ext/ODBM_File/hints/gnukfreebsd.pl [new file with mode: 0644]
ext/ODBM_File/hints/gnuknetbsd.pl [new file with mode: 0644]
ext/POSIX/hints/gnukfreebsd.pl [new file with mode: 0644]
ext/POSIX/hints/gnuknetbsd.pl [new file with mode: 0644]
ext/Storable/hints/gnukfreebsd.pl [new file with mode: 0644]
ext/Storable/hints/gnuknetbsd.pl [new file with mode: 0644]
hints/dec_osf.sh
hints/gnukfreebsd.sh [new file with mode: 0644]
hints/gnuknetbsd.sh [new file with mode: 0644]
hints/interix.sh [new file with mode: 0644]
lib/File/Find.pm
t/io/openpid.t
t/op/groups.t

index 920f2a0..a3fbacd 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Fri Jan 21 16:11:32 MET 2005 [metaconfig 3.0 PL70]
+# Generated on Mon Jan 31 12:56:14 CET 2005 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -7104,7 +7104,7 @@ esac
 : for archive libraries.  Thank you, Linux.
 case "$nm_so_opt" in
 '')    case "$myuname" in
-       *linux*)
+       *linux*|gnu*)
                if $nm --help | $grep 'dynamic' > /dev/null 2>&1; then
                        nm_so_opt='--dynamic'
                fi
@@ -7626,7 +7626,7 @@ EOM
                              '') dflt="$dflt +vnocompatwarnings" ;;
                              esac
                              ;;        
-                       linux|irix*)    dflt='-shared' ;;
+                       linux|irix*|gnu*)       dflt='-shared' ;;
                        next)  dflt='none' ;;
                        solaris) dflt='-G' ;;
                        sunos) dflt='-assert nodefinitions' ;;
@@ -7673,7 +7673,7 @@ say "none".
 EOM
     case "$ccdlflags" in
     '') case "$osname" in
-           linux|hpux) dflt='-Wl,-E' ;;
+           linux|hpux|gnu*)    dflt='-Wl,-E' ;;
            next|sunos) dflt='none' ;;
            *)          dflt='none' ;;
            esac ;;
@@ -7770,7 +7770,7 @@ true)
                        dflt=libperl.5.$so
                        # XXX How handle the --version stuff for MAB?
                        ;;
-               linux*)  # ld won't link with a bare -lperl otherwise.
+               linux*|gnu*)  # ld won't link with a bare -lperl otherwise.
                        dflt=libperl.$so
                        ;;
                cygwin*) # ld links against an importlib
@@ -7857,7 +7857,7 @@ if "$useshrplib"; then
        freebsd|netbsd|openbsd|interix)
                xxx="-Wl,-R$shrpdir"
                ;;
-       bsdos|linux|irix*|dec_osf)
+       bsdos|linux|irix*|dec_osf|gnu*)
                xxx="-Wl,-rpath,$shrpdir"
                ;;
        next)
index 85599f8..ed5fa5b 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -334,6 +334,8 @@ ext/DynaLoader/dl_vmesa.xs  VM/ESA implementation
 ext/DynaLoader/dl_vms.xs       VMS implementation
 ext/DynaLoader/DynaLoader_pm.PL        Dynamic Loader perl module
 ext/DynaLoader/hints/aix.pl    Hint for DynaLoader for named architecture
+ext/DynaLoader/hints/gnukfreebsd.pl    Hint for DynaLoader for named architecture
+ext/DynaLoader/hints/gnuknetbsd.pl     Hint for DynaLoader for named architecture
 ext/DynaLoader/hints/linux.pl  Hint for DynaLoader for named architecture
 ext/DynaLoader/hints/netbsd.pl Hint for DynaLoader for named architecture
 ext/DynaLoader/hints/openbsd.pl        Hint for DynaLoader for named architecture
@@ -657,6 +659,8 @@ ext/MIME/Base64/t/warn.t    See whether MIME::Base64 works
 ext/NDBM_File/hints/cygwin.pl  Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/dec_osf.pl Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/dynixptx.pl        Hint for NDBM_File for named architecture
+ext/NDBM_File/hints/gnukfreebsd.pl     Hint for NDBM_File for named architecture
+ext/NDBM_File/hints/gnuknetbsd.pl      Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/linux.pl   Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/sco.pl     Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/solaris.pl Hint for NDBM_File for named architecture
@@ -668,6 +672,8 @@ ext/NDBM_File/t/ndbm.t              See if NDBM_File works
 ext/NDBM_File/typemap          NDBM extension interface types
 ext/ODBM_File/hints/cygwin.pl  Hint for ODBM_File for named architecture
 ext/ODBM_File/hints/dec_osf.pl Hint for ODBM_File for named architecture
+ext/ODBM_File/hints/gnukfreebsd.pl     Hint for NDBM_File for named architecture
+ext/ODBM_File/hints/gnuknetbsd.pl      Hint for NDBM_File for named architecture
 ext/ODBM_File/hints/hpux.pl    Hint for ODBM_File for named architecture
 ext/ODBM_File/hints/linux.pl   Hint for NDBM_File for named architecture
 ext/ODBM_File/hints/sco.pl     Hint for ODBM_File for named architecture
@@ -707,6 +713,8 @@ ext/PerlIO/via/via.xs               PerlIO layer for layers in perl
 ext/POSIX/hints/bsdos.pl       Hint for POSIX for named architecture
 ext/POSIX/hints/dynixptx.pl    Hint for POSIX for named architecture
 ext/POSIX/hints/freebsd.pl     Hint for POSIX for named architecture
+ext/POSIX/hints/gnukfreebsd.pl Hint for POSIX for named architecture
+ext/POSIX/hints/gnuknetbsd.pl  Hint for POSIX for named architecture
 ext/POSIX/hints/linux.pl       Hint for POSIX for named architecture
 ext/POSIX/hints/mint.pl                Hint for POSIX for named architecture
 ext/POSIX/hints/netbsd.pl      Hint for POSIX for named architecture
@@ -767,6 +775,8 @@ ext/Socket/Socket.xs                Socket extension external subroutines
 ext/Socket/t/socketpair.t      See if socketpair works
 ext/Socket/t/Socket.t          See if Socket works
 ext/Storable/ChangeLog         Storable extension
+ext/Storable/hints/gnukfreebsd.pl      Hint for Storable for named architecture
+ext/Storable/hints/gnuknetbsd.pl       Hint for Storable for named architecture
 ext/Storable/hints/linux.pl    Hint for Storable for named architecture
 ext/Storable/Makefile.PL       Storable extension
 ext/Storable/MANIFEST          Storable extension
@@ -970,10 +980,13 @@ hints/esix4.sh                    Hints for named architecture
 hints/fps.sh                   Hints for named architecture
 hints/freebsd.sh               Hints for named architecture
 hints/genix.sh                 Hints for named architecture
+hints/gnukfreebsd.sh                   Hints for named architecture
+hints/gnuknetbsd.sh                    Hints for named architecture
 hints/gnu.sh                   Hints for named architecture
 hints/greenhills.sh            Hints for named architecture
 hints/hpux.sh                  Hints for named architecture
 hints/i386.sh                  Hints for named architecture
+hints/interix.sh               Hints for named architecture
 hints/irix_4.sh                        Hints for named architecture
 hints/irix_5.sh                        Hints for named architecture
 hints/irix_6_0.sh              Hints for named architecture
@@ -1259,8 +1272,8 @@ lib/Exporter.t                    See if Exporter works
 lib/ExtUtils/Changes           MakeMaker change log
 lib/ExtUtils/Command/MM.pm     Calling MM functions from the cmd line
 lib/ExtUtils/Command.pm                Utilities for Make on non-UNIX platforms
-lib/ExtUtils/Constant.pm       generate XS code to import C header constants
 lib/ExtUtils/Constant/Base.pm  generate XS code to import C header constants
+lib/ExtUtils/Constant.pm       generate XS code to import C header constants
 lib/ExtUtils/Constant/Utils.pm generate XS code to import C header constants
 lib/ExtUtils/Constant/XS.pm    generate XS code to import C header constants
 lib/ExtUtils/Embed.pm          Utilities for embedding Perl in C programs
@@ -2162,6 +2175,7 @@ perlio.c                  C code for PerlIO abstraction
 perlio.h                       PerlIO abstraction
 perliol.h                      PerlIO Layer definition
 perlio.sym                     Symbols for PerlIO abstraction
+perl_keyword.pl                        A script to generate Perl_keyword() in toke.c
 perlsdio.h                     Fake stdio using perlio
 perlsfio.h                     Prototype sfio mapping for PerlIO
 perlsh                         A poor man's perl shell
@@ -2172,7 +2186,6 @@ perly.fixer                       A program to remove yacc stack limitations
 perly.h                                The header file for perly.c
 perlyline.pl                   Perl code to fix #line directives and gcc warnings in perly.c
 perly.y                                Yacc grammar for perl
-perl_keyword.pl                        A script to generate Perl_keyword() in toke.c
 plan9/aperl                    Shell to make Perl error messages Acme-friendly
 plan9/arpa/inet.h              Plan9 port: replacement C header file
 plan9/buildinfo                        Plan9 port: configuration information
index 9eb51e2..d2fb7c5 100644 (file)
@@ -76,6 +76,10 @@ true)
        netbsd*|freebsd[234]*|openbsd*)
                linklibperl="-L. -lperl"
                ;;
+       interix*)
+               linklibperl="-L. -lperl"
+               shrpldflags="$shrpldflags -Wl,--image-base,0x57000000"
+               ;;
        aix*)
                shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp"
                case "$osvers" in
diff --git a/ext/DynaLoader/hints/gnukfreebsd.pl b/ext/DynaLoader/hints/gnukfreebsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
diff --git a/ext/DynaLoader/hints/gnuknetbsd.pl b/ext/DynaLoader/hints/gnuknetbsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
index de4d549..20eab28 100644 (file)
@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker;
 use Config;
 use strict;
 
-our $VERSION = "1.09_00";
+our $VERSION = "1.09_01";
 
 my %err = ();
 my %wsa = ();
@@ -20,6 +20,12 @@ unlink "errno.c" if -f "errno.c";
 sub process_file {
     my($file) = @_;
 
+    # for win32 perl under cygwin, we need to get a windows pathname
+    if ($^O eq 'MSWin32' && $Config{cc} =~ /\B-mno-cygwin\b/ &&
+        defined($file) && !-f $file) {
+        chomp($file = `cygpath -w "$file"`);
+    }
+
     return unless defined $file and -f $file;
 #   warn "Processing $file\n";
 
diff --git a/ext/NDBM_File/hints/gnukfreebsd.pl b/ext/NDBM_File/hints/gnukfreebsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
diff --git a/ext/NDBM_File/hints/gnuknetbsd.pl b/ext/NDBM_File/hints/gnuknetbsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
diff --git a/ext/ODBM_File/hints/gnukfreebsd.pl b/ext/ODBM_File/hints/gnukfreebsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
diff --git a/ext/ODBM_File/hints/gnuknetbsd.pl b/ext/ODBM_File/hints/gnuknetbsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
diff --git a/ext/POSIX/hints/gnukfreebsd.pl b/ext/POSIX/hints/gnukfreebsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
diff --git a/ext/POSIX/hints/gnuknetbsd.pl b/ext/POSIX/hints/gnuknetbsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
diff --git a/ext/Storable/hints/gnukfreebsd.pl b/ext/Storable/hints/gnukfreebsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
diff --git a/ext/Storable/hints/gnuknetbsd.pl b/ext/Storable/hints/gnuknetbsd.pl
new file mode 100644 (file)
index 0000000..6e37b40
--- /dev/null
@@ -0,0 +1 @@
+do './hints/linux.pl';
index 851ac24..bcefbe9 100644 (file)
@@ -184,6 +184,17 @@ toke_cflags='optimize=-O2'
 ;;
 esac
 
+# The patch 23787
+# http://public.activestate.com/cgi-bin/perlbrowse?patch=23787
+# broke things for gcc (at least gcc 3.3) so that many of the pack()
+# checksum tests for formats L, j, J, especially when combined
+# with the < and > specifiers, started to fail if compiled with plain -O3.
+case "$isgcc" in
+gcc)
+pp_pack_cflags='optimize="-O3 -fno-cse-skip-blocks"'
+;;
+esac
+
 # we want dynamic fp rounding mode, and we want ieee exception semantics
 case "$isgcc" in
 gcc)   ;;
diff --git a/hints/gnukfreebsd.sh b/hints/gnukfreebsd.sh
new file mode 100644 (file)
index 0000000..37136ce
--- /dev/null
@@ -0,0 +1,2 @@
+#! /bin/sh
+. ./hints/linux.sh
diff --git a/hints/gnuknetbsd.sh b/hints/gnuknetbsd.sh
new file mode 100644 (file)
index 0000000..37136ce
--- /dev/null
@@ -0,0 +1,2 @@
+#! /bin/sh
+. ./hints/linux.sh
diff --git a/hints/interix.sh b/hints/interix.sh
new file mode 100644 (file)
index 0000000..74f5a52
--- /dev/null
@@ -0,0 +1,26 @@
+# hints/interix.sh
+#
+# Please check with tech-pkg@netbsd.org before making modifications
+# to this file.
+
+cc='gcc'
+cccdlflags="-DPIC $cccdlflags"
+ccdlflags='-Wl,-E'
+ccflags="-D_ALL_SOURCE $ccflags"
+d_poll="$undef"
+ld='gcc'
+lddlflags="-shared $lddlflags"
+rpathflag='-Wl,-R'
+sharpbang='#!'
+usenm='false'
+
+# 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]*)
+       ccflags="-D_REENTRANT $ccflags"
+       libswanted="$libswanted pthread"
+        ;; 
+esac 
+EOCBU
index e25d9d8..f2cecc1 100644 (file)
@@ -3,7 +3,7 @@ use 5.006;
 use strict;
 use warnings;
 use warnings::register;
-our $VERSION = '1.08';
+our $VERSION = '1.09';
 require Exporter;
 require Cwd;
 
@@ -1236,7 +1236,7 @@ $File::Find::current_dir = File::Spec->curdir || '.';
 
 $File::Find::dont_use_nlink = 1
     if $^O eq 'os2' || $^O eq 'dos' || $^O eq 'amigaos' || $^O eq 'MSWin32' ||
-       $^O eq 'cygwin' || $^O eq 'epoc' || $^O eq 'qnx' ||
+       $^O eq 'interix' || $^O eq 'cygwin' || $^O eq 'epoc' || $^O eq 'qnx' ||
           $^O eq 'nto';
 
 # Set dont_use_nlink in your hint file if your system's stat doesn't
index c6ed840..23d75ef 100755 (executable)
@@ -23,6 +23,7 @@ plan tests => 10;
 use Config;
 $| = 1;
 $SIG{PIPE} = 'IGNORE';
+$SIG{HUP} = 'IGNORE' if $^O eq 'interix';
 
 my $perl = which_perl();
 $perl .= qq[ "-I../lib"];
index 695f989..6110fb8 100755 (executable)
@@ -133,7 +133,7 @@ for (split(' ', $()) {
 
 print "# gr = @gr\n";
 
-if ($^O =~ /^(?:uwin|cygwin|solaris)$/) {
+if ($^O =~ /^(?:uwin|cygwin|interix|solaris)$/) {
        # Or anybody else who can have spaces in group names.
        $gr1 = join(' ', grep(!$did{$_}++, sort split(' ', join(' ', @gr))));
 } else {