[oe-commits] org.oe.dev perl 5.8.8: Fix the CFLAGS being used for perl modules. Instead of replacing

lenehan commit openembedded-commits at lists.openembedded.org
Wed May 30 05:57:14 UTC 2007


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.

Author: lenehan at openembedded.org
Branch: org.openembedded.dev
Revision: bbc47aa390caaa622ce35fafecf91c2adc33bee6
ViewMTN: http://monotone.openembedded.org/revision.psp?id=bbc47aa390caaa622ce35fafecf91c2adc33bee6
Files:
1
packages/perl/perl-5.8.8/generate-sh.patch
packages/perl/perl_5.8.8.bb
Diffs:

#
# mt diff -rd35e5bf13c213e323b3e2ab015c7f535c2657821 -rbbc47aa390caaa622ce35fafecf91c2adc33bee6
#
# 
# 
# patch "packages/perl/perl-5.8.8/generate-sh.patch"
#  from [afba0835a42adedc695143d01689f4b2cbf933bd]
#    to [463494c03cc7f5bf8e44cc8468f7035d34a424b2]
# 
# patch "packages/perl/perl_5.8.8.bb"
#  from [52831084cfa79e80e5254175b2eb6c8ac3c5a233]
#    to [6adcfa20967db9b85069420c2dc62fd6a0117e80]
# 
============================================================
--- packages/perl/perl-5.8.8/generate-sh.patch	afba0835a42adedc695143d01689f4b2cbf933bd
+++ packages/perl/perl-5.8.8/generate-sh.patch	463494c03cc7f5bf8e44cc8468f7035d34a424b2
@@ -1,16 +1,46 @@ flags that specify to build PIC code so 
 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;
============================================================
--- packages/perl/perl_5.8.8.bb	52831084cfa79e80e5254175b2eb6c8ac3c5a233
+++ packages/perl/perl_5.8.8.bb	6adcfa20967db9b85069420c2dc62fd6a0117e80
@@ -5,7 +5,7 @@ DEPENDS = "virtual/db perl-native grep-n
 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"






More information about the Openembedded-commits mailing list