summaryrefslogtreecommitdiffstats
path: root/meta/packages/perl/perl-5.8.8/generate-sh.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/perl/perl-5.8.8/generate-sh.patch')
-rw-r--r--meta/packages/perl/perl-5.8.8/generate-sh.patch40
1 files changed, 35 insertions, 5 deletions
diff --git a/meta/packages/perl/perl-5.8.8/generate-sh.patch b/meta/packages/perl/perl-5.8.8/generate-sh.patch
index 4c2b0bd752..50ce00b42f 100644
--- a/meta/packages/perl/perl-5.8.8/generate-sh.patch
+++ b/meta/packages/perl/perl-5.8.8/generate-sh.patch
@@ -1,16 +1,46 @@
1Use the ld flags from the supplied configuration file. For sh we need the 1Use the ld flags from the supplied configuration file. For sh we need the
2flags that specify to build PIC code so that the shared libraries work. 2flags that specify to build PIC code so that the shared libraries work.
3 3
4--- perl-5.8.7/Cross/generate_config_sh~ 2006-09-25 16:34:09.000000000 +1000 4Index: perl-5.8.8/Cross/generate_config_sh
5+++ perl-5.8.7/Cross/generate_config_sh 2006-09-25 16:34:09.000000000 +1000 5===================================================================
6@@ -19,8 +19,8 @@ 6--- perl-5.8.8.orig/Cross/generate_config_sh 2003-09-05 18:31:08.000000000 +1000
7+++ perl-5.8.8/Cross/generate_config_sh 2007-05-30 09:12:50.000000000 +1000
8@@ -19,10 +19,10 @@
7 $callbacks->{'ar'} = [\&simple_process, ["AR", "arm-linux-ar"]]; 9 $callbacks->{'ar'} = [\&simple_process, ["AR", "arm-linux-ar"]];
8 $callbacks->{'archname'} = [\&simple_process, ["SYS", "armv4l-linux"]]; 10 $callbacks->{'archname'} = [\&simple_process, ["SYS", "armv4l-linux"]];
9 $callbacks->{'cc'} = [\&simple_process, ["CC", "arm-linux-gcc"]]; 11 $callbacks->{'cc'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
10-$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; 12-$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
11-$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; 13-$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
14-$callbacks->{'ccflags'} = [\&simple_process, ["CFLAGS", "-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
15-$callbacks->{'ccflags_uselargefiles'} = [\&simple_process, ["CFLAGS", "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
12+#$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; 16+#$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
13+#$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; 17+#$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
14 $callbacks->{'ccflags'} = [\&simple_process, ["CFLAGS", "-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; 18+$callbacks->{'ccflags'} = [\&simple_process_insert, ["CFLAGS", "-fno-strict-aliasing -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
15 $callbacks->{'ccflags_uselargefiles'} = [\&simple_process, ["CFLAGS", "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; 19+$callbacks->{'ccflags_uselargefiles'} = [\&simple_process_insert, ["CFLAGS", "-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
16 $callbacks->{'ccname'} = [\&simple_process, ["CC", "arm-linux-gcc"]]; 20 $callbacks->{'ccname'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
21 $callbacks->{'cpp'} = [\&simple_process, ["CCP", "arm-linux-cpp"]];
22 $callbacks->{'cppflags'} = [\&simple_process, ["CCPFLAGS", "-fno-strict-aliasing"]];
23@@ -105,6 +105,23 @@
24
25 }
26
27+# Insert env var into the variables value
28+sub simple_process_insert {
29+ my $key = shift;
30+ my $value = shift;
31+ my $envvar = $callbacks->{$key}->[1][0];
32+
33+ if ($ENV{$envvar}) {
34+ # Strip quotes from value
35+ $value =~ s/^\'//;
36+ $value =~ s/\'$//;
37+ # Remove -I/usr/local/... from the value
38+ $value =~ s#\W-I/usr/local/\w+\W##g;
39+ # Prepend env var (OE setting) to value
40+ print("$key=\'$ENV{$envvar} $value\'\n");
41+ }
42+}
43+
44 sub library_munge {
45 my $key = shift;
46 my $value = shift;