| diff -Naur Python-3.8.0-orig/setup.py Python-3.8.0/setup.py |
| --- Python-3.8.0-orig/setup.py 2019-10-22 10:03:14.129777700 +0300 |
| +++ Python-3.8.0/setup.py 2019-10-22 10:03:22.475792400 +0300 |
| @@ -703,7 +703,7 @@ |
| if HOST_PLATFORM == 'hp-ux11': |
| self.lib_dirs += ['/usr/lib/hpux64', '/usr/lib/hpux32'] |
| |
| - if MACOS: |
| + if MACOS or MS_WINDOWS: |
| # This should work on any unixy platform ;-) |
| # If the user has bothered specifying additional -I and -L flags |
| # in OPT and LDFLAGS we might as well use them here. |
| @@ -713,6 +713,8 @@ |
| # directories with whitespace in the name to store libraries. |
| cflags, ldflags = sysconfig.get_config_vars( |
| 'CFLAGS', 'LDFLAGS') |
| + cflags = cflags + ' ' + ('',os.environ.get('CC'))[os.environ.get('CC') != None] |
| + ldflags = ldflags + ' ' + ('',os.environ.get('LDSHARED'))[os.environ.get('LDSHARED') != None] |
| for item in cflags.split(): |
| if item.startswith('-I'): |
| self.inc_dirs.append(item[2:]) |
| @@ -1907,14 +1909,19 @@ |
| # The versions with dots are used on Unix, and the versions without |
| # dots on Windows, for detection by cygwin. |
| tcllib = tklib = tcl_includes = tk_includes = None |
| - for version in ['8.6', '86', '8.5', '85', '8.4', '84', '8.3', '83', |
| - '8.2', '82', '8.1', '81', '8.0', '80']: |
| - tklib = self.compiler.find_library_file(self.lib_dirs, |
| - 'tk' + version) |
| - tcllib = self.compiler.find_library_file(self.lib_dirs, |
| - 'tcl' + version) |
| - if tklib and tcllib: |
| - # Exit the loop when we've found the Tcl/Tk libraries |
| + tcltk_suffix = None |
| + for suffix in ['', 's']: |
| + for version in ['8.6', '86', '8.5', '85', '8.4', '84', '8.3', '83', |
| + '8.2', '82', '8.1', '81', '8.0', '80', '']: |
| + tklib = self.compiler.find_library_file(self.lib_dirs, |
| + 'tk' + version + suffix) |
| + tcllib = self.compiler.find_library_file(self.lib_dirs, |
| + 'tcl' + version + suffix) |
| + if tklib and tcllib: |
| + # Exit the loop when we've found the Tcl/Tk libraries |
| + tcltk_suffix = suffix |
| + break |
| + if tcltk_suffix != None: |
| break |
| |
| # Now check for the header files |
| @@ -1985,10 +1992,18 @@ |
| # Add the Tcl/Tk libraries |
| libs.append('tk'+ version) |
| libs.append('tcl'+ version) |
| + libs.append('tk'+ version + tcltk_suffix) |
| + libs.append('tcl'+ version + tcltk_suffix) |
| + if MS_WINDOWS: |
| + for winlib in ['ws2_32','gdi32','comctl32','comdlg32','imm32','uuid','oleaut32','ole32']: |
| + libs.append( winlib ) |
| |
| # Finally, link with the X11 libraries (not appropriate on cygwin) |
| - if not CYGWIN: |
| + # ...on those platforms, define STATIC_BUILD if linking to static tcl/tk. |
| + if not CYGWIN and not MS_WINDOWS: |
| libs.append('X11') |
| + elif tcllib.endswith('s.a'): |
| + defs.append( ('STATIC_BUILD',1) ) |
| |
| # XXX handle these, but how to detect? |
| # *** Uncomment and edit for PIL (TkImaging) extension only: |