Files
poky/meta/recipes-devtools/perl/perl-5.12.2/generate-sh.patch
Nitin A Kamble f57e9daf74 perl, perl-native: upgrade from 5.8.8 to 5.12.2
Deleted these patches as they are part of the upstream code now.
    deleted:    files/perl-5.8.8-gcc-4.2.patch
    deleted:    perl-5.12.2/makedepend-dash.patch
    deleted:    perl-5.12.2/native-no-gdbminc.patch
    deleted:    perl-5.12.2/54_debian_perldoc-r.patch

And rebased these patches to the newer source code
    modified:   files/letgcc-find-errno.patch
    modified:   perl-5.12.2/Makefile.patch
    modified:   perl-5.12.2/asm-pageh-fix.patch
    modified:   perl-5.12.2/native-nopacklist.patch
    modified:   perl-5.12.2/native-perlinc.patch
    modified:   perl-5.12.2/Makefile.SH.patch
    modified:   perl-5.12.2/installperl.patch
    modified:   perl-5.12.2/perl-dynloader.patch
    modified:   perl-5.12.2/09_fix_installperl.patch

get patches from debian perl ver 5.12.2-2
   the fakeroot.diff patch from debian is conflicting with our
   Makefile.SH.patch, hence disabling the fakeroot patch

use newly created config files
   Created with current milestone branch on qemu machines
      modified:   config.sh
      modified:   config.sh-32
      modified:   config.sh-64

get some changes from oe's perl 5.10.1 recipe
   fix the Makefile.SH.patch use miniperl instead of perl
   import a OE 5.10.1 patch: uudmap_cross

fix install issues
   add /usr in the destdir, so that perl gets installed in
   /usr/bin/perl and not in /bin/perl

   link /usr/lib/perl to /usr/lib/perl5 so that operations with
   /usr/lib/perl path in them keep on working.

Fix/Improve perl packaging
   avoid perl-module-module-* kind of packages
   recreate perl-rdepends_5.12.2.inc file with new set of packages
   import from oe perl-rprovide_5.12.2.inc
   combine all unicore perl scripts in one package
   simplify perl-lib
   reduce no of perl recipe packages greatly.

Add zlib to depedancy

fix buildtime host contamination

This also fixes [BUGID #384]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-12 00:55:48 -08:00

47 lines
2.2 KiB
Diff

Use the ld flags from the supplied configuration file. For sh we need the
flags that specify to build PIC code so that the shared libraries work.
Index: perl-5.8.8/Cross/generate_config_sh
===================================================================
--- perl-5.8.8.orig/Cross/generate_config_sh 2003-09-05 18:31:08.000000000 +1000
+++ perl-5.8.8/Cross/generate_config_sh 2007-05-30 09:12:50.000000000 +1000
@@ -19,10 +19,10 @@
$callbacks->{'ar'} = [\&simple_process, ["AR", "arm-linux-ar"]];
$callbacks->{'archname'} = [\&simple_process, ["SYS", "armv4l-linux"]];
$callbacks->{'cc'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
-$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
-$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
-$callbacks->{'ccflags'} = [\&simple_process, ["CFLAGS", "-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
-$callbacks->{'ccflags_uselargefiles'} = [\&simple_process, ["CFLAGS", "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
+#$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
+#$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
+$callbacks->{'ccflags'} = [\&simple_process_insert, ["CFLAGS", "-fno-strict-aliasing -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
+$callbacks->{'ccflags_uselargefiles'} = [\&simple_process_insert, ["CFLAGS", "-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
$callbacks->{'ccname'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
$callbacks->{'cpp'} = [\&simple_process, ["CCP", "arm-linux-cpp"]];
$callbacks->{'cppflags'} = [\&simple_process, ["CCPFLAGS", "-fno-strict-aliasing"]];
@@ -105,6 +105,23 @@
}
+# Insert env var into the variables value
+sub simple_process_insert {
+ my $key = shift;
+ my $value = shift;
+ my $envvar = $callbacks->{$key}->[1][0];
+
+ if ($ENV{$envvar}) {
+ # Strip quotes from value
+ $value =~ s/^\'//;
+ $value =~ s/\'$//;
+ # Remove -I/usr/local/... from the value
+ $value =~ s#\W-I/usr/local/\w+\W# #g;
+ # Prepend env var (OE setting) to value
+ print("$key=\'$ENV{$envvar} $value\'\n");
+ }
+}
+
sub library_munge {
my $key = shift;
my $value = shift;