Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-ExtUtils-MakeMaker for 
openSUSE:Factory checked in at 2022-01-05 13:39:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-ExtUtils-MakeMaker (Old)
 and      /work/SRC/openSUSE:Factory/.perl-ExtUtils-MakeMaker.new.1896 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-ExtUtils-MakeMaker"

Wed Jan  5 13:39:36 2022 rev:25 rq:943742 version:7.64

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-ExtUtils-MakeMaker/perl-ExtUtils-MakeMaker.changes
  2021-04-22 18:03:26.670458345 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-ExtUtils-MakeMaker.new.1896/perl-ExtUtils-MakeMaker.changes
        2022-01-05 13:39:59.773537073 +0100
@@ -1,0 +2,42 @@
+Sat Dec 18 03:06:20 UTC 2021 - Tina M??ller <timueller+p...@suse.de>
+
+- updated to 7.64
+   see /usr/share/doc/packages/perl-ExtUtils-MakeMaker/Changes
+
+  7.64  Fri 17 Dec 15:35:46 GMT 2021
+      No changes since v7.63_11
+  7.63_11 Tue 14 Dec 16:00:11 GMT 2021
+      OS390 fixes:
+      - Extend prereqs sort to work on EBCDIC
+  7.63_10 Mon 13 Dec 16:26:49 GMT 2021
+      OS390 fixes:
+      - Fix dynamic loading
+  7.63_09 Wed  8 Dec 22:20:53 GMT 2021
+      Enhancements:
+      - Don't use canned libpth values
+  7.63_08 Sat 27 Nov 17:28:03 GMT 2021
+      Correction:
+      - Previous change to ${LDFLAGS) was reverted
+  7.63_07 Sat 27 Nov 11:34:12 GMT 2021
+      Enhancements:
+      - Add $(LDFLAGS) when linking binary modules
+  7.63_06 Wed  3 Nov 01:24:05 GMT 2021
+      Bug fixes:
+      - Add -rpath when compiling XS modules on macOS
+  7.63_05 Sat 14 Aug 09:04:08 BST 2021
+      Enhancements:
+      - Added CPPRUN variable
+  7.63_04 Wed 30 Jun 15:15:01 BST 2021
+      Doc fixes:
+      - Describe CCFLAGS??? default
+  7.63_03 Tue 22 Jun 14:39:32 BST 2021
+      OS390 Enhancements:
+      - Fix override xs_make_dynamic_lib() for os390
+  7.63_02 Thu  3 Jun 19:52:03 BST 2021
+      Doc fixes:
+      - Changed wording for POLLUTE
+  7.63_01 Tue 25 May 16:22:50 BST 2021
+      Bug fixes:
+      - Comparing inodes numerically is unsafe
+
+-------------------------------------------------------------------

Old:
----
  ExtUtils-MakeMaker-7.62.tar.gz

New:
----
  ExtUtils-MakeMaker-7.64.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-ExtUtils-MakeMaker.spec ++++++
--- /var/tmp/diff_new_pack.A4ji8v/_old  2022-01-05 13:40:00.149537369 +0100
+++ /var/tmp/diff_new_pack.A4ji8v/_new  2022-01-05 13:40:00.153537372 +0100
@@ -18,7 +18,7 @@
 
 %define cpan_name ExtUtils-MakeMaker
 Name:           perl-ExtUtils-MakeMaker
-Version:        7.62
+Version:        7.64
 Release:        0
 Summary:        Create a module Makefile
 License:        Artistic-1.0 OR GPL-1.0-or-later

