mirror of https://github.com/python/cpython
Path from Thomas Heller: resurrect the .def file kludge while preserving the
/export option mini-kludge.
This commit is contained in:
parent
4ba9b2e3b6
commit
968d883be5
|
@ -241,9 +241,21 @@ class BuildExt (Command):
|
||||||
libraries = build_info.get ('libraries')
|
libraries = build_info.get ('libraries')
|
||||||
library_dirs = build_info.get ('library_dirs')
|
library_dirs = build_info.get ('library_dirs')
|
||||||
extra_args = build_info.get ('extra_link_args') or []
|
extra_args = build_info.get ('extra_link_args') or []
|
||||||
|
|
||||||
if self.compiler.compiler_type == 'msvc':
|
if self.compiler.compiler_type == 'msvc':
|
||||||
mod_name = string.split (extension_name, '.')[-1]
|
def_file = build_info.get ('def_file')
|
||||||
extra_args.append ('/export:init%s' % mod_name)
|
if def_file is None:
|
||||||
|
source_dir = os.path.dirname (sources[0])
|
||||||
|
ext_base = (string.split (extension_name, '.'))[-1]
|
||||||
|
def_file = os.path.join (source_dir, "%s.def" % ext_base)
|
||||||
|
if not os.path.exists (def_file):
|
||||||
|
def_file = None
|
||||||
|
|
||||||
|
if def_file is not None:
|
||||||
|
extra_args.append ('/DEF:' + def_file)
|
||||||
|
else:
|
||||||
|
modname = string.split (extension_name, '.')[-1]
|
||||||
|
extra_args.append('/export:init%s'%modname)
|
||||||
|
|
||||||
ext_filename = self.extension_filename \
|
ext_filename = self.extension_filename \
|
||||||
(extension_name, self.package)
|
(extension_name, self.package)
|
||||||
|
|
Loading…
Reference in New Issue