summaryrefslogtreecommitdiff
path: root/doc/man/SConstruct
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/SConstruct')
-rw-r--r--doc/man/SConstruct68
1 files changed, 68 insertions, 0 deletions
diff --git a/doc/man/SConstruct b/doc/man/SConstruct
new file mode 100644
index 0000000..7127ff2
--- /dev/null
+++ b/doc/man/SConstruct
@@ -0,0 +1,68 @@
+#
+# SConstruct file for building SCons documentation.
+#
+
+#
+# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 The SCons Foundation
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+import os
+
+env = Environment(ENV={'PATH' : os.environ['PATH']},
+ tools=['docbook','gs','zip'],
+ toolpath=['../../src/engine/SCons/Tool'],
+ DOCBOOK_DEFAULT_XSL_HTML='html.xsl',
+ DOCBOOK_DEFAULT_XSL_PDF='pdf.xsl')
+
+has_pdf = False
+if (env.WhereIs('fop') or
+ env.WhereIs('xep')):
+ has_pdf = True
+
+# Helper function, combining all the steps for a single target
+def createManPages(env, target):
+ env.DocbookXInclude('%s_xi.xml' % target, '%s.xml' % target)
+ env.DocbookXslt('%s_db.xml' % target, '%s_xi.xml' % target,
+ xsl='../xslt/to_docbook.xslt')
+ env.DocbookHtml('scons-%s.html' % target,'%s_db.xml' % target)
+ env.DocbookMan('%s.1' % target, '%s_db.xml' % target)
+ if has_pdf:
+ env.DocbookPdf('scons-%s.pdf' % target,'%s_db.xml' % target)
+
+#
+# Create MAN pages
+#
+createManPages(env, "scons")
+createManPages(env, "sconsign")
+createManPages(env, "scons-time")
+
+has_gs = False
+if env.WhereIs('gs'):
+ has_gs = True
+
+#
+# Create the EPUB format
+#
+if has_gs and has_pdf:
+ jpg = env.Gs('OEBPS/cover.jpg','scons-scons.pdf',
+ GSFLAGS='-dNOPAUSE -dBATCH -sDEVICE=jpeg -dFirstPage=1 -dLastPage=1 -dJPEGQ=100 -r72x72 -q')
+ epub = env.DocbookEpub('scons-man.epub', 'scons_db.xml', xsl='epub.xsl')
+ env.Depends(epub, jpg)