1- #
2- # SConstruct file for building SCons documentation.
3- #
1+ # SPDX-FileCopyrightText: Copyright The SCons Foundation (https://scons.org)
2+ # SPDX-License-Identifier: MIT
43
5- #
6- # __COPYRIGHT__
7- #
8- # Permission is hereby granted, free of charge, to any person obtaining
9- # a copy of this software and associated documentation files (the
10- # "Software"), to deal in the Software without restriction, including
11- # without limitation the rights to use, copy, modify, merge, publish,
12- # distribute, sublicense, and/or sell copies of the Software, and to
13- # permit persons to whom the Software is furnished to do so, subject to
14- # the following conditions:
15- #
16- # The above copyright notice and this permission notice shall be included
17- # in all copies or substantial portions of the Software.
18- #
19- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
20- # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
21- # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
23- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
24- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4+ """
5+ SConstruct file for building SCons manpages.
6+
7+ This is usually invoked as a separate build by the top-level SCons build.
8+
9+ If invoked directly, can add SKIP_PDF=1 to avoid pdf and epub generation.
10+ """
2611
2712import os
2813
29- env = Environment (ENV = {'PATH' : os .environ ['PATH' ]},
30- tools = ['docbook' ,'gs' ,'zip' ],
31- toolpath = ['../../SCons/Tool' ],
32- DOCBOOK_DEFAULT_XSL_HTML = 'html.xsl' ,
33- DOCBOOK_DEFAULT_XSL_PDF = 'pdf.xsl' )
14+ env = Environment (
15+ ENV = {'PATH' : os .environ ['PATH' ]},
16+ tools = ['docbook' , 'gs' , 'zip' ],
17+ toolpath = ['../../SCons/Tool' ],
18+ DOCBOOK_DEFAULT_XSL_HTML = 'html.xsl' ,
19+ DOCBOOK_DEFAULT_XSL_PDF = 'pdf.xsl' ,
20+ )
3421
22+ skip_pdf = ARGUMENTS .get ('SKIP_PDF' , False )
3523has_pdf = False
36- if (env .WhereIs ('fop' ) or
37- env .WhereIs ('xep' )):
24+ if not skip_pdf and any ((env .WhereIs ('fop' ), env .WhereIs ('xep' ))):
3825 has_pdf = True
3926
4027# Helper function, combining all the steps for a single target
4128def createManPages (env , target ):
4229 env .DocbookXInclude ('%s_xi.xml' % target , '%s.xml' % target )
43- env .DocbookXslt ('%s_db.xml' % target , '%s_xi.xml' % target ,
44- xsl = '../xslt/to_docbook.xslt' )
45- env .DocbookHtml ('scons-%s.html' % target ,'%s_db.xml' % target )
30+ env .DocbookXslt (
31+ '%s_db.xml' % target , '%s_xi.xml' % target , xsl = '../xslt/to_docbook.xslt'
32+ )
33+ env .DocbookHtml ('scons-%s.html' % target , '%s_db.xml' % target )
4634 env .DocbookMan ('%s.1' % target , '%s_db.xml' % target )
4735 if has_pdf :
48- env .DocbookPdf ('scons-%s.pdf' % target ,'%s_db.xml' % target )
36+ env .DocbookPdf ('scons-%s.pdf' % target , '%s_db.xml' % target )
37+
4938
5039#
5140# Create MAN pages
@@ -62,7 +51,10 @@ if env.WhereIs('gs'):
6251# Create the EPUB format
6352#
6453if has_gs and has_pdf :
65- jpg = env .Gs ('OEBPS/cover.jpg' ,'scons-scons.pdf' ,
66- GSFLAGS = '-dNOPAUSE -dBATCH -sDEVICE=jpeg -dFirstPage=1 -dLastPage=1 -dJPEGQ=100 -r72x72 -q' )
54+ jpg = env .Gs (
55+ 'OEBPS/cover.jpg' ,
56+ 'scons-scons.pdf' ,
57+ GSFLAGS = '-dNOPAUSE -dBATCH -sDEVICE=jpeg -dFirstPage=1 -dLastPage=1 -dJPEGQ=100 -r72x72 -q' ,
58+ )
6759 epub = env .DocbookEpub ('scons-man.epub' , 'scons_db.xml' , xsl = 'epub.xsl' )
6860 env .Depends (epub , jpg )
0 commit comments