++++++ ExtUtils-MakeMaker-7.62.tar.gz -> ExtUtils-MakeMaker-7.64.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/Changes 
new/ExtUtils-MakeMaker-7.64/Changes
--- old/ExtUtils-MakeMaker-7.62/Changes 2021-04-13 19:59:11.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/Changes 2021-12-17 16:36:29.000000000 +0100
@@ -1,3 +1,62 @@
+7.64  Fri 17 Dec 15:35:46 GMT 2021
+
+    No changes since v7.63_11
+
+7.63_11 Tue 14 Dec 16:00:11 GMT 2021
+
+    OS390 fixes:
+    - Extend prereqs sort to work on EBCDIC
+
+7.63_10 Mon 13 Dec 16:26:49 GMT 2021
+
+    OS390 fixes:
+    - Fix dynamic loading
+
+7.63_09 Wed  8 Dec 22:20:53 GMT 2021
+
+    Enhancements:
+    - Don't use canned libpth values
+
+7.63_08 Sat 27 Nov 17:28:03 GMT 2021
+
+    Correction:
+    - Previous change to ${LDFLAGS) was reverted
+
+7.63_07 Sat 27 Nov 11:34:12 GMT 2021
+
+    Enhancements:
+    - Add $(LDFLAGS) when linking binary modules
+
+7.63_06 Wed  3 Nov 01:24:05 GMT 2021
+
+    Bug fixes:
+    - Add -rpath when compiling XS modules on macOS
+
+7.63_05 Sat 14 Aug 09:04:08 BST 2021
+
+    Enhancements:
+    - Added CPPRUN variable
+
+7.63_04 Wed 30 Jun 15:15:01 BST 2021
+
+    Doc fixes:
+    - Describe CCFLAGS??? default
+
+7.63_03 Tue 22 Jun 14:39:32 BST 2021
+
+    OS390 Enhancements:
+    - Fix override xs_make_dynamic_lib() for os390
+
+7.63_02 Thu  3 Jun 19:52:03 BST 2021
+
+    Doc fixes:
+    - Changed wording for POLLUTE
+
+7.63_01 Tue 25 May 16:22:50 BST 2021
+
+    Bug fixes:
+    - Comparing inodes numerically is unsafe
+
 7.62    Tue 13 Apr 18:58:24 BST 2021
 
     No changes since v7.61_01
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/MANIFEST 
new/ExtUtils-MakeMaker-7.64/MANIFEST
--- old/ExtUtils-MakeMaker-7.62/MANIFEST        2021-04-13 20:13:04.000000000 
+0200
+++ new/ExtUtils-MakeMaker-7.64/MANIFEST        2021-12-17 17:11:55.000000000 
+0100
@@ -70,6 +70,7 @@
 t/01perl_bugs.t
 t/02-xsdynamic.t
 t/03-xsstatic.t
+t/04-xs-rpath-darwin.t
 t/arch_check.t
 t/backwards.t
 t/basic.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/META.json 
new/ExtUtils-MakeMaker-7.64/META.json
--- old/ExtUtils-MakeMaker-7.62/META.json       2021-04-13 20:13:03.000000000 
+0200
+++ new/ExtUtils-MakeMaker-7.64/META.json       2021-12-17 17:11:55.000000000 
+0100
@@ -4,7 +4,7 @@
       "Michael G Schwern <schw...@pobox.com>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.62, CPAN::Meta::Converter 
version 2.143240",
+   "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter 
version 2.143240",
    "license" : [
       "perl_5"
    ],
@@ -61,5 +61,5 @@
       },
       "x_MailingList" : "makema...@perl.org"
    },
-   "version" : "7.62"
+   "version" : "7.64"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/META.yml 
new/ExtUtils-MakeMaker-7.64/META.yml
--- old/ExtUtils-MakeMaker-7.62/META.yml        2021-04-13 20:13:03.000000000 
+0200
+++ new/ExtUtils-MakeMaker-7.64/META.yml        2021-12-17 17:11:55.000000000 
+0100
@@ -5,7 +5,7 @@
 build_requires: {}
 configure_requires: {}
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.62, CPAN::Meta::Converter version 
2.143240'
+generated_by: 'ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 
2.143240'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -34,4 +34,4 @@
   homepage: https://metacpan.org/release/ExtUtils-MakeMaker
   license: https://dev.perl.org/licenses/
   repository: https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker
-version: '7.62'
+version: '7.64'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Command/MM.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Command/MM.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Command/MM.pm      2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Command/MM.pm      2021-12-17 
10:32:03.000000000 +0100
@@ -10,7 +10,7 @@
 
 our @EXPORT  = qw(test_harness pod2man perllocal_install uninstall
                   warn_if_old_packlist test_s cp_nonempty);
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 my $Is_VMS = $^O eq 'VMS';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Command.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Command.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Command.pm 2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Command.pm 2021-12-17 
10:32:03.000000000 +0100
@@ -8,7 +8,7 @@
 @ISA       = qw(Exporter);
 @EXPORT    = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod
                 dos2unix);
