These headers do not offer any tangible benefit compared to the default c_global version. They are not actively maintained meaning that they have bugs which have already been fixed for the c_global headers.
This change adds a warning if they are used, and requires a new --enable-cheaders-obsolete option to allow their use. Unless we receive reports from users who rely on the c_std headers they should be removed at some point in future. libstdc++-v3/ChangeLog: * acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Warn if the c_std option is used and fail unless --enable-cheaders-obsolete is also used. * configure: Regenerate. Tested powerpc64le-linux. Committed to trunk.
commit 55484a0f816ef9ad7e13fb1057751223ed8471d8 Author: Jonathan Wakely <jwak...@redhat.com> Date: Thu Aug 13 16:33:28 2020 libstdc++: Deprecate the --enable-cheaders=c_std configuration These headers do not offer any tangible benefit compared to the default c_global version. They are not actively maintained meaning that they have bugs which have already been fixed for the c_global headers. This change adds a warning if they are used, and requires a new --enable-cheaders-obsolete option to allow their use. Unless we receive reports from users who rely on the c_std headers they should be removed at some point in future. libstdc++-v3/ChangeLog: * acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Warn if the c_std option is used and fail unless --enable-cheaders-obsolete is also used. * configure: Regenerate. diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 26cf2197549..133125ec4fa 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -2377,12 +2377,24 @@ dnl dnl --enable-cheaders= [does stuff]. dnl --disable-cheaders [does not do anything, really]. dnl + Usage: GLIBCXX_ENABLE_CHEADERS[(DEFAULT)] -dnl Where DEFAULT is either 'c' or 'c_std' or 'c_global'. +dnl Where DEFAULT is either 'c' or 'c_global' or 'c_std'. +dnl +dnl To use the obsolete 'c_std' headers use --enable-cheaders-obsolete as +dnl well as --enable-cheaders=c_std, otherwise configure will fail. dnl AC_DEFUN([GLIBCXX_ENABLE_CHEADERS], [ + GLIBCXX_ENABLE(cheaders-obsolete,no,, + [allow use of obsolete "C" headers for g++]) GLIBCXX_ENABLE(cheaders,$1,[[[=KIND]]], - [construct "C" headers for g++], [permit c|c_std|c_global]) + [construct "C" headers for g++], [permit c|c_global|c_std]) AC_MSG_NOTICE("C" header strategy set to $enable_cheaders) + if test $enable_cheaders = c_std ; then + AC_MSG_WARN([the --enable-cheaders=c_std configuration is obsolete, c_global should be used instead]) + AC_MSG_WARN([if you are unable to use c_global please report a bug or inform libstd...@gcc.gnu.org]) + if test $enable_cheaders_obsolete != yes ; then + AC_MSG_ERROR(use --enable-cheaders-obsolete to use c_std "C" headers) + fi + fi C_INCLUDE_DIR='${glibcxx_srcdir}/include/'$enable_cheaders