<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>ListUtil.xs</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,8 +1,10 @@
 Makefile
+Makefile.old
 blib
 pm_to_blib
-Util.o
+ListUtil.o
 Util.bs
-Util.c
+ListUtil.c
 *.bak
+.*.swp
 Scalar-List-Utils*</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -42,5 +42,5 @@ t/shuffle.t
 t/sum.t
 t/tainted.t
 t/weak.t
-Util.xs
+ListUtil.xs
 xs_version.PL</diff>
      <filename>MANIFEST</filename>
    </modified>
    <modified>
      <diff>@@ -5,8 +5,9 @@ use warnings;
 use Config;
 use File::Spec;
 use ExtUtils::MakeMaker;
+my $PERL_CORE = grep { $_ eq 'PERL_CORE=1' } @ARGV;
 
-my $do_xs = can_cc();
+my $do_xs = $PERL_CORE || can_cc();
 
 for (@ARGV) {
   /^-pm/ and $do_xs = 0;
@@ -14,27 +15,41 @@ for (@ARGV) {
 }
 
 WriteMakefile(
-    ABSTRACT     =&gt; q[Common Scalar and List utility subroutines],
-    AUTHOR       =&gt; q[Graham Barr &lt;gbarr@cpan.org&gt;],
-    DEFINE       =&gt; q[-DPERL_EXT],
-    DISTNAME     =&gt; q[Scalar-List-Utils],
-    INSTALLDIRS  =&gt; q[perl],
-    NAME         =&gt; q[List::Util],
-    PREREQ_PM    =&gt; {
-      'Test::More' =&gt; 0,
-    },
-    VERSION_FROM =&gt; 'lib/List/Util.pm',
-    (eval { ExtUtils::MakeMaker-&gt;VERSION(6.21) } ? (LICENSE =&gt; 'perl') : ()),
-    ($do_xs ? () : (XS =&gt; {}, C =&gt; [])),
-    (   eval { ExtUtils::MakeMaker-&gt;VERSION(6.46) } ? (
-            META_MERGE =&gt; {
-                resources =&gt; {    ##
-                    repository =&gt; 'http://github.com/gbarr/Scalar-List-Utils',
-                },
-            }
+  NAME         =&gt; q[List::Util],
+  ABSTRACT     =&gt; q[Common Scalar and List utility subroutines],
+  AUTHOR       =&gt; q[Graham Barr &lt;gbarr@cpan.org&gt;],
+  DEFINE       =&gt; q[-DPERL_EXT],
+  DISTNAME     =&gt; q[Scalar-List-Utils],
+  VERSION_FROM =&gt; 'lib/List/Util.pm',
+
+  # We go through the ListUtil.xs trickery to foil platforms
+  # that have the feature combination of
+  # (1) static builds
+  # (2) allowing only one object by the same name in the static library
+  # (3) the object name matching being case-blind
+  # This means that we can't have the top-level util.o
+  # and the extension-level Util.o in the same build.
+  # One such platform is the POSIX-BC BS2000 EBCDIC mainframe platform.
+  XS     =&gt; {'ListUtil.xs' =&gt; 'ListUtil.c'},
+  OBJECT =&gt; 'ListUtil$(OBJ_EXT)',
+  ( $PERL_CORE
+    ? ()
+    : (
+      INSTALLDIRS =&gt; q[perl],
+      PREREQ_PM   =&gt; {'Test::More' =&gt; 0,},
+      (eval { ExtUtils::MakeMaker-&gt;VERSION(6.21) } ? (LICENSE =&gt; 'perl') : ()),
+      ($do_xs ? () : (XS =&gt; {}, C =&gt; [])),
+      ( eval { ExtUtils::MakeMaker-&gt;VERSION(6.46) } ? (
+          META_MERGE =&gt; {
+            resources =&gt; {    ##
+              repository =&gt; 'http://github.com/gbarr/Scalar-List-Utils',
+            },
+          }
           )
         : ()
-    ),
+      ),
+    )
+  ),
 );
 
 </diff>
      <filename>Makefile.PL</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>Util.xs</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>94de03f384f3d1c1982289941345a8ad9b397012</id>
    </parent>
  </parents>
  <author>
    <name>Graham Barr</name>
    <email>gbarr@pobox.com</email>
  </author>
  <url>http://github.com/gbarr/Scalar-List-Utils/commit/6fbc2bfe6e5d20f0f75dc27924579d9de8278964</url>
  <id>6fbc2bfe6e5d20f0f75dc27924579d9de8278964</id>
  <committed-date>2009-05-11T20:24:36-07:00</committed-date>
  <authored-date>2009-05-11T20:24:36-07:00</authored-date>
  <message>Make more drop-in for core perl</message>
  <tree>3914a5381d9943f87804de0057e6afc1ce4ad115</tree>
  <committer>
    <name>Graham Barr</name>
    <email>gbarr@pobox.com</email>
  </committer>
</commit>
