Message ID | 20170613113813.GA7656@gmail.com |
---|---|
State | New |
Headers | show |
On Jun 13 2017, "H.J. Lu" <hjl.tools@gmail.com> wrote: > diff --git a/configure b/configure > index 422482f..888224e 100755 > --- a/configure > +++ b/configure > @@ -5336,10 +5336,13 @@ fi > # copy of those headers in Makerules. > if test -n "$CXX"; then > find_cxx_header () { > - echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}" > + echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$2:/{s/:\$//;p}" > } > - CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)" > - CXX_CMATH_HEADER="$(find_cxx_header cmath)" > + CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib cstdlib)" > + # Also make a copy of <bits/std_abs.h> from GCC 7 to prevent it from > + # including /usr/include/stdlib.h. > + CXX_CSTDLIB_HEADER="$CXX_CSTDLIB_HEADER $(find_cxx_header bits/std_abs.h bits\\\/std_abs.h)" Use a different delimiter in the sed command. Andreas.
On Tue, Jun 13, 2017 at 4:40 AM, Andreas Schwab <schwab@suse.de> wrote: > On Jun 13 2017, "H.J. Lu" <hjl.tools@gmail.com> wrote: > >> diff --git a/configure b/configure >> index 422482f..888224e 100755 >> --- a/configure >> +++ b/configure >> @@ -5336,10 +5336,13 @@ fi >> # copy of those headers in Makerules. >> if test -n "$CXX"; then >> find_cxx_header () { >> - echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}" >> + echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$2:/{s/:\$//;p}" >> } >> - CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)" >> - CXX_CMATH_HEADER="$(find_cxx_header cmath)" >> + CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib cstdlib)" >> + # Also make a copy of <bits/std_abs.h> from GCC 7 to prevent it from >> + # including /usr/include/stdlib.h. >> + CXX_CSTDLIB_HEADER="$CXX_CSTDLIB_HEADER $(find_cxx_header bits/std_abs.h bits\\\/std_abs.h)" > > Use a different delimiter in the sed command. > The first / in "/$1:/{s/:\$//;p}" is a command: [hjl@gnu-tools-1 glibc-test]$ echo "#include <bits/std_abs.h>" | /usr/gcc-7.1.1-x32/bin/c++ -M -MP -x c++ - | sed -n ",/bits/std_abs.h:,{s/:\$//;p}" sed: -e expression #1, char 1: unknown command: `,' What options do I have?
On Jun 13 2017, "H.J. Lu" <hjl.tools@gmail.com> wrote: > The first / in "/$1:/{s/:\$//;p}" is a command: It's not a command, it's an address. > [hjl@gnu-tools-1 glibc-test]$ echo "#include <bits/std_abs.h>" | > /usr/gcc-7.1.1-x32/bin/c++ -M -MP -x c++ - | sed -n > ",/bits/std_abs.h:,{s/:\$//;p}" > sed: -e expression #1, char 1: unknown command: `,' > > What options do I have? \,$1, Andreas.
diff --git a/configure b/configure index 422482f..888224e 100755 --- a/configure +++ b/configure @@ -5336,10 +5336,13 @@ fi # copy of those headers in Makerules. if test -n "$CXX"; then find_cxx_header () { - echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}" + echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$2:/{s/:\$//;p}" } - CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)" - CXX_CMATH_HEADER="$(find_cxx_header cmath)" + CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib cstdlib)" + # Also make a copy of <bits/std_abs.h> from GCC 7 to prevent it from + # including /usr/include/stdlib.h. + CXX_CSTDLIB_HEADER="$CXX_CSTDLIB_HEADER $(find_cxx_header bits/std_abs.h bits\\\/std_abs.h)" + CXX_CMATH_HEADER="$(find_cxx_header cmath cmath)" fi diff --git a/configure.ac b/configure.ac index 7f43042..00cf227 100644 --- a/configure.ac +++ b/configure.ac @@ -1187,10 +1187,13 @@ 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++ - | sed -n "/$1:/{s/:\$//;p}" + echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$2:/{s/:\$//;p}" } - CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)" - CXX_CMATH_HEADER="$(find_cxx_header cmath)" + CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib cstdlib)" + # Also make a copy of <bits/std_abs.h> from GCC 7 to prevent it from + # including /usr/include/stdlib.h. + CXX_CSTDLIB_HEADER="$CXX_CSTDLIB_HEADER $(find_cxx_header bits/std_abs.h bits\\\/std_abs.h)" + CXX_CMATH_HEADER="$(find_cxx_header cmath cmath)" fi AC_SUBST(CXX_CSTDLIB_HEADER) AC_SUBST(CXX_CMATH_HEADER)