summaryrefslogtreecommitdiff
path: root/pidl/wscript
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-03-27 18:13:44 +1100
committerAndrew Tridgell <tridge@samba.org>2010-04-06 20:27:10 +1000
commit052a0e0a02224db6ebacabbc1324dcf903b00c39 (patch)
tree9671eac8c8e10820e30473dc93f2253eea938a3c /pidl/wscript
parentf1284d657fe53b40fcb7b88d26146143d3b2fce5 (diff)
downloadsamba-052a0e0a02224db6ebacabbc1324dcf903b00c39.tar.gz
s4-waf: only build the pidl manpages if we have MakeMaker.pm
Diffstat (limited to 'pidl/wscript')
-rw-r--r--pidl/wscript38
1 files changed, 38 insertions, 0 deletions
diff --git a/pidl/wscript b/pidl/wscript
new file mode 100644
index 00000000000..64ff63041fe
--- /dev/null
+++ b/pidl/wscript
@@ -0,0 +1,38 @@
+import os
+
+def set_options(opt):
+ opt.tool_options('perl')
+
+def configure(conf):
+ conf.check_tool('perl')
+ if conf.check_perl_module('ExtUtils::MakeMaker'):
+ conf.DEFINE('HAVE_PERL_MAKEMAKER', 1)
+
+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.1p blib/man3/Parse::Pidl::NDR.3pm
+ blib/man3/Parse::Pidl::Wireshark::Conformance.3pm
+ blib/man3/Parse::Pidl::Dump.3pm
+ blib/man3/Parse::Pidl::Util.3pm
+ blib/man3/Parse::Pidl::Wireshark::NDR.3pm'''.split()
+
+ # 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)