[Buildroot] [PATCH 04/23 v5] gendoc infra: disable pdf manual generation if xsltproc is buggy
Thomas De Schampheleire
thomas.de.schampheleire at gmail.com
Fri Sep 19 20:21:57 UTC 2014
On Fri, Sep 19, 2014 at 10:15 PM, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
> Thomas, All,
>
> On 2014-09-19 22:00 +0200, Thomas De Schampheleire spake thusly:
>> On Sun, Sep 14, 2014 at 1:07 PM, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
>> > From: Samuel Martin <s.martin49 at gmail.com>
>> >
>> > The PDF manual generation reaches the default xsltproc's template
>> > recursion limit when processing the target package list; this makes the
>> > PDF manual generation fail [1-3].
> [--SNIP--]
>> > ################################################################################
>> > # GENDOC_INNER -- generates the make targets needed to build a specific type of
>> > # asciidoc documentation.
>> > @@ -83,6 +97,14 @@ define MANUAL_$(2)_INSTALL_CMDS
>> > endef
>> > endif
>> >
>> > +ifeq ($(4)-$$(MANUAL_XSLTPROC_IS_BROKEN),pdf-y)
>> > +$$(O)/docs/$(1)/$(1).$(4):
>> > + $$(error PDF manual generation is disabled because of a bug in \
>> > + xsltproc. To be able to generate the PDF manual, you should \
>> > + build xsltproc from the libxslt sources >=1.1.29 and pass it \
>> > + to make through the command line: \
>> > + 'PATH=/path/to/custom-xsltproc/bin:$$$${PATH} make manual-pdf')
>>
>> I think this should be $(warning) instead of $(error), because if you
>> run 'make manual' with a broken xsltproc, then the manual generation
>> will stop at the pdf manual, even though the following manuals (text
>> and ePUB) could have been built without issue.
>
> Yup, it always bothered me. But we can just skip it, indeed.
>
> Another point about this hunk: the indentation of $(error...) is wrong:
> it is not the commands of the rule. I.e. it is not interpreted by the
> shell for the $$(O)/docs/$(1)/$(1).$(4) rule, but really by make itself.
>
> So, we should probably have this instead:
>
> ifeq ($(4)-$$(MANUAL_XSLTPROC_IS_BROKEN),pdf-y)
> $$(error ........)
> $$(O)/docs/$(1)/$(1).$(4):
> else
> $$(O)/docs/$(1)/$(1).$(4):
> a2x ....
> endif
Yes, but with $(warning) then...
Best regards,
Thomas
More information about the buildroot
mailing list