PR4114, 4113, 4082, 4078, (part of) 4096 plus other reports in gcc-bugs

Phil Edwards pedwards@disaster.jaj.com
Fri Aug 24 21:37:00 GMT 2001


On Fri, Aug 24, 2001 at 06:37:30PM -0500, Loren James Rittle wrote:
> I know that logically you are quite right.  I also know that the FSF
> says it must work.

Part of me wants to say, "Then the FSF can contribute the code to make it
work -- how hard can be it just require users to make a new directory?!?"
Other parts of me disagree.  :-)


> This seems WRONG (or is at least why everyone that configures this way
> thinks an extra .. is required in the path when it is used):
> glibcpp_srcdir = /usr/users/rittle/tmp/gcc-3.0/i386-unknown-freebsd4.3/libstdc++-v3
> 
> glibcpp_srcdir is /usr/users/rittle/tmp/gcc-3.0/libstdc++-v3
> when srcdir != objdir.  Why on this green earth is a *srcdir*
> variable different when configured off the same src tree?  Anyone?

I don't know, but I have some guesses.  If my guesses are wrong, well, then
somebody needs to fix some documentation in the top level.

Go to the top level (with MAINTAINERS).  Check out Makefile.in, the
CONFIGURE_TARGET_MODULES rule.  Specifically around line 1309, where we
play with $topdir but not $srcdir.  We examine TARGET_SUBDIR there, which
on line 175 is set to "." but is documented to be changed by configure to
$target_alias "if cross".

Now pull up configure.in (not configure).  TARGET_SUBDIR is set to
$target_subdir, which on line 438 is set to $target_alias.  Unconditionally.
Nowhere else in that file is a check made for "if cross" to avoid changing
TARGET_SUBDIR away from ".".  The target_alias is always inserted.

At the very least that comment should be updated.  The code hasn't changed
in living memory[*], so it's possible I'm barking up the wrong tree.
Perhaps Makefile.in should be playing with srcdir instead of topdir?
Perhaps our own configury should examine topdir when setting glibcpp_srcdir?


Phil
[*]  i.e., since CVS was used.

-- 
Would I had phrases that are not known, utterances that are strange, in
new language that has not been used, free from repetition, not an utterance
which has grown stale, which men of old have spoken.
                                     - anonymous Egyptian scribe, c.1700 BC



More information about the Libstdc++ mailing list