[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "has changed since the previous run"
From: |
DJ Delorie |
Subject: |
Re: "has changed since the previous run" |
Date: |
Wed, 31 Jan 2007 18:58:11 -0500 |
> I think for 2.60 we took care that AC_CONFIG_SUBDIRS and the like don't
> munge whitespace -- that was a cause for failure. And some more global
> $as_echo changes in 2.61b (CVS). But I guess that doesn't apply to GCC
> as it calls the sub-configures manually.
And it's still working on bringing every module up to 2.59 before
moving forward.
> In which cases do you see these, and what's the cause for the changed
> white space?
The latest case I'm seeing is:
configure: loading cache ../.././config.cache
configure: error: `CXXFLAGS' has changed since the previous run:
configure: former value: -g -O2 -D_GNU_SOURCE
configure: current value: -g -O2 -D_GNU_SOURCE
This is in dejagnu in an internal combined tree, but it's been
reported in FSF-land too. I've already hacked through
CFLAGS_FOR_TARGET and a few others.
The problem is code like this:
GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
[gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `test ! -f
$$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL)
$$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes`
-L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src
-L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
c++)
where the code in `...` may or may not produce output. If it doesn't,
the result gets two spaces in it. Consider also:
CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
If $(SYSROOT_CFLAGS_FOR_TARGET) is empty, you get a trailing space.
Likewise, my current gotcha is from this line in config/mt-gnu:
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) -D_GNU_SOURCE