source: vendor/current/third_party/wscript

Last change on this file was 988, checked in by Silvan Scherrer, 9 years ago

Samba Server: update vendor to version 4.4.3

File size: 2.0 KB
Line 
1#!/usr/bin/env python
2
3import samba_git
4import Utils
5import os
6import sys
7
8# work out what python external libraries we need to install
9external_pkgs = {
10 "dns.resolver": "dnspython/dns",
11 "iso8601": "pyiso8601/iso8601",
12 }
13
14
15def find_third_party_module(conf, module, package):
16 conf.COMPOUND_START("Checking for third party Python module %s" % module)
17 try:
18 __import__(module)
19 except ImportError:
20 pass
21 else:
22 # Installed on the system
23 conf.COMPOUND_END("system")
24
25 old_path = sys.path
26 try:
27 sys.path.append(os.path.join(conf.curdir, os.path.dirname(package)))
28 try:
29 __import__(module)
30 except ImportError:
31 if samba_git.has_submodules(conf.srcdir):
32 raise Utils.WafError("""\
33Unable to find Python module '%s'. Please install the system package or check \
34out the relevant submodule by running 'git submodule update --init'.
35""" % module)
36 else:
37 raise Utils.WafError("""\
38Unable to find Python module '%s'. Please install the system package or place a copy in
39%s.
40""" % (module, package))
41 else:
42 conf.COMPOUND_END("bundled")
43 finally:
44 sys.path = old_path
45
46
47def configure(conf):
48 for module, package in external_pkgs.items():
49 find_third_party_module(conf, module, package)
50 conf.RECURSE('popt')
51 conf.RECURSE('zlib')
52
53
54def build(bld):
55 list = []
56
57 for module, package in external_pkgs.items():
58 try:
59 __import__(module)
60 except ImportError:
61 list.append(package)
62
63 for e in list:
64 bld.INSTALL_WILDCARD('${PYTHONARCHDIR}/samba/third_party', e + '/**/*', flat=False,
65 exclude='*.pyc', trim_path=os.path.dirname(e))
66
67 bld.SAMBA_GENERATOR('third_party_init_py',
68 rule='touch ${TGT}',
69 target='empty_file')
70
71 bld.INSTALL_FILES('${PYTHONARCHDIR}/samba/third_party', 'empty_file', destname='__init__.py')
72 bld.RECURSE('zlib')
73 bld.RECURSE('popt')
Note: See TracBrowser for help on using the repository browser.