[Buildroot] [PATCH 2/2] package/edid-decode: fix build with gcc <= 5
ps.report at gmx.net
Sat Jun 6 19:48:06 UTC 2020
On Sat, 6 Jun 2020 14:26:34 +0200, "Yann E. MORIN" <yann.morin.1998 at free.fr> wrote:
> Peter, All,
> On 2020-06-06 13:56 +0200, Peter Seiderer spake thusly:
> > On Sat, 6 Jun 2020 11:19:28 +0200, Fabrice Fontaine <fontaine.fabrice at gmail.com> wrote:
> > > Pass -std=c++11 to fix the following build failure with gcc <= 5:
> > > diff --git a/package/edid-decode/edid-decode.mk b/package/edid-decode/edid-decode.mk
> > > index c41a9f2a76..7e463c02b1 100644
> > > --- a/package/edid-decode/edid-decode.mk
> > > +++ b/package/edid-decode/edid-decode.mk
> > > @@ -11,7 +11,7 @@ EDID_DECODE_LICENSE_FILES = LICENSE
> > >
> > > define EDID_DECODE_BUILD_CMDS
> > > $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
> > > - CFLAGS="$(TARGET_CXXFLAGS)"
> > > + CFLAGS="$(TARGET_CXXFLAGS) -std=c++11"
> > > endef
> > Thanks for taking care of the build failure, but with c++11 something
> > like 'depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11' (or 4_7/4_8) missing?
> Parts of C++11 already landed as far back as gcc-4.3:
> So, to have full C++11 support, on eeds gcc-4.8 or later, but for some
> subsets of C++11, older versions may still be suitable.
> But the C++98 standard was the default one until gcc-6.1, which switched
> directly over to C++14 as the default. That's why the C++11 standard has
> to be explicitly requested.
> However, -std=c++11 is only recognised from gcc-4.7 onward; older
> versions only knew about -std=c++0x. So if this would also work for
> gcc <= 4.6, we 'd have to use =std=c++0x (which is still recognised up
> to gcc-9.x).
Thanks for the detailed explanation! So for edid-decode the simplest
solution is at-least-4.7 and std=c++11...
> Yann E. MORIN.
More information about the buildroot