Hack to make the user's guide build in a linked build tree
authorSimon Marlow <marlowsd@gmail.com>
Mon, 11 May 2009 13:35:23 +0000 (13:35 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Mon, 11 May 2009 13:35:23 +0000 (13:35 +0000)
See comment for details

docs/users_guide/ghc.mk

index 644f381..492df2d 100644 (file)
@@ -16,3 +16,18 @@ docs/users_guide_DOCBOOK_SOURCES := \
 
 $(eval $(call docbook,docs/users_guide,users_guide))
 
+# 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 = $(TOP)/docs/users_guide/ug-book.xml
+src_ug_book  = $(dir $(realpath $(dir $(build_ug_book))/ug-book.xml.in))ug-book.xml
+
+ifneq "$(build_ug_book)" "$(src_ug_book)"
+$(src_ug_book) : $(build_ug_book)
+       $(CP) $< $@
+docs/users_guide/users_guide.pdf: $(src_ug_book)
+endif