* add libb2 as dep * remove "-Wl,--large-address-aware", default now via makepkg * remove 2to3 logic, no longer in Python
90 lines
3.6 KiB
Diff
90 lines
3.6 KiB
Diff
From b3dcb417bac59820aa7a9fb660fcc14bc22082d2 Mon Sep 17 00:00:00 2001
|
|
From: Alexey Pavlov <alexpux@gmail.com>
|
|
Date: Wed, 3 Sep 2025 12:25:03 +0300
|
|
Subject: [PATCH 153/N] Try fix build C++ modules. Add WMI module. Fix SOABI
|
|
generation
|
|
|
|
---
|
|
Modules/Setup.stdlib.in | 1 +
|
|
Modules/makesetup | 16 ++++++++--------
|
|
configure.ac | 6 ++++--
|
|
3 files changed, 13 insertions(+), 10 deletions(-)
|
|
|
|
diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in
|
|
index cd7c2e9..8a6dcad 100644
|
|
--- a/Modules/Setup.stdlib.in
|
|
+++ b/Modules/Setup.stdlib.in
|
|
@@ -159,6 +159,7 @@
|
|
# Windows specific modules
|
|
|
|
@MODULE__OVERLAPPED_TRUE@_overlapped overlapped.c
|
|
+@MODULE__WMIMODULE_TRUE@_wmimodule ../PC/_wmimodule.cpp
|
|
@MODULE_WINSOUND_TRUE@winsound ../PC/winsound.c
|
|
|
|
|
|
diff --git a/Modules/makesetup b/Modules/makesetup
|
|
index 8bb971b..7f58fb0 100755
|
|
--- a/Modules/makesetup
|
|
+++ b/Modules/makesetup
|
|
@@ -228,13 +228,13 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
|
|
for src in $srcs
|
|
do
|
|
case $src in
|
|
- *.c) obj=`basename $src .c`.o; cc='$(CC)';;
|
|
- *.cc) obj=`basename $src .cc`.o; cc='$(CXX)';;
|
|
- *.c++) obj=`basename $src .c++`.o; cc='$(CXX)';;
|
|
- *.C) obj=`basename $src .C`.o; cc='$(CXX)';;
|
|
- *.cxx) obj=`basename $src .cxx`.o; cc='$(CXX)';;
|
|
- *.cpp) obj=`basename $src .cpp`.o; cc='$(CXX)';;
|
|
- *.m) obj=`basename $src .m`.o; cc='$(CC)';; # Obj-C
|
|
+ *.c) obj=`basename $src .c`.o; cc='$(CC)'; ccld='$(BLDSHARED)';;
|
|
+ *.cc) obj=`basename $src .cc`.o; cc='$(CXX)'; ccld='$(LDCXXSHARED)';;
|
|
+ *.c++) obj=`basename $src .c++`.o; cc='$(CXX)'; ccld='$(LDCXXSHARED)';;
|
|
+ *.C) obj=`basename $src .C`.o; cc='$(CXX)'; ccld='$(LDCXXSHARED)';;
|
|
+ *.cxx) obj=`basename $src .cxx`.o; cc='$(CXX)'; ccld='$(LDCXXSHARED)';;
|
|
+ *.cpp) obj=`basename $src .cpp`.o; cc='$(CXX)'; ccld='$(LDCXXSHARED)';;
|
|
+ *.m) obj=`basename $src .m`.o; cc='$(CC)'; ccld='$(BLDSHARED)';; # Obj-C
|
|
*) continue;;
|
|
esac
|
|
case $src in
|
|
@@ -274,7 +274,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
|
|
;;
|
|
esac
|
|
rule="$file: $objs"
|
|
- rule="$rule; \$(BLDSHARED) $objs $libs \$(LIBPYTHON) -o $file"
|
|
+ rule="$rule; $ccld $objs $libs \$(LIBPYTHON) -o $file"
|
|
echo "$rule" >>$rulesf
|
|
done
|
|
done
|
|
diff --git a/configure.ac b/configure.ac
|
|
index d8564a0..580548c 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -6705,7 +6705,7 @@ AC_MSG_CHECKING([ABIFLAGS])
|
|
AC_MSG_RESULT([$ABIFLAGS])
|
|
AC_MSG_CHECKING([SOABI])
|
|
case $host_os in
|
|
- mingw*) SOABI='cp'`echo $VERSION | tr -d .`${ABIFLAGS}${SOABI_PLATFORM:+-$SOABI_PLATFORM};;
|
|
+ mingw*) SOABI='cp'`echo $VERSION | tr -d .`;;
|
|
*) SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${SOABI_PLATFORM:+-$SOABI_PLATFORM};;
|
|
esac
|
|
AC_MSG_RESULT([$SOABI])
|
|
@@ -6716,7 +6716,7 @@ if test "$Py_DEBUG" = 'true'; then
|
|
# Similar to SOABI but remove "d" flag from ABIFLAGS
|
|
AC_SUBST([ALT_SOABI])
|
|
case $host_os in
|
|
- mingw*) ALT_SOABI='cp'`echo $VERSION | tr -d .``echo $ABIFLAGS | tr -d d`${SOABI_PLATFORM:+-$SOABI_PLATFORM};;
|
|
+ mingw*) ALT_SOABI='cp'`echo $VERSION | tr -d .`;;
|
|
*) ALT_SOABI='cpython-'`echo $VERSION | tr -d .``echo $ABIFLAGS | tr -d d`${SOABI_PLATFORM:+-$SOABI_PLATFORM};;
|
|
esac
|
|
AC_DEFINE_UNQUOTED([ALT_SOABI], ["${ALT_SOABI}"],
|
|
@@ -8392,6 +8392,8 @@ dnl windows specific modules
|
|
PY_STDLIB_MOD([winreg], [test "$MACHDEP" = "win32"])
|
|
PY_STDLIB_MOD([msvcrt], [test "$MACHDEP" = "win32"])
|
|
PY_STDLIB_MOD([_winapi], [test "$MACHDEP" = "win32"])
|
|
+PY_STDLIB_MOD([_wmimodule], [test "$MACHDEP" = "win32"], [], [],
|
|
+ [-lwbemuuid -lpropsys -lole32 -loleaut32 -luuid])
|
|
PY_STDLIB_MOD([winsound], [test "$MACHDEP" = "win32"], [], [],
|
|
[-lwinmm])
|
|
PY_STDLIB_MOD([_overlapped], [test "$MACHDEP" = "win32"], [], [],
|