#!/usr/bin/env python
-import os, sys, Logs, Options
+import os, string
from samba_utils import MODE_755
+from waflib import Logs
-def set_options(opt):
- opt.tool_options('perl')
+# 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
+
+ # 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 conf.check_perl_module(module_check) is None:
+ return False
+
+ conf.define('USING_SYSTEM_%s' % bundle_name.upper(), 1)
+
+ return True
+
+def options(opt):
+ return
def configure(conf):
- conf.check_tool('perl')
- conf.check_perl_ext_devel()
+ # Check if perl(Parse::Yapp::Driver) is available.
+ check_system_perl_module(conf, "Parse::Yapp::Driver", 1.05)
# we need a recent version of MakeMaker to get the right man page names
if conf.CHECK_PERL_MANPAGE():
conf.find_program('yapp', var='YAPP')
conf.find_program('pod2man', var='POD2MAN')
- # Check for perl(Parse::Yapp::Driver)
- check_system_perl_module(conf, "Parse::Yapp::Driver", 1.05)
-
def build(bld):
- bld.INSTALL_FILES('${BINDIR}', 'pidl', chmod=MODE_755)
+ bld.INSTALL_FILES('${BINDIR}', 'pidl', chmod=MODE_755, perl_fixup=True)
bld.RECURSE('lib')
# use perl to build the manpages
bld.env.pidl_srcdir = os.path.join(bld.srcnode.abspath(), 'pidl')
- blib_bld = os.path.join(bld.srcnode.abspath(bld.env), 'pidl/blib')
-
bld.SET_BUILD_GROUP('final')
if 'POD2MAN' in bld.env and bld.env['POD2MAN'] != '':
for src, manpage in pidl_manpages.iteritems():
- bld(rule='${POD2MAN} -c "Samba Documentation" ${SRC} ${TGT}',
+ section = string.rsplit(manpage, ".", 1)[1]
+ bld(rule='${POD2MAN} -c "Samba Documentation" -s %s ${SRC} ${TGT}' % section,
shell=True,
source=src,
install_path=os.path.dirname(bld.EXPAND_VARIABLES('${MANDIR}/'+manpage)),
$ touch ../pidl/lib/Parse/Pidl/IDL.pm ../pidl/lib/Parse/Pidl/Expr.pm
''')
-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