From 968d883be5bd20647d764badcca1621e4bc697c9 Mon Sep 17 00:00:00 2001 From: Greg Ward <gward@python.net> Date: Thu, 10 Feb 2000 02:17:06 +0000 Subject: [PATCH] Path from Thomas Heller: resurrect the .def file kludge while preserving the /export option mini-kludge. --- Lib/distutils/command/build_ext.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 14c2234e3c..42eab4796d 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) -- 2.49.0