From 3839d99b7913a37e370fbbedc5495162b2080e46 Mon Sep 17 00:00:00 2001 From: Zachary Ware Date: Sat, 1 Oct 2016 16:15:09 -0500 Subject: [PATCH] Issue #13756: Fix building extensions modules on Cygwin Patch by Roumen Petrov, based on original patch by Jason Tishler. --- Lib/distutils/command/build_ext.py | 7 ------- Makefile.pre.in | 2 +- Misc/NEWS | 3 +++ Modules/makesetup | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py index 74de782d8a6..9155626a471 100644 --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py @@ -715,13 +715,6 @@ class build_ext(Command): return ext.libraries + [pythonlib] else: return ext.libraries - elif sys.platform[:6] == "cygwin": - template = "python%d.%d" - pythonlib = (template % - (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff)) - # don't extend ext.libraries, it may be shared with other - # extensions, it is a reference to the original list - return ext.libraries + [pythonlib] elif sys.platform[:6] == "atheos": from distutils import sysconfig diff --git a/Makefile.pre.in b/Makefile.pre.in index a2174cea8b6..ce5296eb29b 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -674,7 +674,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ # This rule builds the Cygwin Python DLL and import library if configured # for a shared core library; otherwise, this rule is a noop. -$(DLLLIBRARY) libpython$(VERSION).dll.a: $(LIBRARY_OBJS) +$(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) if test -n "$(DLLLIBRARY)"; then \ $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \ $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST); \ diff --git a/Misc/NEWS b/Misc/NEWS index 9d48ff8a0d6..340f91d4b10 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -173,6 +173,9 @@ Windows Build ----- +- Issue #13756: Fix building extensions modules on Cygwin. Patch by Roumen + Petrov, based on original patch by Jason Tishler. + - Issue #21085: Add configure check for siginfo_t.si_band, which Cygwin does not provide. Patch by Masayuki Yamamoto with review and rebase by Erik Bray. diff --git a/Modules/makesetup b/Modules/makesetup index 3297b78a20d..b87233758e3 100755 --- a/Modules/makesetup +++ b/Modules/makesetup @@ -91,7 +91,7 @@ CYGWIN*) if test $libdir = . else ExtraLibDir='$(LIBPL)' fi - ExtraLibs="-L$ExtraLibDir -lpython\$(VERSION)";; + ExtraLibs="-L$ExtraLibDir -lpython\$(LDVERSION)";; esac # Main loop