On Fri, 2013-12-06 at 09:30 +0800, ChenQi wrote:
> On 12/06/2013 06:41 AM, Saul Wold wrote:
> > On 12/05/2013 12:55 AM, [email protected] wrote:
> >> From: Chen Qi <[email protected]>
> >>
> >> 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 <[email protected]>
> >> ---
> >>   ...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 <[email protected]>
> >> +---
> >> + 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!
> >
> 
> I thought it would do no harm. And I will send this patch to upstream, 
> so it might be a little strange that I only modify the Makefile.am file 
> even if Makefile.in has the same problem.

It can actually be harmful since the modification time of Makefile.in
can be after the time for Makefile.am and things can go "very wrong"
with autotools when that happens :(

Cheers,

Richard

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to