* [PATCH] perl_5.8.8.bb, perl_5.10.1.bb: Fix build when DISTRO_FEATURES lacks largefile.
@ 2010-11-30 4:53 Graham Gower
0 siblings, 0 replies; only message in thread
From: Graham Gower @ 2010-11-30 4:53 UTC (permalink / raw)
To: openembedded-devel
CCCMD = mipsel-oe-linux-uclibc-gcc -march=mips32 -DPERL_CORE -c -isystem/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -I/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wall
In file included from /mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/sys/types.h:27:0,
from perl.h:420,
from miniperlmain.c:36:
/mnt/oe/tmp/sysroots/mipsel-oe-linux-uclibc/include/features.h:216:5: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
Signed-off-by: Graham Gower <graham.gower@gmail.com>
---
recipes/perl/perl_5.10.1.bb | 13 +++++++++++++
recipes/perl/perl_5.8.8.bb | 13 +++++++++++++
2 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/recipes/perl/perl_5.10.1.bb b/recipes/perl/perl_5.10.1.bb
index 9038b96..91434e2 100644
--- a/recipes/perl/perl_5.10.1.bb
+++ b/recipes/perl/perl_5.10.1.bb
@@ -97,6 +97,17 @@ export LDDLFLAGS = "${LDFLAGS} -shared"
# We're almost Debian, aren't we?
CFLAGS += "-DDEBIAN"
+do_nolargefile() {
+ sed -i -e "s,\(uselargefiles=\)'define',\1'undef',g" \
+ -e "s,\(d_readdir64_r=\)'define',\1'undef',g" \
+ -e "s,\(readdir64_r_proto=\)'\w+',\1'0',g" \
+ -e "/ccflags_uselargefiles/d" \
+ -e "s/-Duselargefiles//" \
+ -e "s/-D_FILE_OFFSET_BITS=64//" \
+ -e "s/-D_LARGEFILE_SOURCE//" \
+ ${S}/Cross/config.sh-${TARGET_ARCH}-${TARGET_OS}
+}
+
do_configure() {
# Make hostperl in build directory be the native perl
ln -sf ${HOSTPERL} hostperl
@@ -128,6 +139,8 @@ do_configure() {
config.sh-${TARGET_ARCH}-${TARGET_OS}
fi
+ ${@base_contains('DISTRO_FEATURES', 'largefile', '', 'do_nolargefile', d)}
+
# Update some paths in the configuration
sed -i -e 's,@DESTDIR@,${D},g' \
-e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \
diff --git a/recipes/perl/perl_5.8.8.bb b/recipes/perl/perl_5.8.8.bb
index a0fb21a..69078e8 100644
--- a/recipes/perl/perl_5.8.8.bb
+++ b/recipes/perl/perl_5.8.8.bb
@@ -52,6 +52,17 @@ export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl/${PV}/"
# LDFLAGS for shared libraries
export LDDLFLAGS = "${LDFLAGS} -shared"
+do_nolargefile() {
+ sed -i -e "s,\(uselargefiles=\)'define',\1'undef',g" \
+ -e "s,\(d_readdir64_r=\)'define',\1'undef',g" \
+ -e "s,\(readdir64_r_proto=\)'\w+',\1'0',g" \
+ -e "/ccflags_uselargefiles/d" \
+ -e "s/-Duselargefiles//" \
+ -e "s/-D_FILE_OFFSET_BITS=64//" \
+ -e "s/-D_LARGEFILE_SOURCE//" \
+ ${S}/Cross/config.sh-${TARGET_ARCH}-${TARGET_OS}
+}
+
do_configure() {
# Make hostperl in build directory be the native perl
ln -sf ${HOSTPERL} hostperl
@@ -83,6 +94,8 @@ do_configure() {
config.sh-${TARGET_ARCH}-${TARGET_OS}
fi
+ ${@base_contains('DISTRO_FEATURES', 'largefile', '', 'do_nolargefile', d)}
+
# Update some paths in the configuration
sed -i -e 's,@DESTDIR@,${D},g' \
-e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \
--
1.7.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2010-11-30 4:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-30 4:53 [PATCH] perl_5.8.8.bb, perl_5.10.1.bb: Fix build when DISTRO_FEATURES lacks largefile Graham Gower
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.