On 12/05/2013 12:55 AM, qi.c...@windriver.com wrote:
From: Chen Qi <qi.c...@windriver.com>
Characters like '-O2' or '-Ofast' will be replaced by '-O1' when
compiling cipher. If we are cross compiling libgcrypt and sysroot
contains such characters, we would get compile errors because the
sysroot path has been modified.
Fix this by adding whitespaces before and after the original matching
pattern in the sed command.
[YOCTO #5628]
Signed-off-by: Chen Qi <qi.c...@windriver.com>
---
...fix-compile-error-with-O2-in-sysroot-path.patch | 46 ++++++++++++++++++++
meta/recipes-support/libgcrypt/libgcrypt.inc | 3 +-
2 files changed, 48 insertions(+), 1 deletion(-)
create mode 100644
meta/recipes-support/libgcrypt/files/fix-compile-error-with-O2-in-sysroot-path.patch
diff --git
a/meta/recipes-support/libgcrypt/files/fix-compile-error-with-O2-in-sysroot-path.patch
b/meta/recipes-support/libgcrypt/files/fix-compile-error-with-O2-in-sysroot-path.patch
new file mode 100644
index 0000000..6b1f119
--- /dev/null
+++
b/meta/recipes-support/libgcrypt/files/fix-compile-error-with-O2-in-sysroot-path.patch
@@ -0,0 +1,46 @@
+Upstream-Status: Pending
+
+libgcrypt: fix building error with '-O2' in sysroot path
+
+Characters like '-O2' or '-Ofast' will be replaced by '-O1' when compiling
cipher.
+If we are cross compiling libgcrypt and sysroot contains such characters, we
would
+get compile errors because the sysroot path has been modified.
+
+Fix this by adding blank spaces before and after the original matching pattern
in the
+sed command.
+
+Signed-off-by: Chen Qi <qi.c...@windriver.com>
+---
+ cipher/Makefile.am | 2 +-
+ cipher/Makefile.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cipher/Makefile.am b/cipher/Makefile.am
+index 76cdc96..9a89792 100644
+--- a/cipher/Makefile.am
++++ b/cipher/Makefile.am
+@@ -69,7 +69,7 @@ rfc2268.c \
+ camellia.c camellia.h camellia-glue.c
+
+ if ENABLE_O_FLAG_MUNGING
+-o_flag_munging = sed -e 's/-O\([2-9s][2-9s]*\)/-O1/' -e 's/-Ofast/-O1/g'
++o_flag_munging = sed -e 's/ -O\([2-9s][2-9s]*\) / -O1 /' -e 's/ -Ofast / -O1
/g'
+ else
+ o_flag_munging = cat
+ endif
+diff --git a/cipher/Makefile.in b/cipher/Makefile.in
+index 1394d15..6080d59 100644
+--- a/cipher/Makefile.in
++++ b/cipher/Makefile.in
Why do we need to patch Makefile.in if we are already patching the
Makefile.am which will re-generate the Makefile.in
Sau!
+@@ -314,7 +314,7 @@ rfc2268.c \
+ camellia.c camellia.h camellia-glue.c
+
+ @ENABLE_O_FLAG_MUNGING_FALSE@o_flag_munging = cat
+-@ENABLE_O_FLAG_MUNGING_TRUE@o_flag_munging = sed -e
's/-O\([2-9s][2-9s]*\)/-O1/' -e 's/-Ofast/-O1/g'
++@ENABLE_O_FLAG_MUNGING_TRUE@o_flag_munging = sed -e 's/ -O\([2-9s][2-9s]*\) /
-O1 /' -e 's/ -Ofast / -O1 /g'
+ all: all-am
+
+ .SUFFIXES:
+--
+1.7.9.5
+
diff --git a/meta/recipes-support/libgcrypt/libgcrypt.inc
b/meta/recipes-support/libgcrypt/libgcrypt.inc
index e0dfec2..9383e17 100644
--- a/meta/recipes-support/libgcrypt/libgcrypt.inc
+++ b/meta/recipes-support/libgcrypt/libgcrypt.inc
@@ -11,7 +11,8 @@ LIC_FILES_CHKSUM =
"file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
DEPENDS = "libgpg-error libcap"
SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz \
- file://add-pkgconfig-support.patch"
+ file://add-pkgconfig-support.patch \
+ file://fix-compile-error-with-O2-in-sysroot-path.patch"
inherit autotools binconfig pkgconfig
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core