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 > >