From: Stan Shebs Date: Mon, 24 Sep 2018 22:31:31 +0000 (-0700) Subject: Add clang version of find_cxx_header X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f9bd60b7c0da8e9ad74ac5e20f0c7cb5cf690183;p=thirdparty%2Fglibc.git Add clang version of find_cxx_header --- diff --git a/configure b/configure index 0c64f966933..9591958b466 100755 --- a/configure +++ b/configure @@ -5365,10 +5365,19 @@ fi # Obtain some C++ header file paths. This is used to make a local # copy of those headers in Makerules. if test -n "$CXX"; then + # In theory the clang and gcc regexes can be merged, but the + # result is incomprehensible. + if test "$with_clang" != no; then + find_cxx_header () { + echo "#include <$1>" | $CXX -M -MP -x c++ - 2>/dev/null \ + | sed -n "\,^[o.-]*[ :] /.*/$1 [\]$,{s,^[o.-]*[ :] /,/,;s/ [\]$//;p}" + } + else find_cxx_header () { echo "#include <$1>" | $CXX -M -MP -x c++ - 2>/dev/null \ | sed -n "\,$1:,{s/:\$//;p}" } + fi CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)" CXX_CMATH_HEADER="$(find_cxx_header cmath)" CXX_BITS_STD_ABS_H="$(find_cxx_header bits/std_abs.h)" diff --git a/configure.ac b/configure.ac index 9899b3d8483..cb6fb33ed94 100644 --- a/configure.ac +++ b/configure.ac @@ -1067,15 +1067,26 @@ AC_SUBST(CXX_SYSINCLUDES) # Obtain some C++ header file paths. This is used to make a local # copy of those headers in Makerules. +changequote(,)dnl if test -n "$CXX"; then + # In theory the clang and gcc regexes can be merged, but the + # result is incomprehensible. + if test "$with_clang" != no; then + find_cxx_header () { + echo "#include <$1>" | $CXX -M -MP -x c++ - 2>/dev/null \ + | sed -n "\,^[o.-]*[ :] /.*/$1 [\]$,{s,^[o.-]*[ :] /,/,;s/ [\]$//;p}" + } + else find_cxx_header () { echo "#include <$1>" | $CXX -M -MP -x c++ - 2>/dev/null \ | sed -n "\,$1:,{s/:\$//;p}" } + fi CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)" CXX_CMATH_HEADER="$(find_cxx_header cmath)" CXX_BITS_STD_ABS_H="$(find_cxx_header bits/std_abs.h)" fi +changequote([,])dnl AC_SUBST(CXX_CSTDLIB_HEADER) AC_SUBST(CXX_CMATH_HEADER) AC_SUBST(CXX_BITS_STD_ABS_H)