Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: Mike Frysinger <vapier@gentoo.org>
Cc: gdb-patches@sourceware.org, toolchain-devel@blackfin.uclinux.org
Subject: Re: [PATCH] sim: generate build dependencies on the fly
Date: Tue, 12 Jul 2011 21:15:00 -0000	[thread overview]
Message-ID: <m3d3hffbq1.fsf@fleche.redhat.com> (raw)
In-Reply-To: <CAJaTeTqM-Kr3Nrr4JKyfpys7=+aWk_YJCA+=AensJyBTUvg4dQ__24418.5384632603$1310503395$gmane$org@mail.gmail.com>	(Mike Frysinger's message of "Tue, 12 Jul 2011 16:41:57 -0400")

>>>>> "Mike" == Mike Frysinger <vapier@gentoo.org> writes:

Tom> Why is that?

Mike> it didnt seem to work :).  if the dependency generation step is done
Mike> inline with the compile step, how can we figure out the dependency
Mike> info of a header file that is generated ?  does gdb handle this and i
Mike> just missed it in its Makefile ?

Ok, I see.  I misunderstood what you meant.

GDB arranges for generated files to be built early, via order-only
dependencies.  Order-only dependencies ensure that merely touching one
of the generated files doesn't cause a global recompile.

The relevant code is down near the end of gdb/Makefile.in:

# Ensure that generated files are created early.  Use order-only
# dependencies if available.  They require GNU make 3.80 or newer,
# and the .VARIABLES variable was introduced at the same time.
@GMAKE_TRUE@ifdef .VARIABLES
@GMAKE_TRUE@$(all_object_files): | $(generated_files)
@GMAKE_TRUE@else
$(all_object_files) : $(generated_files)
@GMAKE_TRUE@endif


Tom> Finally I thought there was some problem with multiple entries in VPATH,
Tom> but I cannot find that in the docs.  Perhaps it is one of those ancient
Tom> incorrect memories.  It would bear testing with a non-GNU make.

Mike> sounds like all good reasons to use automake :).  otherwise all the
Mike> files in common/ need manual deps (like gdb does with files in
Mike> subdirs), and that semi-defeats the purpose of this in the first
Mike> place.

Yeah.  I am not actually sure how well Automake would currently handle
sources in "../common/".  Neither here nor there I guess.

Fedora includes the BSD make (yum install bmake); I assume other distros
do too.  So you could try a build with that.

Mike> yeah ... i didnt notice as my stuff all went through gcc for dep info.
Mike>  probably better to use $(srcroot)/depcomp.

You can edit the Makefile.in or generated Makefile slightly to test the
non-gcc3 path.

Tom


  parent reply	other threads:[~2011-07-12 21:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1310436152-8693-1-git-send-email-vapier__46811.2245122485$1310436164$gmane$org@gentoo.org>
2011-07-12 19:49 ` Tom Tromey
2011-07-12 20:59   ` Mike Frysinger
     [not found]   ` <CAJaTeTqM-Kr3Nrr4JKyfpys7=+aWk_YJCA+=AensJyBTUvg4dQ__24418.5384632603$1310503395$gmane$org@mail.gmail.com>
2011-07-12 21:15     ` Tom Tromey [this message]
2011-07-13  2:04       ` Mike Frysinger
     [not found]       ` <CAJaTeTpoc=UUiePTTBNiRA=dREKdYABMfXQ+HdCsDWaa4wuG0w__27433.0390304842$1310506984$gmane$org@mail.gmail.com>
2011-07-13 13:59         ` Tom Tromey
2011-07-13 20:17           ` Mike Frysinger
2011-07-12  5:18 Mike Frysinger
2011-12-03 18:24 ` Mike Frysinger

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=m3d3hffbq1.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=toolchain-devel@blackfin.uclinux.org \
    --cc=vapier@gentoo.org \
    /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