summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl
diff options
context:
space:
mode:
authorTom Zanussi <tom.zanussi@intel.com>2012-10-09 19:48:24 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-10-10 15:13:40 +0100
commitd38325cbcad40d2fa0c60e2a7f2afd72bd97a455 (patch)
treeea6106e73905514cc4ff20f035b8c99c6a324204 /meta/recipes-devtools/perl
parentc5fa8e29af3c920169caf445eaccabb522bd4306 (diff)
downloadpoky-d38325cbcad40d2fa0c60e2a7f2afd72bd97a455.tar.gz
perl: add archlib_exp variable used to generate ARCHLIB_EXP in config.h
perl.c uses an ARCHLIB_EXP define to generate compile-time code that adds the archlibexp path to @INC during run-time initialization of a new perl interpreter. Because we've changed this value in a temporary way to make it possible to use ExtUtils::Embed in the target build (the temporary value in config.sh gets re-stripped out during packaging), the ARCHLIB_EXP value that gets generated still uses the temporary version instead of the original expected version (i.e. becauses it's in the generated config.h, it doesn't get stripped out during packaging like the others in config.sh). This creates an unmodified version called archlib_exp that gets used by a modified config_h.SH to get the correct value into config.h This patch uses an unmodified version of archlibexp called archlib_exp, introduced to config.sh, which is used to generate the correct value of ARCHLIB_EXP into config.h Fixes [YOCTO #3099]. (From OE-Core rev: cbcfdeb1d55e2e76f199750bda401bad126ae234) Signed-off-by: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/perl')
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/config.sh1
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch40
-rw-r--r--meta/recipes-devtools/perl/perl_5.14.2.bb3
3 files changed, 43 insertions, 1 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/config.sh b/meta/recipes-devtools/perl/perl-5.14.2/config.sh
index 0d4ca1cd91..d1db02e711 100644
--- a/meta/recipes-devtools/perl/perl-5.14.2/config.sh
+++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh
@@ -69,6 +69,7 @@ api_versionstring='5.14.0'
69ar='ar' 69ar='ar'
70archlib='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi' 70archlib='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
71archlibexp='@STAGINGDIR@@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi' 71archlibexp='@STAGINGDIR@@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
72archlib_exp='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
72archname64='' 73archname64=''
73archname='@ARCH@-thread-multi' 74archname='@ARCH@-thread-multi'
74archobjs='' 75archobjs=''
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch
new file mode 100644
index 0000000000..d912d0031e
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch
@@ -0,0 +1,40 @@
1perl: add archlib_exp variable used to generate ARCHLIB_EXP in config.h
2
3perl.c uses an ARCHLIB_EXP define to generate compile-time code that
4adds the archlibexp path to @INC during run-time initialization of a
5new perl interpreter.
6
7Because we've changed this value in a temporary way to make it
8possible to use ExtUtils::Embed in the target build (the temporary
9value in config.sh gets re-stripped out during packaging), the
10ARCHLIB_EXP value that gets generated still uses the temporary version
11instead of the original expected version (i.e. becauses it's in the
12generated config.h, it doesn't get stripped out during packaging like
13the others in config.sh).
14
15This creates an unmodified version called archlib_exp that gets used
16by a modified config_h.SH to get the correct value into config.h
17
18This patch uses an unmodified version of archlibexp called
19archlib_exp, introduced to config.sh, which is used to generate the
20correct value of ARCHLIB_EXP into config.h
21
22See YOCTO #3099 for more info.
23
24Upstream-Status:Inappropriate [embedded specific]
25
26Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
27
28Index: perl-5.14.2/config_h.SH
29===================================================================
30--- perl-5.14.2.orig/config_h.SH
31+++ perl-5.14.2/config_h.SH
32@@ -996,7 +996,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#und
33 * in programs that are not prepared to deal with ~ expansion at run-time.
34 */
35 #$d_archlib ARCHLIB "$archlib" /**/
36-#$d_archlib ARCHLIB_EXP "$archlibexp" /**/
37+#$d_archlib ARCHLIB_EXP "$archlib_exp" /**/
38
39 /* ARCHNAME:
40 * This symbol holds a string representing the architecture name.
diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb
index 09b2acb191..d9206d86d3 100644
--- a/meta/recipes-devtools/perl/perl_5.14.2.bb
+++ b/meta/recipes-devtools/perl/perl_5.14.2.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
7# We need gnugrep (for -I) 7# We need gnugrep (for -I)
8DEPENDS = "virtual/db grep-native" 8DEPENDS = "virtual/db grep-native"
9DEPENDS += "gdbm zlib" 9DEPENDS += "gdbm zlib"
10PR = "r10" 10PR = "r11"
11 11
12# 5.10.1 has Module::Build built-in 12# 5.10.1 has Module::Build built-in
13PROVIDES += "libmodule-build-perl" 13PROVIDES += "libmodule-build-perl"
@@ -66,6 +66,7 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
66 file://cross-generate_uudmap.patch \ 66 file://cross-generate_uudmap.patch \
67 file://fix_bad_rpath.patch \ 67 file://fix_bad_rpath.patch \
68 file://perl-build-in-t-dir.patch \ 68 file://perl-build-in-t-dir.patch \
69 file://perl-archlib-exp.patch \
69 \ 70 \
70 file://config.sh \ 71 file://config.sh \
71 file://config.sh-32 \ 72 file://config.sh-32 \