bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #66583] [PATCH] allow building groff without makeinfo


From: anonymous
Subject: [bug #66583] [PATCH] allow building groff without makeinfo
Date: Tue, 31 Dec 2024 18:28:50 -0500 (EST)

Follow-up Comment #52, bug #66583 (group groff):

Hi Alex,

[comment #51 comment #51:]
> On Tue, Dec 31, 2024 at 01:18:50PM -0500, anonymous wrote:
>> Follow-up Comment #50, bug #66583 (group groff):
>> [comment #44 comment #44:]
>>> On Tue, Dec 31, 2024 at 07:24:03AM -0500, G. Branden Robinson wrote:
>>>> I trust you realize that you and onf are arguing diametrically opposed
>>>> objectives here.  He _absolutely_ wants to drive target selection from
>>>> the "./configure" script.  Or did.  The plethora of new make(1) target
>>>> names he's proposed, he might regard as a complete replacement for that
>>>> approach.
>>> 
>>> I do.
>> 
>> I would like to correct this.
>> [...]
> 
> I suspected it was due to autotools being crap, rather than you wanting
> that on purpose.  I don't mean to say you want that.  Rather that your
> current solution involves that.  Please don't take offense from my
> words.
> 
> I myself haven't written a solution, because I don't know how to solve
> this, other than completely scraping the build system, and writing some
> GNUMakefile's from scratch.  So, thanks a lot for your attempts!  Slow
> is faster than not doing it at all.  :)

Thanks for the supportive words. A correction, though: my current solution
no longer involves configure; rather, I have added several new make targets
and added those to all's dependencies. You can find the patches within the
"Attached files" section below this discussion on the bug tracker.

>> As for Alex's suspicion of a recursive build and Branden's objections,
>> just look into the generated Makefile [re-arranged for clarity]:
> 
> [...]
> 
>> To sum it up: `make all` does what would be considered a recursive build:
>> it runs `$(MAKE) $(AM_MAKEFLAGS) all-recursive`. As far as I can tell, the
>> AM_MAKEFLAGS macro is not defined anywhere, so this make does not inherit
>> flags the user called make with. This means that what Alex is experiencing
>> is this: he runs `make -k [all]`, which runs `make all-recursive` (defined
>> under `$(am__recursive_targets):`). The command `make all-recursive` fails
>> due to the Texinfo manual not building, and does not try building other
>> targets because it wasn't run with the flag -k.
> 
> Minor corrections:
> 
>> he runs `make -k [all]`, which runs `make all-recursive`
> 
> You should say 'which would run' rather than 'which runs'.
> Since the prerequisites of 'all' are not met, the recipe (which
> consists of `make all-recursive`) never runs.
> [...]
> 
> Even with -k it doesn't build.  The reason is that -k allows
> other targets to continue building if their respective
> prerequisites are met.  If a prerequisite is not met, the target
> cannot run.  I'm not sure if `make -i` might help (it depends on
> how the recipes are defined).  Maybe the only solution is to
> touch(1) the files.

Ah, I see now. In other words, the recursive make doesn't run because
building the Texinfo manual (which is a dependency of `all`) fails.
Furthermore, because the dependencies of `all` do not include the
binaries, `make -k` doesn't build the binaries.

Please try the current version of my patches (as found in the "Attached
files" section on the bug tracker). Among other things, they add the
binaries as dependencies of `all`, so `make -k` should build them now.

>> Because the dependencies of
>> all do not include anything outside BUILT_SOURCES (which seems to contain
>> stuff relevant to gnulib), the Texinfo manual, and some helper targets,
>> there is nothing more the `make -k` can do and so exits.
> 
> Actually, there's something more:

I think I've covered all of those in that list:

> $ grepc -xmk -tr -n all Makefile
> Makefile:6773:all: $(BUILT_SOURCES)

"BUILT_SOURCES,"

> $(MAKE) $(AM_MAKEFLAGS) all-recursive

That's not a dependency.

> Makefile:16742:all: $(GROFF_INFO) $(GROFF_TXT) $(GROFF_HTML) $(GROFF_DVI)
> $(GROFF_PDF)

"the Texinfo manual,"

> Makefile:17140:all: font/devpdf/stamp
> Makefile:17406:all: charset.alias ref-add.sed ref-del.sed
> Makefile:17884:all: tmac/stamp-wrap
> Makefile:17964:all: generate_man_files

"and some helper targets[.]"

> [...]
> Have a lovely new year!
> Alex

Happy new year, too :)

P.S. Please consider not replying to all when responding to emails sent
by Savannah since the people that are CCed on them get another copy by
Savannah when the system receives your reply.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?66583>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]