]> git.donarmstrong.com Git - lilypond.git/commitdiff
Lilypond-book: Check for dblatex and pdflatex for the regtests
authorReinhold Kainhofer <reinhold@kainhofer.com>
Tue, 8 Jun 2010 16:24:59 +0000 (18:24 +0200)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Sat, 3 Jul 2010 11:26:53 +0000 (13:26 +0200)
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.

config.make.in
configure.in
make/lilypond-book-rules.make
make/lilypond-book-vars.make
scripts/build/lys-to-tely.py

index aab9e410c0ecc938d21bcfc1f06afd69aae213ea..93158d88f4e561d6eb827ac23c15160d8f05d5bf 100644 (file)
@@ -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@
index 7c62b48bfaf0cb36ae8fb263468041abb71bdbd6..f41aef700ad338f4068b13f9d6850d506f7bafaf 100644 (file)
@@ -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}")
 
index bab711e6d3ca98cce89e1db101ed85e90701ba06..754e88c5ef30210e1e1f00d49fe8e1ab64ac747f 100644 (file)
@@ -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
index 95960cd1a2b02cf285126f4eee8d96dd8a7f0d69..f988ba665bdf4d04c9707599f30792e6597b8a7c 100644 (file)
@@ -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) \
index 6f6ad475e47e3355188ea85c6e66fe5b1cb258de..c4e387547b18563b5fe6ba81e4f05fbf90e61129 100644 (file)
@@ -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