From: Greg Ward Date: Thu, 10 Feb 2000 02:17:06 +0000 (+0000) Subject: Path from Thomas Heller: resurrect the .def file kludge while preserving the X-Git-Tag: v1.6a1~470 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=968d883be5bd20647d764badcca1621e4bc697c9;p=thirdparty%2FPython%2Fcpython.git Path from Thomas Heller: resurrect the .def file kludge while preserving the /export option mini-kludge. --- diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 14c2234e3c55..42eab4796dd6 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -241,9 +241,21 @@ class BuildExt (Command): libraries = build_info.get ('libraries') library_dirs = build_info.get ('library_dirs') extra_args = build_info.get ('extra_link_args') or [] + if self.compiler.compiler_type == 'msvc': - mod_name = string.split (extension_name, '.')[-1] - extra_args.append ('/export:init%s' % mod_name) + def_file = build_info.get ('def_file') + 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 \ (extension_name, self.package)