-$VERSION = '7.62';
+$VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 my $Is_VMS   = $^O eq 'VMS';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Liblist/Kid.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Liblist/Kid.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Liblist/Kid.pm     2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Liblist/Kid.pm     2021-12-17 
10:32:03.000000000 +0100
@@ -11,7 +11,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 use ExtUtils::MakeMaker::Config;
@@ -58,6 +58,10 @@
     my ( $fullname,   @fullname );
     my ( $pwd )   = cwd();    # from Cwd.pm
     my ( $found ) = 0;
+       if ($Config{gccversion}) {
+               chomp(my @incpath = grep s/^ //, grep { /^#include </ .. /^End 
of search / } `$Config{cc} -E -v - </dev/null 2>&1 >/dev/null`);
+               unshift @libpath, map { s{/include[^/]*}{/lib}; $_ } @incpath
+       }
 
     if ( $^O eq 'darwin' or $^O eq 'next' )  {
         # 'escape' Mach-O ld -framework and -F flags, so they aren't dropped 
later on
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Liblist.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Liblist.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Liblist.pm 2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Liblist.pm 2021-12-17 
10:32:03.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 use File::Spec;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM.pm      2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM.pm      2021-12-17 
10:32:03.000000000 +0100
@@ -4,7 +4,7 @@
 use warnings;
 use ExtUtils::MakeMaker::Config;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::Liblist;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_AIX.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_AIX.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_AIX.pm  2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_AIX.pm  2021-12-17 
10:32:03.000000000 +0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 use ExtUtils::MakeMaker::Config;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Any.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Any.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Any.pm  2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Any.pm  2021-12-17 
10:32:03.000000000 +0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 use Carp;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_BeOS.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_BeOS.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_BeOS.pm 2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_BeOS.pm 2021-12-17 
10:32:03.000000000 +0100
@@ -27,7 +27,7 @@
 require ExtUtils::MM_Unix;
 
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Cygwin.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Cygwin.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Cygwin.pm       2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Cygwin.pm       2021-12-17 
10:32:03.000000000 +0100
@@ -10,7 +10,7 @@
 require ExtUtils::MM_Win32;
 our @ISA = qw( ExtUtils::MM_Unix );
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_DOS.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_DOS.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_DOS.pm  2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_DOS.pm  2021-12-17 
10:32:03.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Darwin.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Darwin.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Darwin.pm       2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Darwin.pm       2021-12-17 
10:32:03.000000000 +0100
@@ -8,7 +8,7 @@
     our @ISA = qw( ExtUtils::MM_Unix );
 }
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_MacOS.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_MacOS.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_MacOS.pm        2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_MacOS.pm        2021-12-17 
10:32:03.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 sub new {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_NW5.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_NW5.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_NW5.pm  2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_NW5.pm  2021-12-17 
10:32:03.000000000 +0100
@@ -23,7 +23,7 @@
 use ExtUtils::MakeMaker::Config;
 use File::Basename;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Win32;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_OS2.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_OS2.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_OS2.pm  2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_OS2.pm  2021-12-17 
10:32:03.000000000 +0100
@@ -6,7 +6,7 @@
 use ExtUtils::MakeMaker qw(neatvalue);
 use File::Spec;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_OS390.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_OS390.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_OS390.pm        2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_OS390.pm        2021-12-17 
10:32:03.000000000 +0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 use ExtUtils::MakeMaker::Config;
@@ -61,8 +61,8 @@
         $ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
     }
 
-    push @m, sprintf <<'MAKE', $ld_run_path_shell, $dlsyms_arg, 
$self->xs_obj_opt('$@'), $ldfrom, $libs, $exportlist;
-       %s$(LD) $(LDDLFLAGS) %s $(OTHERLDFLAGS) %s $(MYEXTLIB) %s \
+    push @m, sprintf <<'MAKE', $ld_run_path_shell, $self->xs_obj_opt('$@'), 
$dlsyms_arg, $ldfrom, $libs, $exportlist;
+       %s$(LD) %s $(LDDLFLAGS) %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \
          $(PERL_ARCHIVE) %s $(PERL_ARCHIVE_AFTER) %s \
          $(INST_DYNAMIC_FIX)
        $(CHMOD) $(PERM_RWX) $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_QNX.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_QNX.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_QNX.pm  2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_QNX.pm  2021-12-17 
