def MANPAGES(bld, manpages):
'''build and install manual pages'''
# check if we are to skip man pages generation
- if 'NO_MANPAGES' in bld.env and bld.env['NO_MANPAGES']:
- if not 'NO_MANPAGES_WARNED' in bld.env:
- bld.env['NO_MANPAGES_WARNED'] = True
- Logs.warn('Skipping man pages generation')
+ if bld.SKIP_MANPAGES():
return
bld.env.MAN_XSL = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
for m in manpages.split():
bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
Build.BuildContext.MANPAGES = MANPAGES
+def SKIP_MANPAGES(bld):
+ '''Determine if we have to skip man pages generation'''
+ # return cached result if we know what to do
+ if 'SKIP_MANPAGES' in bld.env:
+ return bld.env['SKIP_MANPAGES']
+ # check if explicitly prohibit manpages from command line
+ if 'NO_MANPAGES' in bld.env and bld.env['NO_MANPAGES']:
+ Logs.warn('Skipping man pages generation')
+ bld.env['SKIP_MANPAGES'] = True
+ return True
+
+ # TODO: check for other conditions
+ # TODO: (Metze suggested --nonet for example)
+
+ # manpages are allowed by default
+ bld.env['SKIP_MANPAGES'] = False
+ return False
+Build.BuildContext.SKIP_MANPAGES = SKIP_MANPAGES
#############################################################
# give a nicer display when building different types of files
build_manpages = True
# check if we are to skip man pages generation
- if 'NO_MANPAGES' in bld.env and bld.env['NO_MANPAGES']:
- if not 'NO_MANPAGES_WARNED' in bld.env:
- bld.env['NO_MANPAGES_WARNED'] = True
- Logs.warn('Skipping man pages generation')
+ if bld.SKIP_MANPAGES():
build_manpages = False
bld.SET_BUILD_GROUP('final')