1
- #
2
- # SConstruct file for building SCons documentation.
3
- #
1
+ # SPDX-FileCopyrightText: Copyright The SCons Foundation (https://scons.org)
2
+ # SPDX-License-Identifier: MIT
4
3
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
+ """
26
11
27
12
import os
28
13
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
+ )
34
21
22
+ skip_pdf = ARGUMENTS .get ('SKIP_PDF' , False )
35
23
has_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' ))):
38
25
has_pdf = True
39
26
40
27
# Helper function, combining all the steps for a single target
41
28
def createManPages (env , target ):
42
29
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 )
46
34
env .DocbookMan ('%s.1' % target , '%s_db.xml' % target )
47
35
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
+
49
38
50
39
#
51
40
# Create MAN pages
@@ -62,7 +51,10 @@ if env.WhereIs('gs'):
62
51
# Create the EPUB format
63
52
#
64
53
if 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
+ )
67
59
epub = env .DocbookEpub ('scons-man.epub' , 'scons_db.xml' , xsl = 'epub.xsl' )
68
60
env .Depends (epub , jpg )
0 commit comments