]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-96269: Fix build dependency on AIX (GH-96304)
authorChristian Heimes <christian@python.org>
Fri, 26 Aug 2022 10:31:58 +0000 (12:31 +0200)
committerGitHub <noreply@github.com>
Fri, 26 Aug 2022 10:31:58 +0000 (12:31 +0200)
Makefile.pre.in
Misc/NEWS.d/next/Build/2022-08-26-11-50-03.gh-issue-96269.x_J5h0.rst [new file with mode: 0644]
Modules/makesetup

index 3491e91f43aba3fcc9bcfcdc2f1562e2dcdb2ea6..af203705d38e63e1db16d5a8cd797552cf20abb3 100644 (file)
@@ -2522,6 +2522,8 @@ Python/thread.o: @THREADHEADERS@ $(srcdir)/Python/condvar.h
 ##########################################################################
 # Module dependencies and platform-specific files
 
+MODULE_DEPS=$(PYTHON_HEADERS) Modules/config.c $(EXPORTSYMS)
+
 MODULE_CMATH_DEPS=$(srcdir)/Modules/_math.h
 MODULE_MATH_DEPS=$(srcdir)/Modules/_math.h
 MODULE_PYEXPAT_DEPS=$(LIBEXPAT_HEADERS) @LIBEXPAT_INTERNAL@
diff --git a/Misc/NEWS.d/next/Build/2022-08-26-11-50-03.gh-issue-96269.x_J5h0.rst b/Misc/NEWS.d/next/Build/2022-08-26-11-50-03.gh-issue-96269.x_J5h0.rst
new file mode 100644 (file)
index 0000000..adb605f
--- /dev/null
@@ -0,0 +1,3 @@
+Shared module targets now depend on new ``MODULE_DEPS`` variable, which
+includes ``EXPORTSYMS``. This fixes a build order issue on unsupported AIX
+platform.
index 08303814c8c9112f5d8f601c2a42bfc6177a0c0c..5c275ac9a049452b6707cee25262f81e4b54d1ac 100755 (executable)
@@ -267,7 +267,7 @@ sed -e 's/[         ]*#.*//' -e '/^[        ]*$/d' |
                                cc="$cc $cpps \$(PY_BUILTIN_MODULE_CFLAGS)";;
                        esac
                        # force rebuild when header file or module build flavor (static/shared) is changed
-                       rule="$obj: $src \$(MODULE_${mods_upper}_DEPS) \$(PYTHON_HEADERS) Modules/config.c; $cc -c $src -o $obj"
+                       rule="$obj: $src \$(MODULE_${mods_upper}_DEPS) \$(MODULE_DEPS); $cc -c $src -o $obj"
                        echo "$rule" >>$rulesf
                done
                case $doconfig in