perl: Sync with OE.dev

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@924 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2006-11-21 12:28:06 +00:00
parent 4d0fb2b9e8
commit f8c2f22009
5 changed files with 1084 additions and 22 deletions

View File

@ -971,7 +971,7 @@ useperlio='define'
useposix='true'
usereentrant='undef'
usesfio='false'
useshrplib='false'
useshrplib='true'
usesitecustomize='undef'
usesocks='undef'
usethreads='undef'

View File

@ -325,9 +325,9 @@ d_pipe='define'
d_poll='define'
d_portable='define'
d_procselfexe='define'
d_pthread_atfork='undef'
d_pthread_atfork='define'
d_pthread_attr_setscope='define'
d_pthread_yield='undef'
d_pthread_yield='define'
d_pwage='undef'
d_pwchange='undef'
d_pwclass='undef'
@ -716,12 +716,12 @@ lib_ext='.a'
libc='/lib/libc-2.2.5.so'
libperl='libperl.so'
libpth='/usr/local/lib /lib /usr/lib'
libs='-lresolv -lnsl -ldl -lm -lcrypt -lutil -lc'
libs='-lresolv -lnsl -ldl -lm -lpthread -lcrypt -lutil -lc'
libsdirs=' /usr/lib'
libsfiles=' libresolv.so libnsl.so libdl.so libm.so libcrypt.so libutil.so libc.so'
libsfound=' /usr/lib/libresolv.so /usr/lib/libnsl.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libc.so'
libsfiles=' libresolv.so libnsl.so libdl.so libm.so libpthread.so libcrypt.so libutil.so libc.so'
libsfound=' /usr/lib/libresolv.so /usr/lib/libnsl.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libpthread.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libc.so'
libspath=' /usr/local/lib /lib /usr/lib'
libswanted='sfio socket resolv inet nsl nm gdbm dbm db malloc dl dld ld sun m crypt sec util c cposix posix ucb BSD'
libswanted='sfio socket resolv inet nsl nm gdbm dbm db malloc dl dld ld sun m pthread crypt sec util c cposix posix ucb BSD'
libswanted_uselargefiles=''
line=''
lint=''
@ -801,7 +801,7 @@ perl5='hostperl'
perl=''
perl_patchlevel=''
perladmin='root@localhost'
perllibs='-lresolv -lnsl -ldl -lm -lcrypt -lutil -lc'
perllibs='-lresolv -lnsl -ldl -lm -lpthread -lcrypt -lutil -lc'
perlpath='hostperl'
pg='pg'
phostname=''
@ -958,7 +958,7 @@ use64bitint='undef'
usecrosscompile='undef'
usedl='define'
usefaststdio='define'
useithreads='undef'
useithreads='define'
uselargefiles='define'
uselongdouble='undef'
usemallocwrap='define'
@ -971,10 +971,10 @@ useperlio='define'
useposix='true'
usereentrant='undef'
usesfio='false'
useshrplib='false'
useshrplib='true'
usesitecustomize='undef'
usesocks='undef'
usethreads='undef'
usethreads='define'
usevendorprefix='undef'
usevfork='false'
usrinc='/usr/include'

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@ SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
file://config.sh-mipsel-linux \
file://config.sh-i686-linux"
HOSTPERL=${STAGING_BINDIR}/perl${PV}
HOSTPERL="${STAGING_BINDIR}/perl${PV}"
do_configure() {
ln -sf ${HOSTPERL} ${STAGING_BINDIR}/hostperl
@ -41,14 +41,17 @@ do_configure() {
do_compile() {
sed -i -e 's|/usr/include|${STAGING_INCDIR}|g' ext/Errno/Errno_pm.PL
cd Cross
oe_runmake perl
# You must use gcc to link on sh
OPTIONS=""
if test ${TARGET_ARCH} = "sh3" -o ${TARGET_ARCH} = "sh4"; then
OPTIONS="LD=${TARGET_ARCH}-${TARGET_OS}-gcc"
fi
oe_runmake perl $OPTIONS
}
do_install() {
oe_runmake install
# Make sure the shared library is configured before trying to move it
grep -q "useshrplib='false'" ${S}/config.sh ||
mv ${D}/${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/CORE/libperl.so ${D}/${libdir}/libperl.so.${PV}
mv ${D}/${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/CORE/libperl.so ${D}/${libdir}/libperl.so.${PV}
( cd ${D}/usr/bin/; rm perl; ln -s perl${PV} perl )
}
@ -77,3 +80,4 @@ FILES_${PN}-dbg += " \
${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/auto/*/.debug \
${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/auto/*/*/.debug \
${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/auto/*/*/*/.debug"

View File

@ -1,4 +1,7 @@
# We need gnugrep (for -I)
DEPENDS_append += " grep-native"
require perl.inc
SRC_URI += "file://config.sh-armeb-linux \
@ -6,12 +9,21 @@ SRC_URI += "file://config.sh-armeb-linux \
file://config.sh-i386-linux \
file://config.sh-i486-linux \
file://config.sh-i586-linux \
file://config.sh-i686-linux \
file://config.sh-x86_64-linux \
file://config.sh-sh3-linux \
file://config.sh-sh4-linux"
# Patches for sh3/sh4, use gcc to link and override generaet.sh to
# use PIC mode for compiling shared library objects.
SRC_URI_append_sh4 += "file://override-generate-sh.patch;patch=1"
SRC_URI_append_sh4 += "file://makefile-usegcc-to-link.patch;patch=1"
SRC_URI_append_sh3 += "file://override-generate-sh.patch;patch=1"
SRC_URI_append_sh3 += "file://makefile-usegcc-to-link.patch;patch=1"
PARALLEL_MAKE = ""
PR = "r17"
PR = "r21"
do_configure() {
ln -sf ${HOSTPERL} ${STAGING_BINDIR}/hostperl
@ -24,6 +36,7 @@ do_configure() {
cp ${WORKDIR}/config.sh-i486-linux .
cp ${WORKDIR}/config.sh-i586-linux .
cp ${WORKDIR}/config.sh-i686-linux .
cp ${WORKDIR}/config.sh-x86_64-linux .
cp ${WORKDIR}/config.sh-armeb-linux .
cp ${WORKDIR}/config.sh-sh3-linux .
cp ${WORKDIR}/config.sh-sh4-linux .
@ -45,7 +58,7 @@ do_configure() {
sed -i -e "s%/usr/include/%${STAGING_INCDIR}/%g" config.sh-${TARGET_ARCH}-${TARGET_OS}
#These are strewn all over the source tree
for foo in `grep -m1 \/usr\/include\/.*\\.h ${WORKDIR}/* -r | cut -f 1 -d ":"` ; do
for foo in `grep -I -m1 \/usr\/include\/.*\\.h ${WORKDIR}/* -r | cut -f 1 -d ":"` ; do
echo Fixing: $foo
sed -e "s%/usr/include/%${STAGING_INCDIR}/%g" -i $foo
done
@ -56,15 +69,13 @@ do_configure() {
}
do_install_append() {
# Make sure the shared library is configured before trying to symlink it
grep -q "useshrplib='false'" ${S}/config.sh ||
ln -s libperl.so.${PV} ${D}/${libdir}/libperl.so.5
ln -s libperl.so.${PV} ${D}/${libdir}/libperl.so.5
sed -i -e "s,${D},,g" ${D}/${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/Config_heavy.pl
}
# Create a perl-modules package recommending all the other perl
# packages (actually the non modules packages and not created too)
ALLOW_EMPTY_perl-modules = 1
ALLOW_EMPTY_perl-modules = "1"
PACKAGES_append = " perl-modules"
RRECOMMENDS_perl-modules = "${PACKAGES}"
RPROVIDES_perl-lib = "perl-lib"
@ -75,6 +86,10 @@ require perl-rdepends_${PV}.inc
# To create/update the perl-rdepends_${PV}.inc use this piece of ugly script (modified for your arch/paths etc):
# daka@DaKa2:/home/slug/slugos/tmp/work/perl-5.8.7-r14/install$ egrep -r "use|require" * | grep ";$" | egrep ".pm:use |.pm:require " | grep -v v5.6.0 | grep -v 5.00 | grep -v \$module | sed -e "s, \+, ,g" | cut -f1,2 -d" " | sed -e "s,;, ,g" | sed -e "s,(), ,g" | sed -e "s,::,-,g" | sort | uniq | tr [:upper:] [:lower:] | sed -e "s,/[^ ]\+ , += \"perl-module-,g" | sed -e "s, \?$, \",g" | sed -e "s,_,-,g" | sed -e "s,^,RDEPENDS_,g" | sed -e "s,armeb-linux,\$\{TARGET_ARCH\}-\$\{TARGET_OS\},g" | egrep -v "perl-module-5|perl-module-tk|perl-module-mac-internetconfig|perl-module-ndbm-file|perl-module-html-treebuilder|perl-module-lwp-simple|perl-module-vms-filespec|perl-module-fcgi|perl-module-vms-stdio|perl-module-mac-buildtools" > /home/slug/openembedded/packages/perl/perl-rdepends_5.8.7.inc
# Some additional dependencies that the above doesn't manage to figure out
DEPENDS_perl-module-math-bigint += "perl-module-math-bigint-calc "
DEPENDS_perl-module-math-bigint-calc += "perl-module-integer "
# Some packages changed names in 5.8.7-r14, RPROVIDE them
RPROVIDES_perl-module-b-asmdata = "perl-module-${TARGET_SYS}-b-asmdata"
RPROVIDES_perl-module-b-assembler = "perl-module-${TARGET_SYS}-b-assembler"