waf: Move logic to check for man pages generation in single function no-manpages
authorKamen Mazdrashki <kamenim@samba.org>
Fri, 18 Jun 2010 14:53:20 +0000 (17:53 +0300)
committerKamen Mazdrashki <kamenim@samba.org>
Fri, 18 Jun 2010 14:53:20 +0000 (17:53 +0300)
buildtools/wafsamba/wafsamba.py
pidl/wscript

index 592524c7679362295eec2090e9836cf18ed45c7d..ba06eb2690c27b5dea161725e37f71d1042c74c8 100644 (file)
@@ -869,10 +869,7 @@ Build.BuildContext.PKG_CONFIG_FILES = PKG_CONFIG_FILES
 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():
@@ -886,6 +883,24 @@ def MANPAGES(bld, manpages):
         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
index baceb372c7b46389145dd22aa2d7bf6a088b05fb..f20fe2ce2e3d8e1c85a540c67a7988c7a2e9e6b9 100644 (file)
@@ -52,10 +52,7 @@ def build(bld):
         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')