* NAT_FILE set incorrectly in gdb/Makefile
@ 2009-04-19 19:00 Eli Zaretskii
2009-04-19 21:35 ` Andreas Schwab
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2009-04-19 19:00 UTC (permalink / raw)
To: gdb-patches
"make TAGS" curses thusly:
Making TAGS
.././gdb/config/i386/config/i386/nm-linux64.h: No such file or directory
This is on GNU/Linux, obviously, but I see the equivalent error
message in the DJGPP build.
The problem is this line from gdb/Makefile:
NAT_FILE= config/i386/config/i386/nm-linux64.h
which is obviously incorrect. It looks like the culprit is this line
from configure.ac:
sed -e '/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
which seems to run twice, perhaps once by configure, the other time by
config.status. But that's a guess; the truth is I have no idea why
config/i386 gets prepended twice. Does anyone see the villain?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: NAT_FILE set incorrectly in gdb/Makefile
2009-04-19 19:00 NAT_FILE set incorrectly in gdb/Makefile Eli Zaretskii
@ 2009-04-19 21:35 ` Andreas Schwab
2009-04-20 17:09 ` Tom Tromey
2009-04-20 18:58 ` Eli Zaretskii
0 siblings, 2 replies; 6+ messages in thread
From: Andreas Schwab @ 2009-04-19 21:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
Eli Zaretskii <eliz@gnu.org> writes:
> The problem is this line from gdb/Makefile:
>
> NAT_FILE= config/i386/config/i386/nm-linux64.h
>
> which is obviously incorrect. It looks like the culprit is this line
> from configure.ac:
>
> sed -e '/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
>
> which seems to run twice, perhaps once by configure, the other time by
> config.status. But that's a guess; the truth is I have no idea why
> config/i386 gets prepended twice. Does anyone see the villain?
Does this help? Most likey config.status was run twice with different
values of CONFIG_FILES.
Andreas.
2009-04-19 Andreas Schwab <schwab@linux-m68k.org>
* configure.ac: Only postprocess Makefile when it has just been
generated; avoid changequote.
Index: gdb/configure.ac
===================================================================
RCS file: /cvs/src/src/gdb/configure.ac,v
retrieving revision 1.93
diff -u -a -p -r1.93 gdb/configure.ac
--- gdb/configure.ac 17 Apr 2009 17:44:04 -0000 1.93
+++ gdb/configure.ac 19 Apr 2009 21:30:07 -0000
@@ -1967,10 +1967,11 @@ dnl Autoconf doesn't provide a mechanism
dnl provided by makefile fragments.
dnl
-changequote(,)dnl
-sed -e '/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
+case " $CONFIG_FILES " in
+*" Makefile "*)
+sed -e '/^NAT_FILE[[ ]]*=/s,^NAT_FILE[[ ]]*=[[ ]]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
mv -f Makefile.tmp Makefile
-changequote([,])dnl
+esac
case x$CONFIG_HEADERS in
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: NAT_FILE set incorrectly in gdb/Makefile
2009-04-19 21:35 ` Andreas Schwab
@ 2009-04-20 17:09 ` Tom Tromey
2009-04-20 21:29 ` Andreas Schwab
2009-04-20 18:58 ` Eli Zaretskii
1 sibling, 1 reply; 6+ messages in thread
From: Tom Tromey @ 2009-04-20 17:09 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Eli Zaretskii, gdb-patches
>>>>> "Andreas" == Andreas Schwab <schwab@linux-m68k.org> writes:
Andreas> 2009-04-19 Andreas Schwab <schwab@linux-m68k.org>
Andreas> * configure.ac: Only postprocess Makefile when it has just been
Andreas> generated; avoid changequote.
This all seems like overkill to get a single variable that is only
used (AFAICT) in the TAGS rule. Couldn't we just compute the real
value in the Makefile somehow, rather than a rewrite?
But, given how minor this is, if you'd rather move forward this way,
then this patch is ok if it works.
Tom
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: NAT_FILE set incorrectly in gdb/Makefile
2009-04-19 21:35 ` Andreas Schwab
2009-04-20 17:09 ` Tom Tromey
@ 2009-04-20 18:58 ` Eli Zaretskii
1 sibling, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2009-04-20 18:58 UTC (permalink / raw)
To: Andreas Schwab; +Cc: gdb-patches
> From: Andreas Schwab <schwab@linux-m68k.org>
> Cc: gdb-patches@sourceware.org
> Date: Sun, 19 Apr 2009 23:35:05 +0200
>
> Does this help? Most likey config.status was run twice with different
> values of CONFIG_FILES.
I believe you are right: it's run once for Makefile, and then again
for .gdbinit:
for ac_config_target in $ac_config_targets
do
case "$ac_config_target" in
# Handling of arguments.
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
".gdbinit" ) CONFIG_FILES="$CONFIG_FILES .gdbinit:gdbinit.in" ;;
"gnulib/Makefile" ) CONFIG_FILES="$CONFIG_FILES gnulib/Makefile" ;;
"$ac_config_links_1" ) CONFIG_LINKS="$CONFIG_LINKS $ac_config_links_1" ;;
"depdir" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;;
"depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
"config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
Yes, your patch solves the problem. (I don't have Autoconf 2.59, so I
patched configure manually, rather than patching configure.ac and
regenerating configure.)
Thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: NAT_FILE set incorrectly in gdb/Makefile
2009-04-20 17:09 ` Tom Tromey
@ 2009-04-20 21:29 ` Andreas Schwab
2009-04-21 18:25 ` Tom Tromey
0 siblings, 1 reply; 6+ messages in thread
From: Andreas Schwab @ 2009-04-20 21:29 UTC (permalink / raw)
To: tromey; +Cc: Eli Zaretskii, gdb-patches
Tom Tromey <tromey@redhat.com> writes:
> This all seems like overkill to get a single variable that is only
> used (AFAICT) in the TAGS rule. Couldn't we just compute the real
> value in the Makefile somehow, rather than a rewrite?
It doesn't work anyway, because NM_FILE can also already include the
prefix (eg config/nm-linux.mh). Here is an alternative patch, tested on
powerpc-linux. I've also removed the substitution of nm_h which is not
used any more since the dependencies are autogenerated.
Andreas.
2009-04-20 Andreas Schwab <schwab@linux-m68k.org>
* configure.ac: Don't postprocess Makefile in config.status.
Substitute GDB_NM_FILE. Don't substitute nm_h.
* Makefile.in (GDB_NM_FILE): Substitute.
(TAGS): Use $(GDB_NM_FILE) instead of $(NAT_FILE).
* configure: Regenerate.
* gnulib/Makefile.in: Regenerate.
--- gdb/Makefile.in.~1.1078.~ 2009-04-19 23:27:33.000000000 +0200
+++ gdb/Makefile.in 2009-04-20 22:48:16.000000000 +0200
@@ -1107,9 +1107,10 @@ gdb1$(EXEEXT): gdb$(EXEEXT)
# TAGS depends on all the files that go into it so you can rebuild TAGS
# with `make TAGS' and not have to say `rm TAGS' first.
+GDB_NM_FILE = @GDB_NM_FILE@
TAGS: $(DEPFILES) $(TAGFILES_NO_SRCDIR) $(TAGFILES_WITH_SRCDIR)
@echo Making TAGS
- @etags $(srcdir)/$(NAT_FILE) \
+ @etags $(srcdir)/$(GDB_NM_FILE) \
`(for i in $(DEPFILES) $(TAGFILES_NO_SRCDIR); do \
echo $(srcdir)/$$i ; \
done ; for i in $(TAGFILES_WITH_SRCDIR); do \
Index: gdb/configure.ac
===================================================================
RCS file: /cvs/src/src/gdb/configure.ac,v
retrieving revision 1.93
diff -u -a -p -r1.93 gdb/configure.ac
--- gdb/configure.ac 17 Apr 2009 17:44:04 -0000 1.93
+++ gdb/configure.ac 20 Apr 2009 21:20:00 -0000
@@ -1932,9 +1932,7 @@ files=
links=
rm -f nm.h
-nm_h=""
if test "${nativefile}" != ""; then
- nm_h=nm.h
case "${nativefile}" in
nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
* ) GDB_NM_FILE="${nativefile}"
@@ -1943,7 +1941,7 @@ if test "${nativefile}" != ""; then
links="${links} nm.h"
AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
fi
-AC_SUBST(nm_h)
+AC_SUBST(GDB_NM_FILE)
AC_LINK_FILES($files, $links)
@@ -1963,24 +1961,10 @@ AC_SUBST(pdfdir)
AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
[
-dnl Autoconf doesn't provide a mechanism for modifying definitions
-dnl provided by makefile fragments.
-dnl
-
-changequote(,)dnl
-sed -e '/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
-mv -f Makefile.tmp Makefile
-changequote([,])dnl
-
-
case x$CONFIG_HEADERS in
xconfig.h:config.in)
echo > stamp-h ;;
esac
-],
-[
-gdb_host_cpu=$gdb_host_cpu
-nativefile=$nativefile
])
exit 0
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: NAT_FILE set incorrectly in gdb/Makefile
2009-04-20 21:29 ` Andreas Schwab
@ 2009-04-21 18:25 ` Tom Tromey
0 siblings, 0 replies; 6+ messages in thread
From: Tom Tromey @ 2009-04-21 18:25 UTC (permalink / raw)
To: Andreas Schwab; +Cc: Eli Zaretskii, gdb-patches
>>>>> "Andreas" == Andreas Schwab <schwab@linux-m68k.org> writes:
Andreas> Here is an alternative patch, tested on powerpc-linux. I've
Andreas> also removed the substitution of nm_h which is not used any
Andreas> more since the dependencies are autogenerated.
Much nicer. This is ok, thank you.
Tom
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-04-21 18:25 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-19 19:00 NAT_FILE set incorrectly in gdb/Makefile Eli Zaretskii
2009-04-19 21:35 ` Andreas Schwab
2009-04-20 17:09 ` Tom Tromey
2009-04-20 21:29 ` Andreas Schwab
2009-04-21 18:25 ` Tom Tromey
2009-04-20 18:58 ` Eli Zaretskii
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox