diff options
author | Graham Gower <graham.gower@gmail.com> | 2010-11-30 15:23:42 +1030 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2010-12-02 11:20:17 -0800 |
commit | d666a5f6b3fe1ed9c31cbc2b403471a44f6304af (patch) | |
tree | 47e5016e16ac0ee5dabee29929a0f9833ab235c1 | |
parent | 7d479cb14860f3d05261c539989d1201f41f6eda (diff) | |
download | openembedded-d666a5f6b3fe1ed9c31cbc2b403471a44f6304af.tar.gz |
perl_5.8.8.bb, perl_5.10.1.bb: Fix build when DISTRO_FEATURES lacks largefile.
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>
Acked-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | recipes/perl/perl_5.10.1.bb | 13 | ||||
-rw-r--r-- | 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 9038b9670b..91434e284a 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 a0fb21a3d9..69078e8b24 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' \ |