From: Adhemerval Zanella Date: Wed, 2 Nov 2022 14:55:57 +0000 (-0300) Subject: Rewrite find_cxx_header config configure.ac X-Git-Tag: glibc-2.37~176 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=596183a1eed0699be96bdcd495ab1b497370afda;p=thirdparty%2Fglibc.git Rewrite find_cxx_header config configure.ac With clang if the main file is , the first non-main-file dependency is not listed in the -MP output. Although it was fixed on clang-16 [1], this change adds portability for older version. [1] https://github.com/llvm/llvm-project/commit/ff9576f74514b836e1ba0268409a2ecb919d7118 Reviewed-by: Fangrui Song --- diff --git a/configure b/configure index fc3d7842de7..cb0996d59e2 100755 --- a/configure +++ b/configure @@ -5669,8 +5669,8 @@ fi # copy of those headers in Makerules. if test -n "$CXX"; then find_cxx_header () { - echo "#include <$1>" | $CXX -M -MP -x c++ - 2>/dev/null \ - | sed -n "\,$1:,{s/:\$//;p}" + echo "#include <$1>" | $CXX -H -fsyntax-only -x c++ - 2>&1 \ + | $AWK '$1 == "."{print $2}' } CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)" CXX_CMATH_HEADER="$(find_cxx_header cmath)" diff --git a/configure.ac b/configure.ac index 9fc1fb1c1c9..20b5e8043fa 100644 --- a/configure.ac +++ b/configure.ac @@ -1137,8 +1137,8 @@ AC_SUBST(CXX_SYSINCLUDES) # copy of those headers in Makerules. if test -n "$CXX"; then find_cxx_header () { - echo "#include <$1>" | $CXX -M -MP -x c++ - 2>/dev/null \ - | sed -n "\,$1:,{s/:\$//;p}" + echo "#include <$1>" | $CXX -H -fsyntax-only -x c++ - 2>&1 \ + | $AWK '$1 == "."{print $2}' } CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)" CXX_CMATH_HEADER="$(find_cxx_header cmath)"