10:32:03.000000000 +0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Unix;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_UWIN.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_UWIN.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_UWIN.pm 2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_UWIN.pm 2021-12-17 
10:32:03.000000000 +0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Unix;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Unix.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Unix.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Unix.pm 2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Unix.pm 2021-12-17 
10:32:03.000000000 +0100
@@ -15,7 +15,7 @@
 
 # If we make $VERSION an our variable parse_version() breaks
 use vars qw($VERSION);
-$VERSION = '7.62';
+$VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
@@ -141,9 +141,9 @@
         $flags =~ s/"-I(\$\(PERL_INC\))"/-iwithsysroot "$1"/;
     }
 
-    if (my $cpp = $Config{cpprun}) {
+    if (my $cpp = $self->{CPPRUN}) {
         my $cpp_cmd = $self->const_cccmd;
-        $cpp_cmd =~ s/^CCCMD\s*=\s*\$\(CC\)/$cpp/;
+        $cpp_cmd =~ s/^CCCMD\s*=\s*\$\(CC\)/\$(CPPRUN)/;
         push @m, qq{
 .c.i:
        $cpp_cmd $flags \$*.c > \$*.i
@@ -1048,9 +1048,19 @@
     }
     $ldfrom = "-all $ldfrom -none" if $Is{OSF};
 
+    my $ldrun = '';
     # The IRIX linker doesn't use LD_RUN_PATH
-    my $ldrun = $Is{IRIX} && $self->{LD_RUN_PATH} ?
-                       qq{-rpath "$self->{LD_RUN_PATH}"} : '';
+    if ( $self->{LD_RUN_PATH} ) {
+        if ( $Is{IRIX} ) {
+            $ldrun = qq{-rpath "$self->{LD_RUN_PATH}"};
+        }
+        elsif ( $^O eq 'darwin' ) {
+            # both clang and gcc support -Wl,-rpath, but only clang supports
+            # -rpath so by using -Wl,-rpath we avoid having to check for the
+            # type of compiler
+            $ldrun = qq{-Wl,-rpath,"$self->{LD_RUN_PATH}"};
+        }
+    }
 
     # For example in AIX the shared objects/libraries from previous builds
     # linger quite a while in the shared dynalinker cache even when nobody
@@ -1315,7 +1325,7 @@
             if ($self->maybe_command($origcmd) && grep { $_ eq $origdir } 
@absdirs) {
                 my ($odev, $oino) = stat $origcmd;
                 my ($idev, $iino) = stat $interpreter;
-                if ($odev == $idev && $oino == $iino) {
+                if ($odev == $idev && $oino eq $iino) {
                     warn "$origcmd is the same as $interpreter, leaving alone"
                         if $Verbose;
                     $interpreter = $origcmd;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_VMS.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_VMS.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_VMS.pm  2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_VMS.pm  2021-12-17 
10:32:03.000000000 +0100
@@ -16,7 +16,7 @@
 
 use File::Basename;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Any;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_VOS.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_VOS.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_VOS.pm  2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_VOS.pm  2021-12-17 
10:32:03.000000000 +0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Unix;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Win32.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Win32.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Win32.pm        2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Win32.pm        2021-12-17 
10:32:03.000000000 +0100
@@ -27,7 +27,7 @@
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 $ENV{EMXSHELL} = 'sh'; # to run `commands`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Win95.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Win95.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MM_Win95.pm        2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MM_Win95.pm        2021-12-17 
10:32:03.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require ExtUtils::MM_Win32;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MY.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MY.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MY.pm      2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MY.pm      2021-12-17 
10:32:03.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 require ExtUtils::MM;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 our @ISA = qw(ExtUtils::MM);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/Config.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/Config.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/Config.pm        
2021-04-13 19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/Config.pm        
2021-12-17 10:32:03.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 use Config ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/FAQ.pod 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/FAQ.pod
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/FAQ.pod  2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/FAQ.pod  2021-12-17 
10:32:03.000000000 +0100
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::FAQ;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/Locale.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/Locale.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/Locale.pm        
2021-04-13 19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/Locale.pm        
2021-12-17 10:32:03.000000000 +0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = "7.62";
+our $VERSION = "7.64";
 $VERSION =~ tr/_//d;
 
 use base 'Exporter';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/Tutorial.pod 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/Tutorial.pod
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/Tutorial.pod     
2021-04-13 19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/Tutorial.pod     
2021-12-17 10:32:03.000000000 +0100
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::Tutorial;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/version/regex.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/version/regex.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/version/regex.pm 
2021-04-13 19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/version/regex.pm 
2021-12-17 10:32:03.000000000 +0100
@@ -11,7 +11,7 @@
 
 use vars qw($VERSION $CLASS $STRICT $LAX);
 
-$VERSION = '7.62';
+$VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 #--------------------------------------------------------------------------#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/version/vpp.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/version/vpp.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/version/vpp.pm   
2021-04-13 19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/version/vpp.pm   
2021-12-17 10:32:03.000000000 +0100
@@ -129,7 +129,7 @@
 
 use Config;
 use vars qw($VERSION $CLASS @ISA $LAX $STRICT);
-$VERSION = '7.62';
+$VERSION = '7.64';
 $VERSION =~ tr/_//d;
 $CLASS = 'ExtUtils::MakeMaker::version::vpp';
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/version.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/version.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker/version.pm       
2021-04-13 19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker/version.pm       
2021-12-17 10:32:03.000000000 +0100
@@ -16,7 +16,7 @@
 
 use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
 
-$VERSION = '7.62';
+$VERSION = '7.64';
 $VERSION =~ tr/_//d;
 $CLASS = 'version';
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/MakeMaker.pm       2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/MakeMaker.pm       2021-12-17 
10:32:03.000000000 +0100
@@ -25,7 +25,7 @@
 our %macro_fsentity; # whether a macro is a filesystem name
 our %macro_dep; # whether a macro is a dependency
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 # Emulate something resembling CVS $Revision$
@@ -393,7 +393,7 @@
     # we will use all these variables in the Makefile
     @Get_from_Config =
         qw(
-           ar cc cccdlflags ccdlflags dlext dlsrc exe_ext full_ar ld
+           ar cc cccdlflags ccdlflags cpprun dlext dlsrc exe_ext full_ar ld
            lddlflags ldflags libc lib_ext obj_ext osname osvers ranlib
            sitelibexp sitearchexp so
           );
@@ -634,7 +634,7 @@
 
     if (%unsatisfied && $self->{PREREQ_FATAL}){
         my $failedprereqs = join "\n", map {"    $_ $unsatisfied{$_}"}
-                            sort { $a cmp $b } keys %unsatisfied;
+                            sort { lc $a cmp lc $b } keys %unsatisfied;
         die <<"END";
 MakeMaker FATAL: prerequisites not found.
 $failedprereqs
@@ -720,7 +720,7 @@
     # RT#91540 PREREQ_FATAL not recognized on command line
     if (%unsatisfied && $self->{PREREQ_FATAL}){
         my $failedprereqs = join "\n", map {"    $_ $unsatisfied{$_}"}
-                            sort { $a cmp $b } keys %unsatisfied;
+                            sort { lc $a cmp lc $b } keys %unsatisfied;
         die <<"END";
 MakeMaker FATAL: prerequisites not found.
 $failedprereqs
@@ -1836,7 +1836,11 @@
 =item CCFLAGS
 
 String that will be included in the compiler call command line between
-the arguments INC and OPTIMIZE.
+the arguments INC and OPTIMIZE. Note that setting this will overwrite its
+default value (C<$Config::Config{ccflags}>); to preserve that, include
+the default value directly, e.g.:
+
+    CCFLAGS => "$Config::Config{ccflags} ..."
 
 =item CONFIG
 
@@ -1846,6 +1850,7 @@
 cc
 cccdlflags
 ccdlflags
+cpprun
 dlext
 dlsrc
 ld
@@ -2671,10 +2676,9 @@
 
 =item POLLUTE
 
-Release 5.005 grandfathered old global symbol names by providing preprocessor
-macros for extension source compatibility.  As of release 5.6, these
-preprocessor definitions are not available by default.  The POLLUTE flag
-specifies that the old names should still be defined:
+Prior to 5.6 various interpreter variables were available without a C<PL_>
+prefix, eg. C<PL_undef> was available as C<undef>. As of release 5.6, these
+are only defined if the POLLUTE flag is enabled:
 
   perl Makefile.PL POLLUTE=1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Mkbootstrap.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Mkbootstrap.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Mkbootstrap.pm     2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Mkbootstrap.pm     2021-12-17 
10:32:03.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 require Exporter;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Mksymlists.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Mksymlists.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/Mksymlists.pm      2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/Mksymlists.pm      2021-12-17 
10:32:03.000000000 +0100
@@ -11,7 +11,7 @@
 
 our @ISA = qw(Exporter);
 our @EXPORT = qw(&Mksymlists);
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 sub Mksymlists {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/testlib.pm 
new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/testlib.pm
--- old/ExtUtils-MakeMaker-7.62/lib/ExtUtils/testlib.pm 2021-04-13 
19:58:17.000000000 +0200
+++ new/ExtUtils-MakeMaker-7.64/lib/ExtUtils/testlib.pm 2021-12-17 
10:32:03.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '7.62';
+our $VERSION = '7.64';
 $VERSION =~ tr/_//d;
 
 use Cwd;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/t/04-xs-rpath-darwin.t 
new/ExtUtils-MakeMaker-7.64/t/04-xs-rpath-darwin.t
--- old/ExtUtils-MakeMaker-7.62/t/04-xs-rpath-darwin.t  1970-01-01 
01:00:00.000000000 +0100
+++ new/ExtUtils-MakeMaker-7.64/t/04-xs-rpath-darwin.t  2021-11-03 
02:23:21.000000000 +0100
@@ -0,0 +1,269 @@
+#!/usr/bin/perl -w
+
+# This test file tests a special case for the generation of XS modules on OS 
darwin.
+#  More specifically, it tests if we are able to compile an XS module which 
refers
+#  to another shared library in a non-standard location such that we can
+#  load the XS module from a perl script without having to set the
+#  DYLD_LIBRARY_PATH environment variable. See PR #403 and issue #402.
+#
+package Main;
+use strict;
+use warnings;
+use Config;
+BEGIN {
+    chdir 't' or die "chdir(t): $!\n";
+    unshift @INC, 'lib/';
+    use Test::More;
+    if( $^O ne "darwin" ) {
+        plan skip_all => 'Not darwin platform';
+    }
+    else {
+        plan skip_all => 'Dynaloading not enabled'
+            if !$Config{usedl} or $Config{usedl} ne 'define';
+        plan tests => 1;
+    }
+}
+use Cwd;
+use ExtUtils::MakeMaker;
+use File::Temp qw[tempdir];
+use File::Path;  # exports: mkpath and rmtree
+use File::Spec;
+
+{
+    $| = 1;
+    # We need this when re-running "perl Makefile.PL"
+    my $ext_utils_lib_dir = File::Spec->rel2abs('../lib');
+    # This tmpdir will be removed when the program exits
+    my $tmpdir = tempdir( DIR => '.', CLEANUP => 1 );
+    my $cwd = getcwd;
+    # File::Temp will not clean up the temp directory if the current directory
+    #   is a sub directory of the temp dir. This can happen in the case of an
+    #   error (a call to die). which disrupts the normal program flow that 
would
+    #   have restored the cwd before exit. To solve this issue
+    #   we add the below END block (which will be called before the File::Temp
+    #   cleanup END block call since END blocks are called in LIFO order)
+    END { chdir $cwd }
+    _chdir($tmpdir);
+    my $self = Main->new(
+        mylib_dir => "mylib",
+        mylib_c_fn => "mylib.c",
+        mylib_h_fn => "mylib.h",
+        mylib_lib_name => "mylib",
+        module_name => "My::Module",
+        test_script_name => 'p.pl',
+        ext_utils_lib_dir => $ext_utils_lib_dir,
+    );
+    $self->compile_library();
+    $self->write_makefile_pl();
+    $self->write_module_file();
+    $self->write_xs_file();
+    $self->run_make();
+    $self->write_test_script();
+    $self->run_test_script();
+    _chdir($cwd);
+}
+
+sub _chdir { chdir $_[0] or die "Cannot change directory to $_[0] : $!" }
+
+sub _mkpath { mkpath($_[0]) or die "Could not create directory $_[0] : $!" };
+
+sub run_test_script {
+    my ($self) = @_;
+
+    my @cmd = ($^X, '-Mblib', $self->{test_script_name});
+    my $out = _capture_stdout(\@cmd);
+    like( $out, qr{\Qcalling foo()\E\s+\QHello from foo()\E});
+}
+
+sub write_xs_file {
+    my ($self) = @_;
+
+    my $str = <<'END';
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+#include "mylib.h"
+
+MODULE = <<module_name_colon>>  PACKAGE = <<module_name_colon>>
+PROTOTYPES: DISABLE
+
+void
+mylib_func()
+  CODE:
+    printf("calling foo()\n");
+    foo();
+END
+    $str =~ s/\Q<<module_name_colon>>\E/$self->{module_name}/g;
+    my @module_name = split /::/, $self->{module_name};
+    my $xs_name = pop @module_name;
+    $xs_name .= '.xs';
+    _write_file( $xs_name, $str );
+}
+
+sub write_test_script {
+    my ($self) = @_;
+
+    my $str = <<'END';
+use strict;
+use warnings;
+use ExtUtils::testlib;
+use <<module_name_colon>>;
+
+<<module_name_colon>>::mylib_func();
+END
+    $str =~ s/\Q<<module_name_colon>>\E/$self->{module_name}/g;
+    _write_file( $self->{test_script_name}, $str );
+}
+
+sub run_make {
+    my ($self) = @_;
+
+    my @cmd = ($^X, '-I'. $self->{ext_utils_lib_dir}, 'Makefile.PL');
+    _run_system_cmd(\@cmd);
+    _run_system_cmd(['make']);
+}
+
+sub write_module_file {
+    my ( $self ) = @_;
+
+    my @dirs = split /::/, $self->{module_name};
+    my $basename = pop @dirs;
+    my $dir = File::Spec->catfile('lib', @dirs);
+    _mkpath( $dir );
+    my $fn = File::Spec->catfile($dir, $basename . '.pm');
+    my $str = <<'END';
+package <<module_name_colon>>;
+require Exporter;
+require DynaLoader;
+$VERSION = 1.01;
+@ISA    = qw(Exporter DynaLoader);
+@EXPORT = qw();
+bootstrap <<module_name_colon>> $VERSION;
+1;
+
+=head1 NAME
+
+<<module_name_colon>> - Short description of <<module_name_colon>>
+END
+    $str =~ s/\Q<<module_name_colon>>\E/$self->{module_name}/g;
+    _write_file( $fn, $str );
+}
+
+sub write_makefile_pl {
+    my ( $self ) = @_;
+
+    my $str = <<'END';
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+  NAME          => '<<module_name_colon>>',
+  VERSION_FROM  => 'lib/<<module_name_slash>>.pm',
+  ABSTRACT_FROM => 'lib/<<module_name_slash>>.pm',
+  PERL          => "$^X -w",
+  LIBS          => ['-L./<<lib_dir>> -l<<lib_name>>'],
+  INC           => '-I. -I./<<lib_dir>>',
+);
+END
+    my $mod_name1 = $self->{module_name};
+    my $mod_name2 = $self->{module_name};
+    $mod_name2 =~ s{::}{/}g;
+    $str =~ s/\Q<<module_name_colon>>\E/$mod_name1/g;
+    $str =~ s/\Q<<module_name_slash>>\E/$mod_name2/g;
+    $str =~ s/\Q<<lib_dir>>\E/$self->{mylib_dir}/g;
+    $str =~ s/\Q<<lib_name>>\E/$self->{mylib_lib_name}/g;
+    _write_file('Makefile.PL', $str);
+}
+
+sub compile_library {
+    my ($self) = @_;
+
+    _mkpath( $self->{mylib_dir} );
+    my $cwd = getcwd;
+    _chdir( $self->{mylib_dir} );
+    $self->write_mylib_h();
+    $self->write_mylib_c();
+    $self->compile_mylib();
+    _chdir( $cwd );
+}
+
+sub compile_mylib {
+    my ($self) = @_;
+
+    my $cc = $Config{cc};
+    my $libext = $Config{so};
+
+    my $libname = 'lib' . $self->{mylib_lib_name} . '.' . $libext;
+    my @cmd = ($cc, '-I.', '-dynamiclib', '-install_name',
+             '@rpath/' . $libname,
+             'mylib.c', '-o', $libname);
+    _run_system_cmd(\@cmd);
+}
+
+sub _capture_stdout {
+    my ($cmd) = @_;
+
+    my $out = `@$cmd`;
+    _check_sys_cmd_error( $cmd, $? ) if $? != 0;
+    return $out;
+}
+
+sub _stringify_cmd { '"' . (join " ", @{$_[0]}) . '"' }
+
+sub _check_sys_cmd_error {
+    my ( $cmd, $error ) = @_;
+    my $cmd_str = _stringify_cmd($cmd);
+    if ( $error == -1 ) {
+        # A return value of -1 from system() indicates a failure to start the 
program
+        die "Could not run $cmd_str: $!";
+    }
+    elsif ($error & 127) {
+        die sprintf "Command $cmd_str : killed by signal %d, %s coredump\n",
+          ($error & 127),  ($error & 128) ? 'with' : 'without';
+    }
+    elsif ($error != 0) {
+        die sprintf "$cmd_str exited with error code %d\n", $error >> 8;
+    }
+}
+
+sub _run_system_cmd {
+    my ($cmd) = @_;
+
+    my $res = system @$cmd;
+    _check_sys_cmd_error( $cmd, $res ) if $res != 0;
+
+}
+
+sub write_mylib_c {
+    my ($self) = @_;
+    my $str = <<'END';
+#include <stdio.h>
+#include <stdlib.h>
+#include "mylib.h"
+
+void foo() {
+    printf( "Hello from foo()\n");
+}
+END
+    _write_file($self->{mylib_c_fn}, $str);
+}
+
+sub write_mylib_h {
+    my ($self) = @_;
+    my $str = 'void foo();';
+    _write_file($self->{mylib_h_fn}, $str);
+}
+
+sub _write_file {
+    my ($file, $text) = @_;
+    my $utf8 = ("$]" < 5.008 or !$Config{useperlio}) ? "" : ":utf8";
+    open(FILE, ">$utf8", $file) || die "Can't create $file: $!";
+    print FILE $text;
+    close FILE;
+}
+
+sub new {
+    my ($class, %args) = @_;
+    return bless \%args, $class;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ExtUtils-MakeMaker-7.62/t/prereq.t 
new/ExtUtils-MakeMaker-7.64/t/prereq.t
--- old/ExtUtils-MakeMaker-7.62/t/prereq.t      2020-12-23 17:30:57.000000000 
+0100
+++ new/ExtUtils-MakeMaker-7.64/t/prereq.t      2021-12-14 16:59:47.000000000 
+0100
@@ -133,10 +133,14 @@
             "strict"            => 99999,
         }
     );
-    is $warnings,
-    "Warning: prerequisite I::Do::Not::Exist 0 not found.\n".
-    sprintf("Warning: prerequisite strict 99999 not found. We have %s.\n",
-            $strict::VERSION), '2 bad prereq warnings';
+
+    my $strict_warn
+        = sprintf("Warning: prerequisite strict 99999 not found. We have 
%s.\n",
+                                                            $strict::VERSION);
+    # Done this way because EBCDIC sorts in a different order
+    ok(   $warnings =~ s/Warning: prerequisite I::Do::Not::Exist 0 not 
found\.\n//
+       && $warnings =~ s/\Q$strict_warn//
+       && $warnings eq "", '2 bad prereq warnings');
 
     $warnings = '';
     eval {

Reply via email to