Path from Thomas Heller: resurrect the .def file kludge while preserving the

/export option mini-kludge.
This commit is contained in:
Greg Ward 2000-02-10 02:17:06 +00:00
parent 4ba9b2e3b6
commit 968d883be5
1 changed files with 14 additions and 2 deletions

View File

@ -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)