File tree 2 files changed +6
-4
lines changed 2 files changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -690,13 +690,15 @@ def get_export_symbols(self, ext):
690
690
provided, "PyInit_" + module_name. Only relevant on Windows, where
691
691
the .pyd file (DLL) must export the module "PyInit_" function.
692
692
"""
693
- suffix = '_' + ext .name .split ('.' )[- 1 ]
693
+ name = ext .name .split ('.' )[- 1 ]
694
694
try :
695
695
# Unicode module name support as defined in PEP-489
696
696
# https://www.python.org/dev/peps/pep-0489/#export-hook-name
697
- suffix .encode ('ascii' )
697
+ name .encode ('ascii' )
698
698
except UnicodeEncodeError :
699
- suffix = 'U' + suffix .encode ('punycode' ).replace (b'-' , b'_' ).decode ('ascii' )
699
+ suffix = 'U_' + name .encode ('punycode' ).replace (b'-' , b'_' ).decode ('ascii' )
700
+ else :
701
+ suffix = "_" + name
700
702
701
703
initfunc_name = "PyInit" + suffix
702
704
if initfunc_name not in ext .export_symbols :
Original file line number Diff line number Diff line change @@ -316,7 +316,7 @@ def test_unicode_module_names(self):
316
316
self .assertRegex (cmd .get_ext_filename (modules [0 ].name ), r'foo(_d)?\..*' )
317
317
self .assertRegex (cmd .get_ext_filename (modules [1 ].name ), r'föö(_d)?\..*' )
318
318
self .assertEqual (cmd .get_export_symbols (modules [0 ]), ['PyInit_foo' ])
319
- self .assertEqual (cmd .get_export_symbols (modules [1 ]), ['PyInitU_f_gkaa ' ])
319
+ self .assertEqual (cmd .get_export_symbols (modules [1 ]), ['PyInitU_f_1gaa ' ])
320
320
321
321
def test_compiler_option (self ):
322
322
# cmd.compiler is an option and
You can’t perform that action at this time.
0 commit comments