Commit 4e7bbe99 authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Change how the dblatex/lndir problem is worked around

Hack: dblatex normalises the name of the main input file using
os.path.realpath, which means that if we're in a linked build tree,
it find the real source files rather than the symlinks in our link
tree. This is fine for the static sources, but it means it can't
find the generated sources.

We therefore also generate the main input file, so that it really
is in the link tree, and thus dblatex can find everything.
parent af199e49
......@@ -11,6 +11,7 @@
# -----------------------------------------------------------------------------
docs/users_guide_GENERATED_DOCBOOK_SOURCES := \
docs/users_guide/users_guide.xml \
docs/users_guide/what_glasgow_exts_does.gen.xml
# sort remove duplicates
......@@ -19,29 +20,13 @@ docs/users_guide_DOCBOOK_SOURCES := \
$(wildcard docs/users_guide/*.xml) \
$(basename $(wildcard docs/users_guide/*.xml.in)))
$(docs/users_guide_GENERATED_DOCBOOK_SOURCES): %.gen.xml: inplace/bin/mkUserGuidePart
$(docs/users_guide_GENERATED_DOCBOOK_SOURCES): %.xml: inplace/bin/mkUserGuidePart
inplace/bin/mkUserGuidePart $@
$(eval $(call docbook,docs/users_guide,users_guide))
$(eval $(call clean-target,docs/users_guide,gen,$(docs/users_guide_GENERATED_DOCBOOK_SOURCES)))
# Hack: dblatex normalises the name of the input file using
# os.path.realpath, which means that if we're in a linked build tree,
# it won't be able to find ug-book.xml which is in the build tree but
# not in the source tree. Hence, we copy ug-book.xml to the source
# tree. This is a horrible hack, but I can't find a better way to do
# it --SDM (2009-05-11)
build_ug_book = docs/users_guide/ug-book.xml
src_ug_book = $(dir $(realpath $(dir $(build_ug_book))/ug-book.xml.in))ug-book.xml
# ... and similarly for ug-ent.xml, which is now generated by configure from
# ug-ent.xml.in --SDM (2010-02-25)
build_ug_ent = docs/users_guide/ug-ent.xml
src_ug_ent = $(dir $(realpath $(dir $(build_ug_ent))/ug-ent.xml.in))ug-ent.xml
html_docs/users_guide : docs/users_guide/users_guide/prof_scc.png
docs/users_guide/users_guide/prof_scc.png : \
......@@ -50,19 +35,3 @@ docs/users_guide/users_guide/prof_scc.png : \
$(CP) $< $@
# dep. on d/u/u/index.html is to make sure that the d/u/u dir is created first
ifneq "$(build_ug_book)" "$(src_ug_book)"
$(src_ug_book) : $(build_ug_book)
"$(CP)" $< $@
ifneq "$(BINDIST)" "YES"
docs/users_guide/users_guide.pdf docs/users_guide/users_guide.ps: $(src_ug_book)
endif
endif
ifneq "$(build_ug_ent)" "$(src_ug_ent)"
$(src_ug_ent) : $(build_ug_ent)
"$(CP)" $< $@
ifneq "$(BINDIST)" "YES"
docs/users_guide/users_guide.pdf docs/users_guide/users_guide.ps: $(src_ug_ent)
endif
endif
......@@ -12,12 +12,35 @@ main = do args <- getArgs
[] -> error "Need to give filename to generate as an argument"
[f] ->
case f of
"docs/users_guide/users_guide.xml" ->
writeFile f userGuideMain
"docs/users_guide/what_glasgow_exts_does.gen.xml" ->
writeFile f whatGlasgowExtsDoes
_ ->
error ("Don't know what to do for " ++ show f)
_ -> error "Bad args"
-- Hack: dblatex normalises the name of the main input file using
-- os.path.realpath, which means that if we're in a linked build tree,
-- it find the real source files rather than the symlinks in our link
-- tree. This is fine for the static sources, but it means it can't
-- find the generated sources.
-- We therefore also generate the main input file, so that it really
-- is in the link tree, and thus dblatex can find everything.
userGuideMain :: String
userGuideMain = unlines [
"<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>",
"<!DOCTYPE book PUBLIC \"-//OASIS//DTD DocBook XML V4.2//EN\"",
" \"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd\" [",
"<!ENTITY % ug-ent SYSTEM \"ug-ent.xml\">",
"%ug-ent;",
"<!ENTITY ug-book SYSTEM \"ug-book.xml\">",
"]>",
"",
"<book id=\"users-guide\">",
"&ug-book;",
"</book>"]
whatGlasgowExtsDoes :: String
whatGlasgowExtsDoes = case maybeInitLast glasgowExtsFlags of
Just (xs, x) ->
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment