b2ed1b6
From ee947dd4e44bb407a8b9e4cd33a0a2e25077fa6b Mon Sep 17 00:00:00 2001
b2ed1b6
From: "Richard W.M. Jones" <rjones@redhat.com>
b2ed1b6
Date: Fri, 22 Jul 2011 10:39:37 +0100
b2ed1b6
Subject: [PATCH] perl: Fix CCFLAGS on Perl 5.14.
b2ed1b6
b2ed1b6
A change to ExtUtils::CBuilder in Perl 5.14 causes CCFLAGS to
b2ed1b6
completely replace, rather than appending, the C flags.
b2ed1b6
b2ed1b6
The unfortunate consequence of this is that vital flags such as
b2ed1b6
-D_FILE_OFFSET_BITS=64 are missing.  For 32 bit code, this means you
b2ed1b6
get binary-incompatible code that completely fails to load.
b2ed1b6
b2ed1b6
For further analysis see:
b2ed1b6
b2ed1b6
http://www.nntp.perl.org/group/perl.perl5.porters/2011/04/msg171535.html
b2ed1b6
b2ed1b6
This commit changes CCFLAGS so that it appends to the existing
b2ed1b6
$Config{ccflags} instead of replacing it.  On earlier versions of Perl
b2ed1b6
this means we get two copies of the flags, which is unfortunate but
b2ed1b6
should be safe.
b2ed1b6
b2ed1b6
Also, ignore MYMETA.yml file produced by Perl 5.14.
b2ed1b6
---
b2ed1b6
 .gitignore          |    1 +
b2ed1b6
 perl/Makefile.PL.in |    3 ++-
b2ed1b6
 2 files changed, 3 insertions(+), 1 deletions(-)
b2ed1b6
b2ed1b6
diff --git a/perl/Makefile.PL.in b/perl/Makefile.PL.in
b2ed1b6
index e6e3d72..77b4a0e 100644
b2ed1b6
--- a/perl/Makefile.PL.in
b2ed1b6
+++ b/perl/Makefile.PL.in
b2ed1b6
@@ -15,6 +15,7 @@
b2ed1b6
 # along with this program; if not, write to the Free Software
b2ed1b6
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
b2ed1b6
 
b2ed1b6
+use Config;
b2ed1b6
 use ExtUtils::MakeMaker;
b2ed1b6
 
b2ed1b6
 WriteMakefile (
b2ed1b6
@@ -26,5 +27,5 @@ WriteMakefile (
b2ed1b6
     LIBS => '-L@top_builddir@/lib/.libs -lhivex',
b2ed1b6
     INC => '-I@top_builddir@/lib -I@top_srcdir@/lib',
b2ed1b6
     TYPEMAPS => [ '@srcdir@/typemap' ],
b2ed1b6
-    CCFLAGS => '@CFLAGS@',
b2ed1b6
+    CCFLAGS => $Config{ccflags} . ' @CFLAGS@',
b2ed1b6
     );
b2ed1b6
-- 
b2ed1b6
1.7.5.2
b2ed1b6