GNU bug report logs - #15675
building in directory with spaces in name

Previous Next

Package: emacs;

Reported by: “Adrian” <silvibus <at> autistici.com>

Date: Mon, 21 Oct 2013 17:34:02 UTC

Severity: important

Found in version 24.3

Fixed in version 24.4

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 15675 <at> debbugs.gnu.org, andrewjmoreton <at> gmail.com
Subject: bug#15675: the configure script invoked before make
Date: Thu, 24 Oct 2013 19:11:32 +0300
> From: Glenn Morris <rgm <at> gnu.org>
> Date: Thu, 24 Oct 2013 00:07:01 -0400
> Cc: 15675 <at> debbugs.gnu.org
> 
> Andy Moreton wrote:
> 
> > CPP = gcc -I ../nt/inc -E
> 
> Seems wrong to me for CPP to contain any -I option. Where does that come from?

From the configure script.

The story begins, innocently enough, here:

    case "${canonical}" in
      *-darwin* )               opsys=darwin ;;
      *-mingw32 )
		opsys=mingw32
		# MinGW overrides and adds some system headers in nt/inc.
		GCC_TEST_OPTIONS="-I $srcdir/nt/inc"

(MinGW needs the test programs to pick up headers in nt/inc, since
those headers define some stuff which is not available in the MinGW
system headers.  This is what GCC_TEST_OPTIONS are for, right?)

Then the configure script sets CC to something that uses these
switches:

  if test x$GCC = xyes; then
    test "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS"

So far, so good.  But then:

  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
  $as_echo_n "checking how to run the C preprocessor... " >&6; }
  # On Suns, sometimes $CPP names a directory.
  if test -n "$CPP" && test -d "$CPP"; then
    CPP=
  fi
  if test -z "$CPP"; then
    if test "${ac_cv_prog_CPP+set}" = set; then :
    $as_echo_n "(cached) " >&6
  else
	# Double quotes because CPP needs to be expanded
      for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
      do         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  [...]
      done
      ac_cv_prog_CPP=$CPP

  fi
    CPP=$ac_cv_prog_CPP

This sets CPP to "$CC -E", and the rest, as they say, is history.

The problem here seems to be that the script confuses the value of CPP
needed to run the test programs with the value of CPP that is needed
to be substituted for @CPP@.  The latter should have any
GCC_TEST_OPTIONS removed from it.




This bug report was last modified 11 years and 213 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.