summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/packages/perl/perl-5.8.8/Makefile.SH.patch63
-rw-r--r--meta/packages/perl/perl-5.8.8/Makefile.patch42
-rw-r--r--meta/packages/perl/perl-5.8.8/asm-pageh-fix.patch19
-rw-r--r--meta/packages/perl/perl-5.8.8/generate-sh.patch2
-rw-r--r--meta/packages/perl/perl-5.8.8/installperl.patch15
-rw-r--r--meta/packages/perl/perl-5.8.8/makedepend-dash.patch (renamed from meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch)0
-rw-r--r--meta/packages/perl/perl-5.8.8/native-ssp.patch14
-rw-r--r--meta/packages/perl/perl-native_5.8.8.bb5
-rw-r--r--meta/packages/perl/perl_5.8.8.bb31
9 files changed, 158 insertions, 33 deletions
diff --git a/meta/packages/perl/perl-5.8.8/Makefile.SH.patch b/meta/packages/perl/perl-5.8.8/Makefile.SH.patch
index c674ce9ee5..a30074be2b 100644
--- a/meta/packages/perl/perl-5.8.8/Makefile.SH.patch
+++ b/meta/packages/perl/perl-5.8.8/Makefile.SH.patch
@@ -1,6 +1,37 @@
1--- perl-5.8.8/Makefile.SH 2007/04/20 12:43:33 1.1 1Index: perl-5.8.8/Makefile.SH
2+++ perl-5.8.8/Makefile.SH 2007/04/20 15:20:40 2===================================================================
3@@ -129,18 +129,7 @@ 3--- perl-5.8.8.orig/Makefile.SH 2006-01-24 23:49:44.000000000 +1100
4+++ perl-5.8.8/Makefile.SH 2007-06-14 13:29:37.000000000 +1000
5@@ -43,12 +43,12 @@
6 true)
7 # Prefix all runs of 'miniperl' and 'perl' with
8 # $ldlibpth so that ./perl finds *this* shared libperl.
9- case "$LD_LIBRARY_PATH" in
10- '')
11- ldlibpth="LD_LIBRARY_PATH=`pwd`";;
12- *)
13- ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
14- esac
15+# case "$LD_LIBRARY_PATH" in
16+# '')
17+# ldlibpth="LD_LIBRARY_PATH=`pwd`";;
18+# *)
19+# ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
20+# esac
21
22 pldlflags="$cccdlflags"
23 static_target='static_pic'
24@@ -108,7 +108,8 @@
25 ldlibpth=''
26 ;;
27 *)
28- eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\""
29+# We compile in the library path in OE from cross-compile, so lets not do this
30+# eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\""
31 ;;
32 esac
33 # Strip off any trailing :'s
34@@ -129,18 +130,7 @@
4 # INSTALL file, under "Building a shared perl library". 35 # INSTALL file, under "Building a shared perl library".
5 # If there is no pre-existing $libperl, we don't need 36 # If there is no pre-existing $libperl, we don't need
6 # to do anything further. 37 # to do anything further.
@@ -20,7 +51,7 @@
20 ;; 51 ;;
21 os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth" 52 os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
22 ;; 53 ;;
23@@ -401,9 +390,19 @@ 54@@ -401,9 +391,19 @@
24 .c.s: 55 .c.s:
25 $(CCCMDSRC) -S $*.c 56 $(CCCMDSRC) -S $*.c
26 57
@@ -43,7 +74,7 @@
43 74
44 .PHONY: all compile translators utilities 75 .PHONY: all compile translators utilities
45 76
46@@ -413,10 +412,10 @@ 77@@ -413,10 +413,10 @@
47 cd x2p; $(MAKE) compile; 78 cd x2p; $(MAKE) compile;
48 cd pod; $(MAKE) compile; 79 cd pod; $(MAKE) compile;
49 80
@@ -56,7 +87,7 @@
56 @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all 87 @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
57 88
58 89
59@@ -550,7 +549,7 @@ 90@@ -550,7 +550,7 @@
60 case "$useshrplib" in 91 case "$useshrplib" in
61 true) 92 true)
62 $spitshell >>Makefile <<'!NO!SUBS!' 93 $spitshell >>Makefile <<'!NO!SUBS!'
@@ -65,7 +96,7 @@
65 !NO!SUBS! 96 !NO!SUBS!
66 case "$osname" in 97 case "$osname" in
67 aix) 98 aix)
68@@ -591,7 +590,9 @@ 99@@ -591,7 +591,9 @@
69 $(CC) -o miniperl $(CLDFLAGS) \ 100 $(CC) -o miniperl $(CLDFLAGS) \
70 `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \ 101 `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
71 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs) 102 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
@@ -76,7 +107,7 @@
76 !NO!SUBS! 107 !NO!SUBS!
77 ;; 108 ;;
78 next4*) 109 next4*)
79@@ -599,7 +600,9 @@ 110@@ -599,7 +601,9 @@
80 miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT) 111 miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
81 $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \ 112 $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
82 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs) 113 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
@@ -87,7 +118,7 @@
87 !NO!SUBS! 118 !NO!SUBS!
88 ;; 119 ;;
89 darwin*) 120 darwin*)
90@@ -620,7 +623,9 @@ 121@@ -620,7 +624,9 @@
91 -@rm -f miniperl.xok 122 -@rm -f miniperl.xok
92 $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o miniperl \ 123 $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o miniperl \
93 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs) 124 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs)
@@ -98,7 +129,7 @@
98 !NO!SUBS! 129 !NO!SUBS!
99 ;; 130 ;;
100 *) 131 *)
101@@ -629,7 +634,9 @@ 132@@ -629,7 +635,9 @@
102 -@rm -f miniperl.xok 133 -@rm -f miniperl.xok
103 $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl \ 134 $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl \
104 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs) 135 miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs)
@@ -109,7 +140,7 @@
109 !NO!SUBS! 140 !NO!SUBS!
110 ;; 141 ;;
111 esac 142 esac
112@@ -766,7 +773,7 @@ 143@@ -766,7 +774,7 @@
113 # We need to autosplit in two steps because VOS can't handle so many args 144 # We need to autosplit in two steps because VOS can't handle so many args
114 # 145 #
115 .PHONY: preplibrary 146 .PHONY: preplibrary
@@ -118,7 +149,7 @@
118 @sh ./makedir lib/auto 149 @sh ./makedir lib/auto
119 @echo " AutoSplitting perl library" 150 @echo " AutoSplitting perl library"
120 $(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \ 151 $(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \
121@@ -775,35 +782,35 @@ 152@@ -775,35 +783,35 @@
122 autosplit_lib_modules(@ARGV)' lib/*/*.pm 153 autosplit_lib_modules(@ARGV)' lib/*/*.pm
123 $(MAKE) lib/re.pm 154 $(MAKE) lib/re.pm
124 155
@@ -161,7 +192,7 @@
161 -@test -f extra.pods && rm -f `cat extra.pods` 192 -@test -f extra.pods && rm -f `cat extra.pods`
162 -@rm -f extra.pods 193 -@rm -f extra.pods
163 -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \ 194 -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
164@@ -850,18 +857,7 @@ 195@@ -850,18 +858,7 @@
165 INSTALL_DEPENDENCE = all 196 INSTALL_DEPENDENCE = all
166 197
167 install.perl: $(INSTALL_DEPENDENCE) installperl 198 install.perl: $(INSTALL_DEPENDENCE) installperl
@@ -181,7 +212,7 @@
181 212
182 # XXX Experimental. Hardwired values, but useful for testing. 213 # XXX Experimental. Hardwired values, but useful for testing.
183 # Eventually Configure could ask for some of these values. 214 # Eventually Configure could ask for some of these values.
184@@ -978,16 +974,16 @@ 215@@ -978,16 +975,16 @@
185 # 216 #
186 # DynaLoader may be needed for extensions that use Makefile.PL. 217 # DynaLoader may be needed for extensions that use Makefile.PL.
187 218
@@ -202,7 +233,7 @@
202 @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) 233 @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
203 234
204 .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \ 235 .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
205@@ -1125,7 +1121,7 @@ 236@@ -1125,7 +1122,7 @@
206 237
207 test_prep_pre: preplibrary utilities $(nonxs_ext) 238 test_prep_pre: preplibrary utilities $(nonxs_ext)
208 239
@@ -211,7 +242,7 @@
211 PERL=./perl $(MAKE) _test_prep 242 PERL=./perl $(MAKE) _test_prep
212 243
213 _test_tty: 244 _test_tty:
214@@ -1238,7 +1234,7 @@ 245@@ -1238,7 +1235,7 @@
215 246
216 # Can't depend on lib/Config.pm because that might be where miniperl 247 # Can't depend on lib/Config.pm because that might be where miniperl
217 # is crashing. 248 # is crashing.
diff --git a/meta/packages/perl/perl-5.8.8/Makefile.patch b/meta/packages/perl/perl-5.8.8/Makefile.patch
index c78a39b178..ed494b3287 100644
--- a/meta/packages/perl/perl-5.8.8/Makefile.patch
+++ b/meta/packages/perl/perl-5.8.8/Makefile.patch
@@ -1,6 +1,18 @@
1--- perl-5.8.8/Cross/Makefile 2007/04/06 00:47:46 1.1 1Index: perl-5.8.8/Cross/Makefile
2+++ perl-5.8.8/Cross/Makefile 2007/04/06 00:48:04 2===================================================================
3@@ -12,7 +12,7 @@ 3--- perl-5.8.8.orig/Cross/Makefile 2004-01-12 21:44:01.000000000 +0100
4+++ perl-5.8.8/Cross/Makefile 2007-08-15 00:15:18.000000000 +0200
5@@ -2,7 +2,8 @@
6 #
7 ## $Id: Makefile,v 1.7 2004/01/12 15:41:02 red Exp red $
8
9-export TOPDIR=${shell pwd}
10+override TOPDIR=${shell pwd}
11+export TOPDIR
12 include $(TOPDIR)/config
13 export CFLAGS
14 export SYS=$(ARCH)-$(OS)
15@@ -12,7 +13,7 @@
4 16
5 export CC = $(CROSS)gcc 17 export CC = $(CROSS)gcc
6 export CXX = $(CROSS)g++ 18 export CXX = $(CROSS)g++
@@ -9,7 +21,29 @@
9 export STRIP = $(CROSS)strip 21 export STRIP = $(CROSS)strip
10 export AR = $(CROSS)ar 22 export AR = $(CROSS)ar
11 export RANLIB = $(CROSS)ranlib 23 export RANLIB = $(CROSS)ranlib
12@@ -58,11 +58,11 @@ 24@@ -34,21 +35,6 @@
25 all:
26 @echo Please read the README file before doing anything else.
27
28-gen_patch:
29- diff -Bbur ../Makefile.SH Makefile.SH > Makefile.SH.patch
30- diff -Bbur ../installperl installperl > installperl.patch
31-
32-patch:
33- cd .. ; if [ ! -e ./CROSS_PATCHED ] ; then \
34- patch -p1 < Cross/Makefile.SH.patch; \
35- patch -p1 < Cross/installperl.patch ; mv installperl installperl-patched; \
36- sed -e 's/XXSTRIPXX/$(SYS)/' installperl-patched > installperl; \
37- touch CROSS_PATCHED ; fi
38-
39-dry_patch:
40- cd .. ; patch --dry-run -p1 < Cross/Makefile.SH.patch; \
41- patch --dry-run -p1 < Cross/installperl.patch; \
42-
43 perl:
44 @echo Perl cross-build directory is $(TOPDIR)
45 @echo Target arch is $(SYS)
46@@ -58,11 +44,11 @@
13 $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh 47 $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
14 cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more 48 cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
15 cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library 49 cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library
diff --git a/meta/packages/perl/perl-5.8.8/asm-pageh-fix.patch b/meta/packages/perl/perl-5.8.8/asm-pageh-fix.patch
new file mode 100644
index 0000000000..41f3b1d23c
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.8/asm-pageh-fix.patch
@@ -0,0 +1,19 @@
1Perl inclues asm/page.h in order to get the definition for getpagesize which
2has been definied in unistd.h since glibc 2.1. Some recent version of linux
3libc headers removed the asm/page.h resulting in failures here for some
4people.
5
6Index: perl-5.8.8/ext/IPC/SysV/SysV.xs
7===================================================================
8--- perl-5.8.8.orig/ext/IPC/SysV/SysV.xs 2001-07-01 04:46:07.000000000 +1000
9+++ perl-5.8.8/ext/IPC/SysV/SysV.xs 2007-07-06 11:40:21.000000000 +1000
10@@ -3,9 +3,6 @@
11 #include "XSUB.h"
12
13 #include <sys/types.h>
14-#ifdef __linux__
15-# include <asm/page.h>
16-#endif
17 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
18 #ifndef HAS_SEM
19 # include <sys/ipc.h>
diff --git a/meta/packages/perl/perl-5.8.8/generate-sh.patch b/meta/packages/perl/perl-5.8.8/generate-sh.patch
index 50ce00b42f..ceb74196d6 100644
--- a/meta/packages/perl/perl-5.8.8/generate-sh.patch
+++ b/meta/packages/perl/perl-5.8.8/generate-sh.patch
@@ -35,7 +35,7 @@ Index: perl-5.8.8/Cross/generate_config_sh
35+ $value =~ s/^\'//; 35+ $value =~ s/^\'//;
36+ $value =~ s/\'$//; 36+ $value =~ s/\'$//;
37+ # Remove -I/usr/local/... from the value 37+ # Remove -I/usr/local/... from the value
38+ $value =~ s#\W-I/usr/local/\w+\W##g; 38+ $value =~ s#\W-I/usr/local/\w+\W# #g;
39+ # Prepend env var (OE setting) to value 39+ # Prepend env var (OE setting) to value
40+ print("$key=\'$ENV{$envvar} $value\'\n"); 40+ print("$key=\'$ENV{$envvar} $value\'\n");
41+ } 41+ }
diff --git a/meta/packages/perl/perl-5.8.8/installperl.patch b/meta/packages/perl/perl-5.8.8/installperl.patch
new file mode 100644
index 0000000000..ff52bc3a9c
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.8/installperl.patch
@@ -0,0 +1,15 @@
1Index: perl-5.8.8/installperl
2===================================================================
3--- perl-5.8.8.orig/installperl 2007-06-14 12:36:23.000000000 +1000
4+++ perl-5.8.8/installperl 2007-06-14 12:38:39.000000000 +1000
5@@ -3,8 +3,8 @@
6 BEGIN {
7 require 5.004;
8 chdir '..' if !-d 'lib' and -d '../lib';
9- @INC = 'lib';
10- $ENV{PERL5LIB} = 'lib';
11+# @INC = 'lib';
12+# $ENV{PERL5LIB} = 'lib';
13 }
14
15 use strict;
diff --git a/meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch b/meta/packages/perl/perl-5.8.8/makedepend-dash.patch
index 1f15474377..1f15474377 100644
--- a/meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch
+++ b/meta/packages/perl/perl-5.8.8/makedepend-dash.patch
diff --git a/meta/packages/perl/perl-5.8.8/native-ssp.patch b/meta/packages/perl/perl-5.8.8/native-ssp.patch
new file mode 100644
index 0000000000..f815aad452
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.8/native-ssp.patch
@@ -0,0 +1,14 @@
1Fix for compiling with ssp enabled gcc:
2See http://bugs.openembedded.org/show_bug.cgi?id=1980
3
4diff -Naur perl-5.8.7.orig/cflags.SH perl-5.8.7/cflags.SH
5--- perl-5.8.7.orig/cflags.SH 2002-09-30 10:59:07.000000000 +0000
6+++ perl-5.8.7/cflags.SH 2005-10-02 04:08:39.000000000 +0000
7@@ -165,6 +165,8 @@
8 esac
9
10 : Can we perhaps use $ansi2knr here
11+ [[ $file == regcomp ]] && export ccflags="${ccflags} -fno-stack-protector"
12+ [[ $file == regexec ]] && export ccflags="${ccflags} -fno-stack-protector"
13 echo "$cc -c -DPERL_CORE $ccflags $optimize $warn"
14 eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"'
diff --git a/meta/packages/perl/perl-native_5.8.8.bb b/meta/packages/perl/perl-native_5.8.8.bb
index d4896daa12..0e89f11050 100644
--- a/meta/packages/perl/perl-native_5.8.8.bb
+++ b/meta/packages/perl/perl-native_5.8.8.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.perl.org/"
3SECTION = "libs" 3SECTION = "libs"
4LICENSE = "Artistic|GPL" 4LICENSE = "Artistic|GPL"
5DEPENDS = "virtual/db-native gdbm-native" 5DEPENDS = "virtual/db-native gdbm-native"
6PR = "r10" 6PR = "r13"
7 7
8FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/perl-${PV}" 8FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/perl-${PV}"
9 9
@@ -14,7 +14,8 @@ SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
14 file://native-nopacklist.patch;patch=1 \ 14 file://native-nopacklist.patch;patch=1 \
15 file://native-no-gdbminc.patch;patch=1 \ 15 file://native-no-gdbminc.patch;patch=1 \
16 file://native-perlinc.patch;patch=1 \ 16 file://native-perlinc.patch;patch=1 \
17 file://native-makedepend-dash.patch;patch=1" 17 file://makedepend-dash.patch;patch=1 \
18 file://asm-pageh-fix.patch;patch=1"
18 19
19S = "${WORKDIR}/perl-${PV}" 20S = "${WORKDIR}/perl-${PV}"
20 21
diff --git a/meta/packages/perl/perl_5.8.8.bb b/meta/packages/perl/perl_5.8.8.bb
index d603c9d67d..977852ac21 100644
--- a/meta/packages/perl/perl_5.8.8.bb
+++ b/meta/packages/perl/perl_5.8.8.bb
@@ -5,18 +5,21 @@ LICENSE = "Artistic|GPL"
5PRIORITY = "optional" 5PRIORITY = "optional"
6# We need gnugrep (for -I) 6# We need gnugrep (for -I)
7DEPENDS = "virtual/db perl-native grep-native" 7DEPENDS = "virtual/db perl-native grep-native"
8PR = "r19" 8PR = "r20"
9 9
10# Major part of version 10# Major part of version
11PVM = "5.8" 11PVM = "5.8"
12 12
13SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \ 13SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
14 file://Makefile.patch;patch=1 \ 14 file://Makefile.patch;patch=1 \
15 file://Makefile.SH.patch \ 15 file://Makefile.SH.patch;patch=1 \
16 file://makedepend-dash.patch;patch=1 \
17 file://installperl.patch;patch=1 \
16 file://perl-dynloader.patch;patch=1 \ 18 file://perl-dynloader.patch;patch=1 \
17 file://perl-moreconfig.patch;patch=1 \ 19 file://perl-moreconfig.patch;patch=1 \
18 file://letgcc-find-errno.patch;patch=1 \ 20 file://letgcc-find-errno.patch;patch=1 \
19 file://generate-sh.patch;patch=1 \ 21 file://generate-sh.patch;patch=1 \
22 file://perl-5.8.8-gcc-4.2.patch;patch=1 \
20 file://09_fix_installperl.patch;patch=1 \ 23 file://09_fix_installperl.patch;patch=1 \
21 file://52_debian_extutils_hacks.patch;patch=1 \ 24 file://52_debian_extutils_hacks.patch;patch=1 \
22 file://53_debian_mod_paths.patch;patch=1 \ 25 file://53_debian_mod_paths.patch;patch=1 \
@@ -25,6 +28,7 @@ SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
25 file://60_debian_libnet_config_path.patch;patch=1 \ 28 file://60_debian_libnet_config_path.patch;patch=1 \
26 file://62_debian_cpan_definstalldirs.patch;patch=1 \ 29 file://62_debian_cpan_definstalldirs.patch;patch=1 \
27 file://64_debian_enc2xs_inc.patch;patch=1 \ 30 file://64_debian_enc2xs_inc.patch;patch=1 \
31 file://asm-pageh-fix.patch;patch=1 \
28 file://config.sh \ 32 file://config.sh \
29 file://config.sh-32 \ 33 file://config.sh-32 \
30 file://config.sh-32-le \ 34 file://config.sh-32-le \
@@ -37,15 +41,14 @@ SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
37HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl${PV}" 41HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl${PV}"
38 42
39# Where to find .so files - use the -native versions not those from the target build 43# Where to find .so files - use the -native versions not those from the target build
40export PERLHOSTLIB = "${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV}/" 44export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl/${PV}/"
41 45
42do_configure() { 46do_configure() {
43 # Make hostperl in build directory be the native perl 47 # Make hostperl in build directory be the native perl
44 cp -f ${HOSTPERL} hostperl 48 cp -f ${HOSTPERL} hostperl
45 49
46 # This is silly - should just patch Makefile.SH directly 50 # Do our work in the cross subdir
47 cd Cross 51 cd Cross
48 cp -f ${WORKDIR}/Makefile.SH.patch .
49 52
50 # Generate configuration 53 # Generate configuration
51 rm -f config.sh-${TARGET_ARCH}-${TARGET_OS} 54 rm -f config.sh-${TARGET_ARCH}-${TARGET_OS}
@@ -87,8 +90,6 @@ do_configure() {
87 rm -f config 90 rm -f config
88 echo "ARCH = ${TARGET_ARCH}" > config 91 echo "ARCH = ${TARGET_ARCH}" > config
89 echo "OS = ${TARGET_OS}" >> config 92 echo "OS = ${TARGET_OS}" >> config
90
91 oe_runmake patch
92} 93}
93do_compile() { 94do_compile() {
94 if test "${MACHINE}" != "native"; then 95 if test "${MACHINE}" != "native"; then
@@ -121,18 +122,28 @@ do_install() {
121 sed -i -e "s,${D},,g" \ 122 sed -i -e "s,${D},,g" \
122 -e "s,-isystem${STAGING_INCDIR} ,,g" \ 123 -e "s,-isystem${STAGING_INCDIR} ,,g" \
123 -e "s,${STAGING_LIBDIR},${libdir},g" \ 124 -e "s,${STAGING_LIBDIR},${libdir},g" \
125 -e "s,${STAGING_BINDIR},${bindir},g" \
124 -e "s,${STAGING_INCDIR},${includedir},g" \ 126 -e "s,${STAGING_INCDIR},${includedir},g" \
125 ${D}/${libdir}/perl/${PV}/Config_heavy.pl 127 -e "s,${CROSS_DIR}${base_bindir}/,,g" \
128 ${D}${bindir}/h2xs \
129 ${D}${bindir}/h2ph \
130 ${D}${datadir}/perl/${PV}/pod/*.pod \
131 ${D}${datadir}/perl/${PV}/cacheout.pl \
132 ${D}${datadir}/perl/${PV}/FileCache.pm \
133 ${D}${libdir}/perl/${PV}/Config.pm \
134 ${D}${libdir}/perl/${PV}/Config_heavy.pl \
135 ${D}${libdir}/perl/${PV}/CORE/perl.h \
136 ${D}${libdir}/perl/${PV}/CORE/pp.h
126 fi 137 fi
127} 138}
128do_stage() { 139do_stage() {
129 install -d ${STAGING_DIR}/${HOST_SYS}/perl \ 140 install -d ${STAGING_DIR}/${HOST_SYS}/perl \
130 ${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV} \ 141 ${STAGING_LIBDIR_NATIVE}/perl/${PV} \
131 ${STAGING_LIBDIR}/perl/${PV}/CORE 142 ${STAGING_LIBDIR}/perl/${PV}/CORE
132 # target config, used by cpan.bbclass to extract version information 143 # target config, used by cpan.bbclass to extract version information
133 install config.sh ${STAGING_DIR}/${HOST_SYS}/perl/ 144 install config.sh ${STAGING_DIR}/${HOST_SYS}/perl/
134 # target configuration, used by native perl when cross-compiling 145 # target configuration, used by native perl when cross-compiling
135 install lib/Config_heavy.pl ${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV}/Config_heavy-target.pl 146 install lib/Config_heavy.pl ${STAGING_LIBDIR_NATIVE}/perl/${PV}/Config_heavy-target.pl
136 # perl shared library headers 147 # perl shared library headers
137 for i in av.h embed.h gv.h keywords.h op.h perlio.h pp.h regexp.h \ 148 for i in av.h embed.h gv.h keywords.h op.h perlio.h pp.h regexp.h \
138 uconfig.h XSUB.h cc_runtime.h embedvar.h handy.h opnames.h \ 149 uconfig.h XSUB.h cc_runtime.h embedvar.h handy.h opnames.h \