perl: sync with OE

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1816 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Marcin Juszkiewicz 2007-05-30 09:33:32 +00:00
parent 6c47cd48af
commit 92363fd4f8
7 changed files with 99 additions and 14 deletions

View File

@ -1,5 +1,8 @@
SECTION = "libs"
require libxml-parser-perl_${PV}.bb
inherit native
require libxml-parser-perl_${PV}.bb
DEPENDS = "perl-native expat-native"
RDEPENDS = "perl-native"
EXTRA_CPANFLAGS += " EXPATINCPATH='${STAGING_INCDIR}' EXPATLIBPATH='${STAGING_LIBDIR}'"

View File

@ -1,6 +1,15 @@
SECTION = "libs"
SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-2.34.tar.gz"
LICENSE = "Artistic"
DEPENDS += "expat-native"
PR = "r9"
SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz"
S = "${WORKDIR}/XML-Parser-${PV}"
EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
inherit cpan
FILES_${PN} = "${PERLLIBDIRS}/auto/XML/Parser/Expat/* \
${PERLLIBDIRS}/XML"

View File

@ -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;

View File

@ -0,0 +1,13 @@
Index: perl-5.8.8/makedepend.SH
===================================================================
--- perl-5.8.8.orig/makedepend.SH 2007-05-24 12:06:52.000000000 +1000
+++ perl-5.8.8/makedepend.SH 2007-05-24 12:27:33.000000000 +1000
@@ -128,7 +128,7 @@
*.y) filebase=`basename $file .y` ;;
esac
case "$file" in
- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;;
+ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;;
*) finc= ;;
esac
$echo "Finding dependencies for $filebase$_o."

View File

@ -0,0 +1,16 @@
Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm
===================================================================
--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2007-05-30 15:16:47.000000000 +1000
+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2007-05-30 15:18:12.000000000 +1000
@@ -1597,6 +1597,11 @@
$self->{PERL_LIB} ||= $Config{privlibexp};
$self->{PERL_ARCHLIB} ||= $Config{archlibexp};
$self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
+ # Check for environment override so we'll find the headers in the correct place
+ if (defined $ENV{PERL_INC})
+ {
+ $self->{PERL_INC} = $ENV{PERL_INC};
+ }
my $perl_h;
if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h"))

View File

@ -3,7 +3,7 @@ HOMEPAGE = "http://www.perl.org/"
SECTION = "libs"
LICENSE = "Artistic|GPL"
DEPENDS = "virtual/db-native gdbm-native"
PR = "r7"
PR = "r10"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/perl-${PV}"
@ -12,7 +12,9 @@ SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
file://Configure-multilib.patch;patch=1 \
file://perl-configpm-switch.patch;patch=1 \
file://native-nopacklist.patch;patch=1 \
file://native-no-gdbminc.patch;patch=1"
file://native-no-gdbminc.patch;patch=1 \
file://native-perlinc.patch;patch=1 \
file://native-makedepend-dash.patch;patch=1"
S = "${WORKDIR}/perl-${PV}"
@ -26,7 +28,16 @@ do_configure () {
-Dcf_by="Open Embedded" \
-Dprefix=${prefix} \
-Dvendorprefix=${prefix} \
-Dsiteprefix=${prefix}/local \
-Dvendorprefix=${prefix} \
-Dsiteprefix=${prefix} \
\
-Dprivlib=${STAGING_LIBDIR}/perl/${PV} \
-Darchlib=${STAGING_LIBDIR}/perl/${PV} \
-Dvendorlib=${STAGING_LIBDIR}/perl/${PV} \
-Dvendorarch=${STAGING_LIBDIR}/perl/${PV} \
-Dsitelib=${STAGING_LIBDIR}/perl/${PV} \
-Dsitearch=${STAGING_LIBDIR}/perl/${PV} \
\
-Duseshrplib \
-Dusethreads \
-Duseithreads \
@ -50,6 +61,9 @@ do_configure () {
do_stage_append() {
# We need a hostperl link for building perl
ln -sf ${STAGING_BINDIR_NATIVE}/perl${PV} ${STAGING_BINDIR_NATIVE}/hostperl
# Store native config in non-versioned directory
install -d ${STAGING_DIR}/${HOST_SYS}/perl
install config.sh ${STAGING_DIR}/${HOST_SYS}/perl
}
PARALLEL_MAKE = ""

View File

@ -5,7 +5,7 @@ LICENSE = "Artistic|GPL"
PRIORITY = "optional"
# We need gnugrep (for -I)
DEPENDS = "virtual/db perl-native grep-native"
PR = "r16"
PR = "r18"
# Major part of version
PVM = "5.8"
@ -37,7 +37,7 @@ SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl${PV}"
# Where to find .so files - use the -native versions not those from the target build
export PERLHOSTLIB = "${STAGING_DIR}/${BUILD_SYS}/lib/perl5/${PV}/${BUILD_ARCH}-${BUILD_OS}-thread-multi/"
export PERLHOSTLIB = "${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV}/"
do_configure() {
# Make hostperl in build directory be the native perl
@ -123,7 +123,7 @@ do_install() {
do_stage() {
install -d ${STAGING_DIR}/${HOST_SYS}/perl/
install config.sh ${STAGING_DIR}/${HOST_SYS}/perl/
install lib/Config_heavy.pl ${STAGING_DIR}/${BUILD_SYS}/lib/perl5/${PV}/Config_heavy-target.pl
install lib/Config_heavy.pl ${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV}/Config_heavy-target.pl
}
PACKAGES = "perl-dbg perl perl-misc perl-lib perl-dev perl-pod perl-doc"