public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
From: Grant Edwards <grant.b.edwards@gmail.com>
To: crossgcc@sourceware.org
Subject: Re: Now problem with make recursion in 1.16.0
Date: Tue, 11 Oct 2016 22:14:00 -0000	[thread overview]
Message-ID: <ntjo6c$10v$1@blaine.gmane.org> (raw)
In-Reply-To: <ntjh0p$75g$1@blaine.gmane.org>

On 2016-10-11, Grant Edwards <grant.b.edwards@gmail.com> wrote:

> I'm trying to rebuild a toolchain using ctng-1.16.0 (updating isn't
> really an option at this point in time).
>
> At some point within the past year, the build worked fine.  Now it
> fails.  The build script, configuration files, and all source files
> are under version control.  I'm positive they haven't changed.  What
> probably has changed are the versions of make and autotools that are
> running on the build host.

The ct-ng Makefile wants to be run with '-R -r' flags.  So, it checks
the MAKEFLAGS, and if it's not happy it munges them a bit and then
calls itself recrusively with the MAKEFLAGS it wants.

The problem is that the MAKEFLAGS munging it does doesn't result in
MAKEFLAGS that make the child happy, so it would recurse forever if
not caught and failed by the MAKELEVEL check.

The ct-ng Makefile is checking to see if the MAKEFLAGS contain Rr or
-Rr, but there's no guarantee of the order the flag characters are
going to show up.  In my case, the initial make adds "-Rr" to
MAKEFLAGS, but what the child gets is 'rR' which doesn't satisfy it,
so the whole thing repeats.

I doubt that anybody cares, but here's the patch to Makefile.in that
fixes the problem:

------------------------------------------------------------------------------
diff -r -U5 orig/crosstool-ng-1.16.0/Makefile.in fixed/crosstool-ng-1.16.0/Makefile.in
--- orig/crosstool-ng-1.16.0/Makefile.in	2012-08-04 16:41:28.000000000 -0500
+++ fixed/crosstool-ng-1.16.0/Makefile.in	2016-10-11 16:42:14.798098680 -0500
@@ -24,11 +24,15 @@
 # Note: dual test, because if -R and -r are given on the command line
 # (who knows?), MAKEFLAGS contains 'Rr' instead of '-Rr', while adding
 # '-Rr' to MAKEFLAGS adds it literaly ( and does not add 'Rr' )
 ifeq ($(filter Rr,$(MAKEFLAGS)),)
 ifeq ($(filter -Rr,$(MAKEFLAGS)),)
+ifeq ($(filter rR,$(MAKEFLAGS)),)
+ifeq ($(filter -rR,$(MAKEFLAGS)),)
 CT_MAKEFLAGS += -Rr
+endif # No -rR
+endif # No rR
 endif # No -Rr
 endif # No Rr
 
 # Remove any suffix rules
 .SUFFIXES:
------------------------------------------------------------------------------

-- 
Grant Edwards               grant.b.edwards        Yow! Let me do my TRIBUTE
                                  at               to FISHNET STOCKINGS ...
                              gmail.com            


--
For unsubscribe information see http://sourceware.org/lists.html#faq

      reply	other threads:[~2016-10-11 22:14 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-11 20:11 Grant Edwards
2016-10-11 22:14 ` Grant Edwards [this message]

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='ntjo6c$10v$1@blaine.gmane.org' \
    --to=grant.b.edwards@gmail.com \
    --cc=crossgcc@sourceware.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).