From: Reinhold Kainhofer Date: Tue, 8 Jun 2010 16:24:59 +0000 (+0200) Subject: Lilypond-book: Check for dblatex and pdflatex for the regtests X-Git-Tag: release/2.13.27-1~23 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=8ce8785d1cbd95ddd082195d17f400f0c65e28e6;p=lilypond.git Lilypond-book: Check for dblatex and pdflatex for the regtests Generate pdf from tex/xml only if they exist. Otherwise, simply link to the .tex and .xml files in collated-files.html rather than to the resulting pdf. --- diff --git a/config.make.in b/config.make.in index aab9e410c0..93158d88f4 100644 --- a/config.make.in +++ b/config.make.in @@ -101,6 +101,7 @@ CC = @CC@ CONFIGSUFFIX = @CONFIGSUFFIX@ CROSS = @cross_compiling@ CXX = @CXX@ +DBLATEX = @DBLATEX@ DEFINES = @DEFS@ @DEFINES@ DEFS = @DEFS@ DOCUMENTATION = @DOCUMENTATION@ @@ -125,6 +126,7 @@ MFMODE = @MFMODE@ MSGFMT = @MSGFMT@ PAPERSIZE=a4 PATHSEP = @PATHSEP@ +PDFLATEX = @PDFLATEX@ PERL = @PERL@ PLATFORM_WINDOWS = @PLATFORM_WINDOWS@ PYTHON = @PYTHON@ diff --git a/configure.in b/configure.in index 7c62b48bfa..f41aef700a 100644 --- a/configure.in +++ b/configure.in @@ -186,6 +186,8 @@ STEPMAKE_PERL(OPTIONAL) STEPMAKE_PROGS(MAKEINFO, makeinfo, REQUIRED, 4.11) STEPMAKE_PROGS(TEXI2HTML, texi2html, OPTIONAL, 1.82) +STEPMAKE_PROGS(DBLATEX, dblatex, OPTIONAL) +STEPMAKE_PROGS(PDFLATEX, pdflatex, OPTIONAL) AC_DEFINE_UNQUOTED(FLOWER_VERSION, "${FULL_FLOWER_VERSION}") diff --git a/make/lilypond-book-rules.make b/make/lilypond-book-rules.make index bab711e6d3..754e88c5ef 100644 --- a/make/lilypond-book-rules.make +++ b/make/lilypond-book-rules.make @@ -20,9 +20,11 @@ $(outdir)/%.tex: %.tex $(outdir)/%.tex: %.latex $(LILYPOND_BOOK_COMMAND) --pdf -o $(outdir) $< +# Add the tex => pdf rule only if we have dblatex +ifeq (,$(findstring pdflatex,$(MISSING_OPTIONAL))) $(outdir)/%.pdf: $(outdir)/%.tex - cd $(outdir) && pdflatex $(notdir $<) - + cd $(outdir) && $(PDFLATEX) $(notdir $<) +endif ############## Texinfo ###################### @@ -44,5 +46,8 @@ $(outdir)/%.texi: %.tely $(outdir)/%.xml: %.lyxml $(LILYPOND_BOOK_COMMAND) --pdf -o $(outdir) $< +# Add the xml => pdf rule only if we have dblatex +ifeq (,$(findstring dblatex,$(MISSING_OPTIONAL))) $(outdir)/%.pdf: $(outdir)/%.xml - cd $(outdir) && dblatex $(notdir $<) + cd $(outdir) && $(DBLATEX) $(notdir $<) +endif diff --git a/make/lilypond-book-vars.make b/make/lilypond-book-vars.make index 95960cd1a2..f988ba665b 100644 --- a/make/lilypond-book-vars.make +++ b/make/lilypond-book-vars.make @@ -17,12 +17,24 @@ LILYBOOK_DOCBOOK_FILES = $(call src-wildcard,*.lyxml) LILYBOOK_OUT_HTML_FILES = ${LILYBOOK_HTML_FILES:%.html=$(outdir)/%.html} LILYBOOK_OUT_XML_FILES = ${LILYBOOK_XML_FILES:%.xml=$(outdir)/%.html} +# If we have pdflatex, create the pdf, otherwise only the .tex file! +ifeq (,$(findstring dblatex,$(MISSING_OPTIONAL))) LILYBOOK_OUT_LYTEX_FILES = ${LILYBOOK_LYTEX_FILES:%.lytex=$(outdir)/%.pdf} LILYBOOK_OUT_LATEX_FILES = ${LILYBOOK_LATEX_FILES:%.latex=$(outdir)/%.pdf} LILYBOOK_OUT_TEX_FILES = ${LILYBOOK_TEX_FILES:%.tex=$(outdir)/%.pdf} +else +LILYBOOK_OUT_LYTEX_FILES = ${LILYBOOK_LYTEX_FILES:%.lytex=$(outdir)/%.tex} +LILYBOOK_OUT_LATEX_FILES = ${LILYBOOK_LATEX_FILES:%.latex=$(outdir)/%.tex} +LILYBOOK_OUT_TEX_FILES = ${LILYBOOK_TEX_FILES:%.tex=$(outdir)/%.tex} +endif LILYBOOK_OUT_TEXI_FILES = ${LILYBOOK_TEXI_FILES:%.texi=$(outdir)/%.html} LILYBOOK_OUT_TELY_FILES = ${LILYBOOK_TELY_FILES:%.tely=$(outdir)/%.html} +# If we have dblatex, create the pdf, otherwise only the .xml file! +ifeq (,$(findstring dblatex,$(MISSING_OPTIONAL))) LILYBOOK_OUT_DOCBOOK_FILES = ${LILYBOOK_DOCBOOK_FILES:%.lyxml=$(outdir)/%.pdf} +else +LILYBOOK_OUT_DOCBOOK_FILES = ${LILYBOOK_DOCBOOK_FILES:%.lyxml=$(outdir)/%.xml} +endif LILYBOOK_OUT_FILES = $(sort $(LILYBOOK_OUT_HTML_FILES) \ $(LILYBOOK_OUT_XML_FILES) \ diff --git a/scripts/build/lys-to-tely.py b/scripts/build/lys-to-tely.py index 6f6ad475e4..c4e387547b 100644 --- a/scripts/build/lys-to-tely.py +++ b/scripts/build/lys-to-tely.py @@ -92,13 +92,16 @@ for opt in options: texi_file_re = re.compile ('.*\.i?te(ly|xi)$') html_file_re = re.compile ('.*\.i?htm(l)?$') +xml_file_re = re.compile ('.*\.i?xml$') +tex_file_re = re.compile ('.*\.i?(la)?tex$') pdf_file_re = re.compile ('.*\.i?pdf$') def name2line (n): if texi_file_re.match (n): # We have a texi include file, simply include it: s = r"@include %s" % os.path.basename (n) - elif html_file_re.match (n) or pdf_file_re.match (n): + elif (html_file_re.match (n) or pdf_file_re.match (n) or + xml_file_re.match (n) or tex_file_re.match (n)): s = r""" @ifhtml @html