Show More
@@ -40,6 +40,7 b' doc/*.[0-9].{x,ht}ml' | |||
|
40 | 40 | MANIFEST |
|
41 | 41 | MANIFEST.in |
|
42 | 42 | patches |
|
43 | mercurial/__modulepolicy__.py | |
|
43 | 44 | mercurial/__version__.py |
|
44 | 45 | mercurial/hgpythonlib.h |
|
45 | 46 | mercurial.egg-info |
@@ -63,6 +63,7 b' clean:' | |||
|
63 | 63 | \( -name '*.py[cdo]' -o -name '*.so' \) -exec rm -f '{}' ';' |
|
64 | 64 | rm -f $(addprefix mercurial/,$(notdir $(wildcard mercurial/pure/[a-z]*.py))) |
|
65 | 65 | rm -f MANIFEST MANIFEST.in hgext/__index__.py tests/*.err |
|
66 | rm -f mercurial/__modulepolicy__.py | |
|
66 | 67 | if test -d .hg; then rm -f mercurial/__version__.py; fi |
|
67 | 68 | rm -rf build mercurial/locale |
|
68 | 69 | $(MAKE) -C doc clean |
@@ -19,11 +19,14 b' import zipimport' | |||
|
19 | 19 | # c - require C extensions |
|
20 | 20 | # allow - allow pure Python implementation when C loading fails |
|
21 | 21 | # py - only load pure Python modules |
|
22 | modulepolicy = '@MODULELOADPOLICY@' | |
|
23 | ||
|
22 | # | |
|
24 | 23 | # By default, require the C extensions for performance reasons. |
|
25 | if modulepolicy == '@' 'MODULELOADPOLICY' '@': | |
|
26 | modulepolicy = 'c' | |
|
24 | modulepolicy = 'c' | |
|
25 | try: | |
|
26 | from . import __modulepolicy__ | |
|
27 | modulepolicy = __modulepolicy__.modulepolicy | |
|
28 | except ImportError: | |
|
29 | pass | |
|
27 | 30 | |
|
28 | 31 | # PyPy doesn't load C extensions. |
|
29 | 32 | # |
@@ -314,21 +314,16 b' class hgbuildpy(build_py):' | |||
|
314 | 314 | raise SystemExit('Python headers are required to build ' |
|
315 | 315 | 'Mercurial but weren\'t found in %s' % h) |
|
316 | 316 | |
|
317 | def copy_file(self, *args, **kwargs): | |
|
318 | dst, copied = build_py.copy_file(self, *args, **kwargs) | |
|
317 | def run(self): | |
|
318 | if self.distribution.pure: | |
|
319 | modulepolicy = 'py' | |
|
320 | else: | |
|
321 | modulepolicy = 'c' | |
|
322 | with open("mercurial/__modulepolicy__.py", "w") as f: | |
|
323 | f.write('# this file is autogenerated by setup.py\n') | |
|
324 | f.write('modulepolicy = "%s"\n' % modulepolicy) | |
|
319 | 325 | |
|
320 | if copied and dst.endswith('__init__.py'): | |
|
321 | if self.distribution.pure: | |
|
322 | modulepolicy = 'py' | |
|
323 | else: | |
|
324 | modulepolicy = 'c' | |
|
325 | content = open(dst, 'rb').read() | |
|
326 | content = content.replace(b'@MODULELOADPOLICY@', | |
|
327 | modulepolicy.encode(libdir_escape)) | |
|
328 | with open(dst, 'wb') as fh: | |
|
329 | fh.write(content) | |
|
330 | ||
|
331 | return dst, copied | |
|
326 | build_py.run(self) | |
|
332 | 327 | |
|
333 | 328 | class buildhgextindex(Command): |
|
334 | 329 | description = 'generate prebuilt index of hgext (for frozen package)' |
General Comments 0
You need to be logged in to leave comments.
Login now