public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug other/43171] build: target modules Makefiles have broken rebuild rules (multilib issue)
  2010-02-24 22:08 [Bug other/43171] New: build: target modules Makefiles have broken rebuild rules (multilib issue) rwild at gcc dot gnu dot org
@ 2010-02-24 22:08 ` rwild at gcc dot gnu dot org
  0 siblings, 0 replies; 3+ messages in thread
From: rwild at gcc dot gnu dot org @ 2010-02-24 22:08 UTC (permalink / raw)
  To: gcc-bugs



-- 

rwild at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Priority|P3                          |P4
   Last reconfirmed|0000-00-00 00:00:00         |2010-02-24 22:08:31
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43171


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug other/43171]  New: build: target modules Makefiles have broken rebuild rules (multilib issue)
@ 2010-02-24 22:08 rwild at gcc dot gnu dot org
  2010-02-24 22:08 ` [Bug other/43171] " rwild at gcc dot gnu dot org
  0 siblings, 1 reply; 3+ messages in thread
From: rwild at gcc dot gnu dot org @ 2010-02-24 22:08 UTC (permalink / raw)
  To: gcc-bugs

This PR mainly exists as a reminder for myself, I have been bitten by
this a couple of times while testing an unrelated patch and getting
stumped by apparent major breakage.

Inside the build tree, for each $module and $MULTIDIR, the files
$target/$module/Makefile and probably also
$target/$MULTIDIR/$module/Makefile have broken rules for the 'Makefile'
target: when run, these rules just run './config.status Makefile',
whereas the right thing to do would be to also run the
'./config.status default-1' config commands.

FWIW, this is not important for a normal bootstrap, only for an
incremental rebuild in which the respective Makefile.in file has been
updated.  IOW, in practice it can only happen with
--enable-maintainer-mode or after a './contrib/gcc_update' which
happened to update the Makefile.in files but not the respective
configure files.

To reproduce: in an up to date build tree with --enable-multilib, do
  touch $srcdir/libgomp/Makefile.in
  make

and observe $target/libgomp/Makefile differences.  Fix by
  rm -f $target/*/Makefile
  make

I intend to eventually fix this, but it is low priority.


-- 
           Summary: build: target modules Makefiles have broken rebuild
                    rules (multilib issue)
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: other
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rwild at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43171


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug other/43171] build: target modules Makefiles have broken rebuild rules (multilib issue)
       [not found] <bug-43171-4@http.gcc.gnu.org/bugzilla/>
@ 2014-12-22 21:23 ` egall at gwmail dot gwu.edu
  0 siblings, 0 replies; 3+ messages in thread
From: egall at gwmail dot gwu.edu @ 2014-12-22 21:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43171

Eric Gallager <egall at gwmail dot gwu.edu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |egall at gwmail dot gwu.edu

--- Comment #1 from Eric Gallager <egall at gwmail dot gwu.edu> ---
(In reply to Ralf Wildenhues from comment #0)
> Inside the build tree, for each $module and $MULTIDIR, the files
> $target/$module/Makefile and probably also
> $target/$MULTIDIR/$module/Makefile have broken rules for the 'Makefile'
> target: when run, these rules just run './config.status Makefile',
> whereas the right thing to do would be to also run the
> './config.status default-1' config commands.

For modules that use automake, the rules that automake generates for the
'Makefile' target look like this:

.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
    @case '$?' in \
      *config.status*) \
        echo ' $(SHELL) ./config.status'; \
        $(SHELL) ./config.status;; \
      *) \
        echo ' cd $(top_builddir) && $(SHELL) ./config.status $@
$(am__depfiles_maybe)'; \
        cd $(top_builddir) && $(SHELL) ./config.status $@
$(am__depfiles_maybe);; \
    esac;

Checking 'am__depfiles_maybe', it seems that automake sets it empty by default,
so maybe 'default-1' needs to be added to 'am__depfiles_maybe' in the
Makefile.am of any module that uses automake? 

(or whatever 'default-1' is called, that is; in my tree, I renamed the
corresponding AC_CONFIG_COMMANDS argument in config/multi.m4 to say
'multilib-default-1' instead, as I find that more descriptive, but that would
be a separate topic...)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-12-22 21:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-24 22:08 [Bug other/43171] New: build: target modules Makefiles have broken rebuild rules (multilib issue) rwild at gcc dot gnu dot org
2010-02-24 22:08 ` [Bug other/43171] " rwild at gcc dot gnu dot org
     [not found] <bug-43171-4@http.gcc.gnu.org/bugzilla/>
2014-12-22 21:23 ` egall at gwmail dot gwu.edu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).