[oe] [PATCH] ruby: Remove __has_include and __has_include_next from preprocessed header file

Khem Raj raj.khem at gmail.com
Thu Jan 23 20:43:34 UTC 2020


On Thu, Jan 23, 2020 at 12:27 PM akuster808 <akuster808 at gmail.com> wrote:

>
>
> On 1/23/20 10:35 AM, Khem Raj wrote:
> > one of the build steps ruby has is that it generated rb_mjit_header.h
> > during configure using gcc preprocessor using -dD which emits built-in
> > defines as well, problem happens when this header is later included in
> > subsequent compiles, where compiler errors out stating that an existing
> > internal define is redefined
> >
> > | /tmp/20200123-2021083-2c601q.h:13849:9: error: "__has_include" cannot
> be used as a macro name
> > | 13849 | #define __has_include __has_include
> > |       |         ^~~~~~~~~~~~~
> > | compilation terminated due to -Wfatal-errors.
> >
> > Since compiler already will take care of it internally we can edit it
> > out from this header file
>
> Any idea what introduced this ? Hard to tell if this is backport worthy.
>

You need gcc trunk for this to exhibit with release we won’t see this issue
so it technically is not required on releases

>
> -armin
> >
> > Signed-off-by: Khem Raj <raj.khem at gmail.com>
> > ---
> >  meta/recipes-devtools/ruby/ruby.inc | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >
> > diff --git a/meta/recipes-devtools/ruby/ruby.inc
> b/meta/recipes-devtools/ruby/ruby.inc
> > index ce1b02f012..d5cd329e65 100644
> > --- a/meta/recipes-devtools/ruby/ruby.inc
> > +++ b/meta/recipes-devtools/ruby/ruby.inc
> > @@ -38,3 +38,10 @@ do_configure_prepend() {
> >      sed -i "s#%%TARGET_CFLAGS%%#$CFLAGS#;
> s#%%TARGET_LDFLAGS%%#$LDFLAGS#" ${S}/common.mk
> >      rm -rf ${S}/ruby/
> >  }
> > +
> > +do_compile_prepend() {
> > +    if [ -e ${B}/rb_mjit_header.h ]; then
> > +        sed -i -e "/#define __has_include __has_include/d"
> ${B}/rb_mjit_header.h
> > +        sed -i -e "/#define __has_include_next __has_include_next/d"
> ${B}/rb_mjit_header.h
> > +    fi


> > +}
>
>


More information about the Openembedded-devel mailing list