Hi! On Thu, 17 Jan 2013 17:18:41 +0000, "Joseph S. Myers" <jos...@codesourcery.com> wrote: > Really, for glibc bootstrapping I don't think you want to include any > headers there. If $CPP is defined and nonempty, use that, otherwise use > $CC -E; no testing for a "working" preprocessor is needed; we require GCC > 4.3 or later for building glibc.
OK. I'd still be interested in hearing from the Autoconf folks whether something should be done on Autoconf side, too. Also, regarding the /lib/cpp fallback in the cross-compilation case. > > Issue 3: Assuming fixing Autoconf is the way to go, what do we do in > > glibc until we upgrade to the respective future version of Autoconf? > > Supply our own copy of _AC_PROG_PREPROC_WORKS_IFELSE (or AC_PROG_CPP)? > > Yes. There's already code in configure.in to do something special with > _AC_INCLUDES_DEFAULT_REQUIREMENTS. Yep -- I had submitted an equivalent patch months before H.J.'s was then applied. ;-) Here's now one for AC_PROG_CPP, borrowing from Autoconf's definition of AC_PROG_CPP, leaving out the "details" we're not interested in (in particular also the final »C preprocessor "$CPP" [...] sanity check«). Tested on x86_64 GNU/Linux for a ARM GNU/Linux host. OK to apply? * configure.in (AC_PROG_CPP): New definition. diff --git configure.in configure.in index 05cbad5..ee72c17 100644 --- configure.in +++ configure.in @@ -17,6 +17,32 @@ AC_DEFUN([_AC_INCLUDES_DEFAULT_REQUIREMENTS], [m4_divert_text([DEFAULTS], [ac_includes_default='/* none */'])]) +# We require GCC, and by default use its preprocessor. Override AC_PROG_CPP +# here to work around the Autoconf issue discussed in +# <http://news.gmane.org/find-root.php?message_id=%3c87y5frpwhe....@schwinge.name%3E>. +AC_DEFUN([AC_PROG_CPP], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_ARG_VAR([CPP], [C preprocessor])dnl +_AC_ARG_VAR_CPPFLAGS()dnl +AC_MSG_CHECKING([how to run the C preprocessor]) +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + AC_CACHE_VAL([ac_cv_prog_CPP], + [dnl + ac_cv_prog_CPP="$CC -E" + ])dnl + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +AC_MSG_RESULT([$CPP]) +AC_SUBST(CPP)dnl +])# AC_PROG_CPP + + dnl This is here so we can set $subdirs directly based on configure fragments. AC_CONFIG_SUBDIRS() Grüße, Thomas
pgpQySWnlx_JK.pgp
Description: PGP signature