aboutsummaryrefslogtreecommitdiffstats
path: root/packages/perl
diff options
context:
space:
mode:
authorJamie Lenehan <lenehan@twibble.org>2007-05-29 23:48:37 +0000
committerJamie Lenehan <lenehan@twibble.org>2007-05-29 23:48:37 +0000
commit4e2ab57e3a73f1e11707b3981e78aaba779d8285 (patch)
treeb62f34492dada1bb7eb225996cda583803f3a0a4 /packages/perl
parente7a5b245b9d2ea2fe4675028ff729ea1ac4a36f5 (diff)
downloadopenembedded-4e2ab57e3a73f1e11707b3981e78aaba779d8285.tar.gz
perl 5.8.8: Fix the CFLAGS being used for perl modules. Instead of replacing
the CFLAGS from the perl configuration with the OE CFLAGS we prepend the OE CFLAGS. This is needed to ensure that compiler defines (such as _GNU_SOURCE) are correctly definied when building perl modules. This primarily effects modules that link against the core perl library, such as libxml-parser-perl.
Diffstat (limited to 'packages/perl')
-rw-r--r--packages/perl/perl-5.8.8/generate-sh.patch40
-rw-r--r--packages/perl/perl_5.8.8.bb2
2 files changed, 36 insertions, 6 deletions
diff --git a/packages/perl/perl-5.8.8/generate-sh.patch b/packages/perl/perl-5.8.8/generate-sh.patch
index 4c2b0bd752..50ce00b42f 100644
--- a/packages/perl/perl-5.8.8/generate-sh.patch
+++ b/packages/perl/perl-5.8.8/generate-sh.patch
@@ -1,16 +1,46 @@
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.
---- perl-5.8.7/Cross/generate_config_sh~ 2006-09-25 16:34:09.000000000 +1000
-+++ perl-5.8.7/Cross/generate_config_sh 2006-09-25 16:34:09.000000000 +1000
-@@ -19,8 +19,8 @@
+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, ["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->{'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;
diff --git a/packages/perl/perl_5.8.8.bb b/packages/perl/perl_5.8.8.bb
index c8e7afebc7..3dfe17cad8 100644
--- a/packages/perl/perl_5.8.8.bb
+++ b/packages/perl/perl_5.8.8.bb
@@ -5,7 +5,7 @@ LICENSE = "Artistic|GPL"
PRIORITY = "optional"
# We need gnugrep (for -I)
DEPENDS = "virtual/db perl-native grep-native"
-PR = "r16"
+PR = "r17"
# Major part of version
PVM = "5.8"