#!/usr/bin/env python import os def set_options(opt): opt.tool_options('perl') def configure(conf): conf.check_tool('perl') # we need a recent version of MakeMaker to get the right man page names if conf.CHECK_PERL_MANPAGE(): conf.env.PERLMAN1EXT = conf.CHECK_PERL_MANPAGE(section='1') conf.env.PERLMAN3EXT = conf.CHECK_PERL_MANPAGE(section='3') def build(bld): bld.INSTALL_FILES('${BINDIR}', 'pidl', chmod=0755) bld.BUILD_SUBDIR('lib') if not bld.CONFIG_SET('HAVE_PERL_MAKEMAKER'): return pidl_src = ['pidl'] pidl_src.extend(bld.path.ant_glob('lib/**/*.pm').split()) pidl_manpages = '''blib/man1/pidl.${PERLMAN1EXT} blib/man3/Parse::Pidl::NDR.${PERLMAN3EXT} blib/man3/Parse::Pidl::Wireshark::Conformance.${PERLMAN3EXT} blib/man3/Parse::Pidl::Dump.${PERLMAN3EXT} blib/man3/Parse::Pidl::Util.${PERLMAN3EXT} blib/man3/Parse::Pidl::Wireshark::NDR.${PERLMAN3EXT}'''.split() pidl_manpages = bld.EXPAND_VARIABLES(pidl_manpages) # use perl to build the manpages bld.env.pidl_srcdir = os.path.join(bld.srcnode.abspath(), 'pidl') bld.SAMBA_GENERATOR('pidl_manpages', source=pidl_src, target=pidl_manpages, rule='cd ${pidl_srcdir} && ${PERL} Makefile.PL && make && rm -f Makefile Makefile.old') for m in pidl_manpages: dname=os.path.dirname(m)[5:] bld.INSTALL_FILES('${MANDIR}/'+dname, m, flat=True)