On Wed, 26 Feb 2025 at 10:47, Jonathan Wakely <jwak...@redhat.com> wrote:
>
> On Wed, 26 Feb 2025 at 10:19, Thomas Schwinge wrote:
> >
> > In particular, 'GLIBCXX_ENABLE_CXX_FLAGS' shouldn't overwrite 
> > 'EXTRA_CXX_FLAGS'
> > (and prepend any additional '--enable-cxx-flags=[...]').
>
> This seems good, but why prepend instead of append here?
> If there are important flags passed down from top-level configure that
> shouldn't be replaced by the libstdc++ --enable-cxx-flags option, can
> we mention that in the new comment in acinclude.m4?

Oh sorry, they're more likely to be from configure.host not from the
top-level, right?

But if we prepend, then when users put bad options in
--enable-cxx-flags we silently override that with good target-specific
ones from configure.host

Maybe if users explicitly give bad options, they should get an error,
or a bad result?

Or maybe I just don't understand the context properly :-)


>
> >
> >         libstdc++-v3/
> >         * acinclude.m4 (GLIBCXX_ENABLE_CXX_FLAGS): Prepend any additional
> >         flags to 'EXTRA_CXX_FLAGS'.
> >         * configure: Regenerate.
> >         * configure.host: Document 'EXTRA_CFLAGS', 'EXTRA_CXX_FLAGS'.
> > ---
> >  libstdc++-v3/acinclude.m4   | 3 ++-
> >  libstdc++-v3/configure      | 3 ++-
> >  libstdc++-v3/configure.host | 4 ++++
> >  3 files changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
> > index b3423d7957a..3287dab3b89 100644
> > --- a/libstdc++-v3/acinclude.m4
> > +++ b/libstdc++-v3/acinclude.m4
> > @@ -3269,7 +3269,8 @@ AC_DEFUN([GLIBCXX_ENABLE_CXX_FLAGS], [dnl
> >      done
> >    fi
> >
> > -  EXTRA_CXX_FLAGS="$enable_cxx_flags"
> > +  # Prepend the additional flags.
> > +  EXTRA_CXX_FLAGS="$enable_cxx_flags $EXTRA_CXX_FLAGS"
> >    AC_MSG_RESULT($EXTRA_CXX_FLAGS)
> >    AC_SUBST(EXTRA_CXX_FLAGS)
> >  ])
> > diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
> > index e115ee55739..ba908577a66 100755
> > --- a/libstdc++-v3/configure
> > +++ b/libstdc++-v3/configure
> > @@ -19452,7 +19452,8 @@ fi
> >      done
> >    fi
> >
> > -  EXTRA_CXX_FLAGS="$enable_cxx_flags"
> > +  # Prepend the additional flags.
> > +  EXTRA_CXX_FLAGS="$enable_cxx_flags $EXTRA_CXX_FLAGS"
> >    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EXTRA_CXX_FLAGS" >&5
> >  $as_echo "$EXTRA_CXX_FLAGS" >&6; }
> >
> > diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
> > index 45f55b250ce..1e84c78af30 100644
> > --- a/libstdc++-v3/configure.host
> > +++ b/libstdc++-v3/configure.host
> > @@ -61,6 +61,10 @@
> >  #
> >  # It possibly modifies the following variables:
> >  #
> > +#   EXTRA_CFLAGS           extra flags to pass when compiling C code
> > +#
> > +#   EXTRA_CXX_FLAGS        extra flags to pass when compiling C++ code
> > +#
> >  #   OPT_LDFLAGS            extra flags to pass when linking the library, of
> >  #                          the form '-Wl,blah'
> >  #                          (defaults to empty in acinclude.m4)
> > --
> > 2.34.1
> >

Reply via email to