pidl-waf: Add a function to check for a system perl module.
authorAndreas Schneider <asn@samba.org>
Fri, 28 Feb 2014 14:59:41 +0000 (15:59 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 6 Mar 2014 08:59:45 +0000 (09:59 +0100)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
pidl/wscript

index 77abb019de9bd5675c37ad1c8d3f969dc51a0b6d..236439153ec1ff4af98192d8cdf2e8e331d8b12d 100644 (file)
@@ -3,6 +3,28 @@
 import os, sys, Logs
 from samba_utils import MODE_755
 
+# This function checks if a perl module is installed on the system.
+def check_system_perl_module(conf, module, version=None):
+    bundle_name = module.replace('::', '_')
+    module_check = module
+    found = False
+
+    # Create module string with version
+    if version:
+        module_check = module + ' ' + str(version)
+
+    # Check if we have to bundle it.
+    if conf.LIB_MUST_BE_BUNDLED(bundle_name.lower()):
+        return False
+
+    # Check for system perl module
+    if not conf.check_perl_module(module_check):
+        return False
+
+    conf.define('USING_SYSTEM_%s' % bundle_name.upper(), 1)
+
+    return True
+
 def set_options(opt):
     opt.tool_options('perl')