From: Nathanael Nerode <neroden@doctormoo.dyndns.org>
To: dj@redhat.com
Cc: gcc-patches@gcc.gnu.org, gdb-patches@sources.redhat.com,
binutils@sources.redhat.com
Subject: Re: [patch] toplevel configure.in: topsrcdir->srcdir
Date: Thu, 30 May 2002 17:31:00 -0000 [thread overview]
Message-ID: <20020530233738.GA18997@doctormoo.dyndns.org> (raw)
In-Reply-To: <200205301843.g4UIh7s21990@greed.delorie.com>
On Thu, May 30, 2002 at 02:43:07PM -0400, DJ Delorie wrote:
>
> > This replaces references to ${topsrcdir} with ${srcdir}. This is
> > correct,
>
> topsrcdir != srcdir when building multilibs, or any type of cross or
> crossed compiler when srcdir==builddir. Have you tested any of those
> configurations?
'topsrcdir' always refers to the top level directory where 'configure'
is located. When 'configure.in' in the top directory is being run,
srcdir is normally the same directory. In a subdirectory, srcdir and
topsrcdir differ, but not at the top level.
The situation where topsrcdir!=srcdir at the top level is when a
'srcdir' argument is passed to toplevel configure, and this argument is
*not* the location of toplevel configure. The build system is not set
up for that situation, and I expect that it breaks already. In any
case, the changes I make are in fact correct, because otherwise
unintuitively different behavior will result from the current code.
The normal and documented scheme is that 'configure' and 'configure.in'
remain in srcdir, and invoked when the current directory is builddir
by something approximating `${topsrcdir}/configure`.
Using this method, I had no problems with any sort of cross-compiler or
cross-building. In each case $topsrcdir *was* the same as $srcdir while
top level configure.in was running. (Modulo the fact that $topsrcdir is
always an absolute directory reference, while $srcdir might be
relative; this isn't a problem because there are no changes of directory
between the setting of 'topsrcdir' and the specific uses I changed.)
I'm not at all sure when "multilibs" are built and when they aren't,
since multilibs are marvelously well undocumented.
Is there something I'm missing, wherein toplevel 'configure' &
'configure.in' could be invoked as a subprocess rather than a top level
process, and accordingly could have been copied into some other
directory (which would become 'topsrcdir'), while still receiving a
'srcdir' argument of the original directory?
I guess I'm saying that I don't see where the problem lies.
--Nathanael
next prev parent reply other threads:[~2002-05-30 23:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-30 11:11 Nathanael Nerode
2002-05-30 12:08 ` DJ Delorie
2002-05-30 17:31 ` Nathanael Nerode [this message]
2002-05-30 17:49 ` DJ Delorie
2002-06-19 16:57 ` DJ Delorie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020530233738.GA18997@doctormoo.dyndns.org \
--to=neroden@doctormoo.dyndns.org \
--cc=binutils@sources.redhat.com \
--cc=dj@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox