diff --git a/Makefile b/Makefile index 55a7519..ba4d9d1 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ BUILD_NUMBER=custom # of a release cycle, as official binaries won't be published. # PYTHON_MICRO_VERSION is the full version number, without any alpha/beta/rc suffix. (e.g., 3.10.0) # PYTHON_VER is the major/minor version (e.g., 3.10) -PYTHON_VERSION=3.11.16 +PYTHON_VERSION=3.11.17 PYTHON_PKG_VERSION=3.11.9 PYTHON_MICRO_VERSION=$(shell echo $(PYTHON_VERSION) | grep -Eo "\d+\.\d+\.\d+") PYTHON_PKG_MICRO_VERSION=$(shell echo $(PYTHON_PKG_VERSION) | grep -Eo "\d+\.\d+\.\d+") diff --git a/patch/Python/Python.patch b/patch/Python/Python.patch index 8fbba22..349263e 100644 --- a/patch/Python/Python.patch +++ b/patch/Python/Python.patch @@ -2916,10 +2916,10 @@ index 00000000000..725136b0c6c + main() diff --git a/Apple/testbed/iOSTestbed.xcodeproj/project.pbxproj b/Apple/testbed/iOSTestbed.xcodeproj/project.pbxproj new file mode 100644 -index 00000000000..f8835a3bc58 +index 00000000000..1f9e3f23a02 --- /dev/null +++ b/Apple/testbed/iOSTestbed.xcodeproj/project.pbxproj -@@ -0,0 +1,557 @@ +@@ -0,0 +1,563 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; @@ -2930,6 +2930,7 @@ index 00000000000..f8835a3bc58 + +/* Begin PBXBuildFile section */ + 607A66172B0EFA380010BFC8 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 607A66162B0EFA380010BFC8 /* AppDelegate.m */; }; ++ 71CB095279CCE565BAFB69C3 /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D995ADFDE8B3EF5DDEB37874 /* SceneDelegate.m */; }; + 607A66222B0EFA390010BFC8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607A66212B0EFA390010BFC8 /* Assets.xcassets */; }; + 607A66252B0EFA390010BFC8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607A66232B0EFA390010BFC8 /* LaunchScreen.storyboard */; }; + 607A66282B0EFA390010BFC8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 607A66272B0EFA390010BFC8 /* main.m */; }; @@ -2981,6 +2982,8 @@ index 00000000000..f8835a3bc58 + 607A66122B0EFA380010BFC8 /* iOSTestbed.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOSTestbed.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 607A66152B0EFA380010BFC8 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 607A66162B0EFA380010BFC8 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; ++ 83DC5E71F9D64737365A3BE4 /* SceneDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SceneDelegate.h; sourceTree = ""; }; ++ D995ADFDE8B3EF5DDEB37874 /* SceneDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SceneDelegate.m; sourceTree = ""; }; + 607A66212B0EFA390010BFC8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 607A66242B0EFA390010BFC8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 607A66272B0EFA390010BFC8 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; @@ -3042,6 +3045,8 @@ index 00000000000..f8835a3bc58 + 607A66592B0F08600010BFC8 /* iOSTestbed-Info.plist */, + 607A66152B0EFA380010BFC8 /* AppDelegate.h */, + 607A66162B0EFA380010BFC8 /* AppDelegate.m */, ++ 83DC5E71F9D64737365A3BE4 /* SceneDelegate.h */, ++ D995ADFDE8B3EF5DDEB37874 /* SceneDelegate.m */, + 607A66212B0EFA390010BFC8 /* Assets.xcassets */, + 607A66232B0EFA390010BFC8 /* LaunchScreen.storyboard */, + 607A66272B0EFA390010BFC8 /* main.m */, @@ -3192,6 +3197,7 @@ index 00000000000..f8835a3bc58 + buildActionMask = 2147483647; + files = ( + 607A66172B0EFA380010BFC8 /* AppDelegate.m in Sources */, ++ 71CB095279CCE565BAFB69C3 /* SceneDelegate.m in Sources */, + 607A66282B0EFA390010BFC8 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; @@ -3278,7 +3284,7 @@ index 00000000000..f8835a3bc58 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; -+ IPHONEOS_DEPLOYMENT_TARGET = 13.0; ++ IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; @@ -3333,7 +3339,7 @@ index 00000000000..f8835a3bc58 + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; -+ IPHONEOS_DEPLOYMENT_TARGET = 13.0; ++ IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; @@ -3359,7 +3365,7 @@ index 00000000000..f8835a3bc58 + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; -+ IPHONEOS_DEPLOYMENT_TARGET = 13.0; ++ IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", @@ -3390,7 +3396,7 @@ index 00000000000..f8835a3bc58 + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; -+ IPHONEOS_DEPLOYMENT_TARGET = 13.0; ++ IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", @@ -3413,7 +3419,7 @@ index 00000000000..f8835a3bc58 + DEVELOPMENT_TEAM = 3HEZE76D99; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = "\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\""; -+ IPHONEOS_DEPLOYMENT_TARGET = 13.0; ++ IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = org.python.iOSTestbedTests; + PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3433,7 +3439,7 @@ index 00000000000..f8835a3bc58 + DEVELOPMENT_TEAM = 3HEZE76D99; + GENERATE_INFOPLIST_FILE = YES; + HEADER_SEARCH_PATHS = "\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\""; -+ IPHONEOS_DEPLOYMENT_TARGET = 13.0; ++ IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = org.python.iOSTestbedTests; + PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3651,16 +3657,17 @@ index 00000000000..f695b3b5efc +@end diff --git a/Apple/testbed/iOSTestbed/AppDelegate.m b/Apple/testbed/iOSTestbed/AppDelegate.m new file mode 100644 -index 00000000000..e5085399d0c +index 00000000000..fbe71bae23b --- /dev/null +++ b/Apple/testbed/iOSTestbed/AppDelegate.m -@@ -0,0 +1,19 @@ +@@ -0,0 +1,24 @@ +// +// AppDelegate.m +// iOSTestbed +// + +#import "AppDelegate.h" ++#import "SceneDelegate.h" + +@interface AppDelegate () + @@ -3668,9 +3675,13 @@ index 00000000000..e5085399d0c + +@implementation AppDelegate + ++- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options { ++ UISceneConfiguration *configuration = [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role]; ++ configuration.delegateClass = [SceneDelegate class]; ++ return configuration; ++} + -+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { -+ return YES; ++- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet *)sceneSessions { +} + +@end @@ -3737,6 +3748,51 @@ index 00000000000..5daafe73a86 + + + +diff --git a/Apple/testbed/iOSTestbed/SceneDelegate.h b/Apple/testbed/iOSTestbed/SceneDelegate.h +new file mode 100644 +index 00000000000..264aacadca1 +--- /dev/null ++++ b/Apple/testbed/iOSTestbed/SceneDelegate.h +@@ -0,0 +1,12 @@ ++// ++// SceneDelegate.h ++// iOSTestbed ++// ++ ++#import ++ ++@interface SceneDelegate : UIResponder ++ ++@property (strong, nonatomic) UIWindow *window; ++ ++@end +diff --git a/Apple/testbed/iOSTestbed/SceneDelegate.m b/Apple/testbed/iOSTestbed/SceneDelegate.m +new file mode 100644 +index 00000000000..e82e447985d +--- /dev/null ++++ b/Apple/testbed/iOSTestbed/SceneDelegate.m +@@ -0,0 +1,21 @@ ++// ++// SceneDelegate.m ++// iOSTestbed ++// ++ ++#import "SceneDelegate.h" ++ ++@interface SceneDelegate () ++ ++@end ++ ++@implementation SceneDelegate ++ ++- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions { ++ UIWindowScene *windowScene = (UIWindowScene *)scene; ++ self.window = [[UIWindow alloc] initWithWindowScene:windowScene]; ++ self.window.rootViewController = [[UIViewController alloc] init]; ++ [self.window makeKeyAndVisible]; ++} ++ ++@end diff --git a/Apple/testbed/iOSTestbed/app/README b/Apple/testbed/iOSTestbed/app/README new file mode 100644 index 00000000000..46c0e8e2a29 @@ -3765,10 +3821,10 @@ index 00000000000..02c2beccfbd +When the test suite runs, this folder will be on the PYTHONPATH. diff --git a/Apple/testbed/iOSTestbed/iOSTestbed-Info.plist b/Apple/testbed/iOSTestbed/iOSTestbed-Info.plist new file mode 100644 -index 00000000000..fea45e1fad6 +index 00000000000..3a560656972 --- /dev/null +++ b/Apple/testbed/iOSTestbed/iOSTestbed-Info.plist -@@ -0,0 +1,52 @@ +@@ -0,0 +1,62 @@ + + + @@ -3817,7 +3873,17 @@ index 00000000000..fea45e1fad6 + UIApplicationSupportsMultipleScenes + + UISceneConfigurations -+ ++ ++ UIWindowSceneSessionRoleApplication ++ ++ ++ UISceneConfigurationName ++ Default Configuration ++ UISceneDelegateClassName ++ SceneDelegate ++ ++ ++ + + + @@ -7538,19 +7604,10 @@ index 9270f3f8d62..35b2b2c653c 100644 # Check for the presence of docstrings. diff --git a/Lib/test/support/os_helper.py b/Lib/test/support/os_helper.py -index c1b2995ef37..353a3f589ac 100644 +index b7fc0c30864..c8950158f34 100644 --- a/Lib/test/support/os_helper.py +++ b/Lib/test/support/os_helper.py -@@ -9,6 +9,8 @@ - import unittest - import warnings - -+from test import support -+ - - # Filename used for testing - if os.name == 'java': -@@ -23,8 +25,8 @@ +@@ -25,8 +25,8 @@ # TESTFN_UNICODE is a non-ascii filename TESTFN_UNICODE = TESTFN_ASCII + "-\xe0\xf2\u0258\u0141\u011f" @@ -7561,7 +7618,7 @@ index c1b2995ef37..353a3f589ac 100644 # decomposed Unicode, encoded using UTF-8. See QA1173: # http://developer.apple.com/mac/library/qa/qa2001/qa1173.html import unicodedata -@@ -49,8 +51,8 @@ +@@ -51,8 +51,8 @@ 'encoding (%s). Unicode filename tests may not be effective' % (TESTFN_UNENCODABLE, sys.getfilesystemencoding())) TESTFN_UNENCODABLE = None @@ -7572,7 +7629,7 @@ index c1b2995ef37..353a3f589ac 100644 try: # ascii and utf-8 cannot encode the byte 0xff b'\xff'.decode(sys.getfilesystemencoding()) -@@ -611,7 +613,8 @@ +@@ -630,7 +630,8 @@ if hasattr(os, 'sysconf'): try: MAXFD = os.sysconf("SC_OPEN_MAX") @@ -9102,44 +9159,6 @@ index ff86291bc57..59370264ab3 100644 @unittest.skipIf(is_emscripten or is_wasi, "not supported on Emscripten/WASI") @unittest.skipUnless(TESTFN_UNDECODABLE, "only works if there are undecodable paths") def test_open_undecodable_uri(self): -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index aa8ce81db66..0876d4d8a43 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -5041,15 +5041,27 @@ - return # Expect the full test setup to always work on Linux. - if (isinstance(err, ConnectionResetError) or - (isinstance(err, OSError) and err.errno == errno.EINVAL) or -- re.search('wrong.version.number', getattr(err, "reason", ""), re.I)): -+ re.search( -+ # Matches the following error messages: -+ # '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)' -+ # '[SSL: RECORD_LAYER_FAILURE] record layer failure (_ssl.c:1109)' -+ # '[SSL: HTTP_REQUEST] http request (_ssl.c:1143)' -+ r'wrong.version.number|record.layer.failure|http.request', -+ str(getattr(err, "reason", "")), -+ re.IGNORECASE, -+ ) -+ ): - # On Windows the TCP RST leads to a ConnectionResetError - # (ECONNRESET) which Linux doesn't appear to surface to userspace. - # If wrap_socket() winds up on the "if connected:" path and doing -- # the actual wrapping... we get an SSLError from OpenSSL. Typically -- # WRONG_VERSION_NUMBER. While appropriate, neither is the scenario -- # we're specifically trying to test. The way this test is written -- # is known to work on Linux. We'll skip it anywhere else that it -- # does not present as doing so. -+ # the actual wrapping... we get an SSLError from OpenSSL. This is -+ # typically WRONG_VERSION_NUMBER. The same happens on iOS, but -+ # RECORD_LAYER_FAILURE or HTTP_REQUEST is the error. -+ # -+ # While appropriate, these scenarios aren't what we're specifically -+ # trying to test. The way this test is written is known to work on -+ # Linux. We'll skip it anywhere else that it does not present as -+ # doing so. - try: - self.skipTest(f"Could not recreate conditions on {sys.platform}:" - f" {err=}") diff --git a/Lib/test/test_stat.py b/Lib/test/test_stat.py index c77fec3d39d..ca55d429aec 100644 --- a/Lib/test/test_stat.py @@ -9276,7 +9295,7 @@ index 47619c8807b..25c16e3a0b7 100644 sf0 = set(self.files) with warnings.catch_warnings(): diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py -index 94cbc8a62f9..06a553f093f 100644 +index d8c574ebbd5..ce633709c32 100644 --- a/Lib/test/test_urllib2.py +++ b/Lib/test/test_urllib2.py @@ -1,7 +1,7 @@ @@ -9288,7 +9307,7 @@ index 94cbc8a62f9..06a553f093f 100644 from test.support import warnings_helper from test import test_urllib -@@ -987,6 +987,7 @@ +@@ -1031,6 +1031,7 @@ file_obj.close() @@ -9542,7 +9561,7 @@ index 00000000000..2ccb22b9482 @@ -0,0 +1 @@ +# No compliance patching required. diff --git a/Makefile.pre.in b/Makefile.pre.in -index ad29e1a0ca2..5e838145a3a 100644 +index acecc68e7f6..6ae3fcd5ddb 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -175,18 +175,29 @@ @@ -9585,7 +9604,7 @@ index ad29e1a0ca2..5e838145a3a 100644 ########################################################################## # Parser -@@ -588,7 +601,7 @@ +@@ -589,7 +602,7 @@ # Default target all: @DEF_MAKE_ALL_RULE@ @@ -9594,7 +9613,7 @@ index ad29e1a0ca2..5e838145a3a 100644 gdbhooks Programs/_testembed python-config build_wasm: check-clean-src $(BUILDPYTHON) platform oldsharedmods python-config -@@ -607,6 +620,16 @@ +@@ -608,6 +621,16 @@ exit 1; \ fi @@ -9611,7 +9630,7 @@ index ad29e1a0ca2..5e838145a3a 100644 # Profile generation build must start from a clean tree. profile-clean-stamp: $(MAKE) clean -@@ -768,7 +791,7 @@ +@@ -769,7 +792,7 @@ $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^ libpython$(LDVERSION).dylib: $(LIBRARY_OBJS) @@ -9620,7 +9639,7 @@ index ad29e1a0ca2..5e838145a3a 100644 libpython$(VERSION).sl: $(LIBRARY_OBJS) -@@ -792,14 +815,13 @@ +@@ -793,14 +816,13 @@ # This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary # minimal framework (not including the Lib directory and such) in the current # directory. @@ -9637,7 +9656,7 @@ index ad29e1a0ca2..5e838145a3a 100644 -compatibility_version $(VERSION) \ -current_version $(VERSION) \ -framework CoreFoundation $(LIBS); -@@ -811,6 +833,21 @@ +@@ -812,6 +834,21 @@ $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(PYTHONFRAMEWORKDIR)/$(PYTHONFRAMEWORK) $(LN) -fsn Versions/Current/Resources $(PYTHONFRAMEWORKDIR)/Resources @@ -9659,7 +9678,7 @@ index ad29e1a0ca2..5e838145a3a 100644 # 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$(LDVERSION).dll.a: $(LIBRARY_OBJS) -@@ -1716,6 +1753,36 @@ +@@ -1717,6 +1754,36 @@ $(RUNSHARED) /usr/libexec/oah/translate \ ./$(BUILDPYTHON) -E -m test -j 0 -u all $(TESTOPTS) @@ -9696,7 +9715,7 @@ index ad29e1a0ca2..5e838145a3a 100644 # Like testall, but with only one pass and without multiple processes. # Run an optional script to include information about the build environment. buildbottest: all -@@ -1752,7 +1819,7 @@ +@@ -1753,7 +1820,7 @@ # prevent race conditions with PGO builds. PGO builds use recursive make, # which can lead to two parallel `./python setup.py build` processes that # step on each others toes. @@ -9705,7 +9724,7 @@ index ad29e1a0ca2..5e838145a3a 100644 if test "x$(ENSUREPIP)" != "xno" ; then \ case $(ENSUREPIP) in \ upgrade) ensurepip="--upgrade" ;; \ -@@ -2149,7 +2216,16 @@ +@@ -2150,7 +2217,16 @@ $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ $(DESTDIR)$(LIBDEST)/distutils/tests ; \ fi @@ -9723,7 +9742,7 @@ index ad29e1a0ca2..5e838145a3a 100644 $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -j0 -d $(LIBDEST) -f \ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ -@@ -2321,9 +2397,11 @@ +@@ -2322,9 +2398,11 @@ # automatically set prefix to the location deep down in the framework, so we # only have to cater for the structural bits of the framework. @@ -9737,7 +9756,7 @@ index ad29e1a0ca2..5e838145a3a 100644 @if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ echo Not configured with --enable-framework; \ exit 1; \ -@@ -2344,6 +2422,30 @@ +@@ -2345,6 +2423,30 @@ $(LN) -fsn Versions/Current/Resources $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Resources $(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(PYTHONFRAMEWORKPREFIX)/$(LDLIBRARY) @@ -9768,7 +9787,7 @@ index ad29e1a0ca2..5e838145a3a 100644 # This installs Mac/Lib into the framework # Install a number of symlinks to keep software that expects a normal unix # install (which includes python-config) happy. -@@ -2378,6 +2480,19 @@ +@@ -2379,6 +2481,19 @@ frameworkinstallextras: cd Mac && $(MAKE) installextras DESTDIR="$(DESTDIR)" @@ -9788,7 +9807,7 @@ index ad29e1a0ca2..5e838145a3a 100644 # Build the toplevel Makefile Makefile.pre: $(srcdir)/Makefile.pre.in config.status CONFIG_FILES=Makefile.pre CONFIG_HEADERS= $(SHELL) config.status -@@ -2482,6 +2597,10 @@ +@@ -2483,6 +2598,10 @@ -find build -type f -a ! -name '*.gc??' -exec rm -f {} ';' -rm -f Include/pydtrace_probes.h -rm -f profile-gen-stamp @@ -9799,7 +9818,7 @@ index ad29e1a0ca2..5e838145a3a 100644 profile-removal: find . -name '*.gc??' -exec rm -f {} ';' -@@ -2503,6 +2622,8 @@ +@@ -2504,6 +2623,8 @@ config.cache config.log pyconfig.h Modules/config.c -rm -rf build platform -rm -rf $(PYTHONFRAMEWORKDIR) @@ -9808,7 +9827,7 @@ index ad29e1a0ca2..5e838145a3a 100644 -rm -f python-config.py python-config # Make things extra clean, before making a distribution: -@@ -2583,7 +2704,7 @@ +@@ -2584,7 +2705,7 @@ .PHONY: all build_all build_wasm sharedmods check-clean-src oldsharedmods test quicktest .PHONY: install altinstall oldsharedinstall bininstall altbininstall .PHONY: maninstall libinstall inclinstall libainstall sharedinstall @@ -10557,7 +10576,7 @@ index d74fb6deac9..1bb6a05dc11 100755 # Local variables: diff --git a/configure b/configure -index a1ad0ae2510..72d5a233178 100755 +index 451bc70442b..eff558c208f 100755 --- a/configure +++ b/configure @@ -838,6 +838,8 @@ @@ -12090,7 +12109,7 @@ index a1ad0ae2510..72d5a233178 100755 "Misc/python.pc") CONFIG_FILES="$CONFIG_FILES Misc/python.pc" ;; "Misc/python-embed.pc") CONFIG_FILES="$CONFIG_FILES Misc/python-embed.pc" ;; diff --git a/configure.ac b/configure.ac -index 7b4000fa9c3..058d60d4f21 100644 +index e7b70a83e10..98eabcc77d3 100644 --- a/configure.ac +++ b/configure.ac @@ -303,6 +303,161 @@