9e83e1f955
Guenther
117 lines
4.5 KiB
Diff
117 lines
4.5 KiB
Diff
From 838457ac4f9f3f6c1bb5936738566210a62cbdc5 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <gd@samba.org>
|
|
Date: Tue, 27 Aug 2019 15:25:13 +0200
|
|
Subject: [PATCH] Revert "waf: install: Remove installation of PIDL and
|
|
manpages."
|
|
|
|
This reverts commit e24e344d0da58013fd5fa404529fe1d25ef403bf.
|
|
|
|
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14103
|
|
|
|
Guenther
|
|
|
|
Signed-off-by: Guenther Deschner <gd@samba.org>
|
|
---
|
|
pidl/lib/wscript_build | 37 +++++++++++++++++++++++++++++++++++++
|
|
pidl/wscript | 38 ++++++++++++++++++++++++++++++++++++++
|
|
2 files changed, 75 insertions(+)
|
|
create mode 100644 pidl/lib/wscript_build
|
|
|
|
diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build
|
|
new file mode 100644
|
|
index 00000000000..54b3170c4e2
|
|
--- /dev/null
|
|
+++ b/pidl/lib/wscript_build
|
|
@@ -0,0 +1,37 @@
|
|
+#!/usr/bin/env python
|
|
+
|
|
+# install the pidl modules
|
|
+bld.INSTALL_FILES(bld.env.PERL_LIB_INSTALL_DIR,
|
|
+ '''
|
|
+ Parse/Pidl.pm
|
|
+ Parse/Pidl/Samba4.pm
|
|
+ Parse/Pidl/CUtil.pm
|
|
+ Parse/Pidl/Expr.pm
|
|
+ Parse/Pidl/Wireshark/Conformance.pm
|
|
+ Parse/Pidl/Wireshark/NDR.pm
|
|
+ Parse/Pidl/ODL.pm
|
|
+ Parse/Pidl/Dump.pm
|
|
+ Parse/Pidl/Util.pm
|
|
+ Parse/Pidl/Samba4/Header.pm
|
|
+ Parse/Pidl/Samba4/COM/Header.pm
|
|
+ Parse/Pidl/Samba4/COM/Proxy.pm
|
|
+ Parse/Pidl/Samba4/COM/Stub.pm
|
|
+ Parse/Pidl/Samba4/TDR.pm
|
|
+ Parse/Pidl/Samba4/NDR/Server.pm
|
|
+ Parse/Pidl/Samba4/NDR/Client.pm
|
|
+ Parse/Pidl/Samba4/NDR/Parser.pm
|
|
+ Parse/Pidl/Samba4/Python.pm
|
|
+ Parse/Pidl/Samba4/Template.pm
|
|
+ Parse/Pidl/IDL.pm
|
|
+ Parse/Pidl/Typelist.pm
|
|
+ Parse/Pidl/Samba3/ClientNDR.pm
|
|
+ Parse/Pidl/Samba3/ServerNDR.pm
|
|
+ Parse/Pidl/Compat.pm
|
|
+ Parse/Pidl/NDR.pm
|
|
+ ''',
|
|
+ flat=False)
|
|
+
|
|
+if not bld.CONFIG_SET('USING_SYSTEM_PARSE_YAPP_DRIVER'):
|
|
+ bld.INSTALL_FILES(bld.env.PERL_LIB_INSTALL_DIR,
|
|
+ 'Parse/Yapp/Driver.pm',
|
|
+ flat=False)
|
|
diff --git a/pidl/wscript b/pidl/wscript
|
|
index 01b71bd8b27..a2a15d36851 100644
|
|
--- a/pidl/wscript
|
|
+++ b/pidl/wscript
|
|
@@ -32,10 +32,49 @@
|
|
# 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.env.PERLMAN1EXT = conf.CHECK_PERL_MANPAGE(section='1')
|
|
+ conf.env.PERLMAN3EXT = conf.CHECK_PERL_MANPAGE(section='3')
|
|
+ conf.DEFINE('HAVE_PERL_MAKEMAKER', 1)
|
|
+
|
|
# yapp is used for building the parser
|
|
conf.find_program('yapp', var='YAPP')
|
|
+ conf.find_program('pod2man', var='POD2MAN')
|
|
|
|
def build(bld):
|
|
+ bld.INSTALL_FILES('${BINDIR}', 'pidl', chmod=MODE_755, perl_fixup=True)
|
|
+
|
|
+ bld.RECURSE('lib')
|
|
+
|
|
+ if not bld.CONFIG_SET('HAVE_PERL_MAKEMAKER'):
|
|
+ return
|
|
+
|
|
+ pidl_manpages = {
|
|
+ 'pidl': 'man1/pidl.${PERLMAN1EXT}',
|
|
+ 'lib/Parse/Pidl/NDR.pm': 'man3/Parse::Pidl::NDR.${PERLMAN3EXT}',
|
|
+ 'lib/Parse/Pidl/Wireshark/Conformance.pm': 'man3/Parse::Pidl::Wireshark::Conformance.${PERLMAN3EXT}',
|
|
+ 'lib/Parse/Pidl/Dump.pm': 'man3/Parse::Pidl::Dump.${PERLMAN3EXT}',
|
|
+ 'lib/Parse/Pidl/Util.pm': 'man3/Parse::Pidl::Util.${PERLMAN3EXT}',
|
|
+ 'lib/Parse/Pidl/Wireshark/NDR.pm': 'man3/Parse::Pidl::Wireshark::NDR.${PERLMAN3EXT}'
|
|
+ }
|
|
+
|
|
+ for k in pidl_manpages.keys():
|
|
+ pidl_manpages[k] = bld.EXPAND_VARIABLES(pidl_manpages[k])
|
|
+
|
|
+ # use perl to build the manpages
|
|
+ bld.env.pidl_srcdir = os.path.join(bld.srcnode.abspath(), 'pidl')
|
|
+
|
|
+ bld.SET_BUILD_GROUP('final')
|
|
+ if 'POD2MAN' in bld.env and bld.env['POD2MAN'] != '':
|
|
+ for src in pidl_manpages.keys():
|
|
+ manpage = pidl_manpages[src]
|
|
+ section = manpage.rsplit( ".", 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)),
|
|
+ target=os.path.basename(manpage))
|
|
|
|
# we want to prefer the git version of the parsers if we can.
|
|
# Only if the source has changed do we want to re-run yapp
|