summarylogtreecommitdiffstats
path: root/0098-Fix-extension-suffix-for-c-extensions-on-mingw.patch
diff options
context:
space:
mode:
authoratomlong2021-10-23 17:55:22 +0800
committeratomlong2021-10-23 18:06:15 +0800
commit80096c8de4b34ec1ed8f30bb428918cd592b2424 (patch)
treeb48dd1e73de9ea35a4709fb6b93deb16331ec514 /0098-Fix-extension-suffix-for-c-extensions-on-mingw.patch
parent89a67c05174951d172252b1db96ff93cc4ec4bcd (diff)
downloadaur-80096c8de4b34ec1ed8f30bb428918cd592b2424.tar.gz
update to 3.9.7
Diffstat (limited to '0098-Fix-extension-suffix-for-c-extensions-on-mingw.patch')
-rw-r--r--0098-Fix-extension-suffix-for-c-extensions-on-mingw.patch181
1 files changed, 0 insertions, 181 deletions
diff --git a/0098-Fix-extension-suffix-for-c-extensions-on-mingw.patch b/0098-Fix-extension-suffix-for-c-extensions-on-mingw.patch
deleted file mode 100644
index 226494752d26..000000000000
--- a/0098-Fix-extension-suffix-for-c-extensions-on-mingw.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-From 07a8e1ed1285bf5e2708036b1c1cc72fc87dfa21 Mon Sep 17 00:00:00 2001
-From: Naveen M K <naveen521kk@gmail.com>
-Date: Wed, 23 Jun 2021 18:12:12 +0530
-Subject: [PATCH 098/N] Fix extension suffix for c-extensions on mingw
-
-Python is compiled with various compilers which previously
-had same platform tags or extension suffix. This can be error
-prone while loading c-extensions, so now each compiler or
-runtime has a different extension suffix.
-
-Also, changed all extension to end with .pyd rather than
-.dll file.
-
-Fixes https://github.com/msys2/MINGW-packages/issues/8843
-
-Signed-off-by: Naveen M K <naveen521kk@gmail.com>
----
- Makefile.pre.in | 6 ++--
- Python/dynload_win.c | 6 ----
- configure.ac | 76 +++++++++++++++++++++++++++++++++++++++-----
- 3 files changed, 71 insertions(+), 17 deletions(-)
-
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 3331d5c..e18239f 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -165,6 +165,7 @@ CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(LDVERSION)
- # Symbols used for using shared libraries
- SHLIB_SUFFIX= @SHLIB_SUFFIX@
- EXT_SUFFIX= @EXT_SUFFIX@
-+PYD_PLATFORM_TAG = @PYD_PLATFORM_TAG@
- LDSHARED= @LDSHARED@ $(PY_LDFLAGS)
- BLDSHARED= @BLDSHARED@ $(PY_CORE_LDFLAGS)
- LDCXXSHARED= @LDCXXSHARED@
-@@ -851,8 +852,7 @@ Python/dynload_hpux.o: $(srcdir)/Python/dynload_hpux.c Makefile
-
- Python/dynload_win.o: $(srcdir)/Python/dynload_win.c Makefile
- $(CC) -c $(PY_CORE_CFLAGS) \
-- -DSHLIB_SUFFIX='"$(SHLIB_SUFFIX)"' \
-- -DEXT_SUFFIX='"$(EXT_SUFFIX)"' \
-+ -DPYD_PLATFORM_TAG='"$(PYD_PLATFORM_TAG)"' \
- -o $@ $(srcdir)/Python/dynload_win.c
-
- Python/sysmodule.o: $(srcdir)/Python/sysmodule.c Makefile $(srcdir)/Include/pydtrace.h
-@@ -1691,7 +1691,7 @@ libainstall: @DEF_MAKE_RULE@ python-config
- done
- @if test -d $(LIBRARY); then :; else \
- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
-- if test "$(SHLIB_SUFFIX)" = .dll; then \
-+ if test "$(SHLIB_SUFFIX)" = .dll -o "$(SHLIB_SUFFIX)" = .pyd; then \
- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
- else \
- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
-diff --git a/Python/dynload_win.c b/Python/dynload_win.c
-index bd34310..60fb603 100644
---- a/Python/dynload_win.c
-+++ b/Python/dynload_win.c
-@@ -27,12 +27,6 @@
- #define PYD_UNTAGGED_SUFFIX PYD_DEBUG_SUFFIX ".pyd"
-
- const char *_PyImport_DynLoadFiletab[] = {
--#ifdef EXT_SUFFIX
-- EXT_SUFFIX, /* include SOABI flags where is encoded debug */
--#endif
--#ifdef SHLIB_SUFFIX
-- "-abi" PYTHON_ABI_STRING SHLIB_SUFFIX,
--#endif
- PYD_TAGGED_SUFFIX,
- PYD_UNTAGGED_SUFFIX,
- NULL
-diff --git a/configure.ac b/configure.ac
-index 7cf6519..bba2006 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2825,7 +2825,7 @@ if test -z "$SHLIB_SUFFIX"; then
- *) SHLIB_SUFFIX=.so;;
- esac
- case $host_os in
-- mingw*) SHLIB_SUFFIX=.dll;;
-+ mingw*) SHLIB_SUFFIX=.pyd;;
- esac
- fi
- AC_MSG_RESULT($SHLIB_SUFFIX)
-@@ -5114,6 +5114,67 @@ esac
- # check for endianness
- AC_C_BIGENDIAN
-
-+AC_SUBST(PYD_PLATFORM_TAG)
-+# Special case of PYD_PLATFORM_TAG with python build with mingw.
-+# Python can with compiled with clang or gcc and linked
-+# to msvcrt or ucrt. To avoid conflicts between them
-+# we are selecting the extension as based on the compiler
-+# and the runtime they link to
-+# gcc + x86_64 + msvcrt = cp{version number}-x86_64
-+# gcc + i686 + msvcrt = cp{version number}-i686
-+# gcc + x86_64 + ucrt = cp{version number}-x86_64-ucrt
-+# clang + x86_64 + ucrt = cp{version number}-x86_64-clang
-+# clang + i686 + ucrt = cp{version number}-i686-clang
-+
-+PYD_PLATFORM_TAG=""
-+case $host in
-+ *-*-mingw*)
-+ # check if we are linking to ucrt
-+ AC_MSG_CHECKING(whether linking to ucrt)
-+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
-+ #include <stdio.h>
-+ int main(){
-+ _UCRT;
-+ }
-+ ]])],[linking_to_ucrt=yes],[linking_to_ucrt=no])
-+ AC_MSG_RESULT($linking_to_ucrt)
-+ ;;
-+esac
-+case $host_os in
-+ mingw*)
-+ AC_MSG_CHECKING(PYD_PLATFORM_TAG)
-+ case $host in
-+ i686-*-mingw*)
-+ if test -n "${cc_is_clang}"; then
-+ # it is CLANG32
-+ PYD_PLATFORM_TAG="mingw_i686_clang"
-+ else
-+ if test $linking_to_ucrt = no; then
-+ PYD_PLATFORM_TAG="mingw_i686"
-+ else
-+ PYD_PLATFORM_TAG="mingw_i686_ucrt"
-+ fi
-+ fi
-+ ;;
-+ x86_64-*-mingw*)
-+ if test -n "${cc_is_clang}"; then
-+ # it is CLANG64
-+ PYD_PLATFORM_TAG="mingw_x86_64_clang"
-+ else
-+ if test $linking_to_ucrt = no; then
-+ PYD_PLATFORM_TAG="mingw_x86_64"
-+ else
-+ PYD_PLATFORM_TAG="mingw_x86_64_ucrt"
-+ fi
-+ fi
-+ ;;
-+ aarch64-*-mingw*)
-+ PYD_PLATFORM_TAG+="mingw_aarch64"
-+ ;;
-+ esac
-+ AC_MSG_RESULT($PYD_PLATFORM_TAG)
-+esac
-+
- # ABI version string for Python extension modules. This appears between the
- # periods in shared library file names, e.g. foo.<SOABI>.so. It is calculated
- # from the following attributes which affect the ABI of this Python build (in
-@@ -5146,7 +5207,12 @@ if test "$Py_DEBUG" = 'true' -a "$with_trace_refs" != "yes"; then
- fi
-
- AC_SUBST(EXT_SUFFIX)
--EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX}
-+VERSION_NO_DOTS=$(echo $LDVERSION | tr -d .)
-+if test -n "${PYD_PLATFORM_TAG}"; then
-+ EXT_SUFFIX=".cp${VERSION_NO_DOTS}-${PYD_PLATFORM_TAG}${SHLIB_SUFFIX}"
-+else
-+ EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX}
-+fi
-
- AC_MSG_CHECKING(LDVERSION)
- LDVERSION='$(VERSION)$(ABIFLAGS)'
-@@ -5824,12 +5890,6 @@ case "$ac_cv_computed_gotos" in yes*)
- AC_DEFINE(HAVE_COMPUTED_GOTOS, 1,
- [Define if the C compiler supports computed gotos.])
- esac
--case $host_os in
-- mingw*)
-- dnl Synchronized with _PyImport_DynLoadFiletab (dynload_win.c)
-- dnl Do not use more then one dot on this platform !
-- EXT_SUFFIX=-$SOABI$SHLIB_SUFFIX;;
--esac
-
- case $ac_sys_system in
- AIX*)
---
-2.32.0
-