summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2022-03-10 17:03:27 (GMT)
committerGitHub <noreply@github.com>2022-03-10 17:03:27 (GMT)
commit434ffb7f1f86e6b0cdfad3ede59993934d86e464 (patch)
tree9e4251c3ac27d5d137b90e6000628cb03e14e31c
parenta0eb69c1a2e3aee75cb48e9868ef06a531b94a70 (diff)
downloadcpython-434ffb7f1f86e6b0cdfad3ede59993934d86e464.zip
cpython-434ffb7f1f86e6b0cdfad3ede59993934d86e464.tar.gz
cpython-434ffb7f1f86e6b0cdfad3ede59993934d86e464.tar.bz2
bpo-46973: Add regen-configure make target (GH-31792)
-rw-r--r--.github/workflows/build.yml8
-rw-r--r--Makefile.pre.in16
-rw-r--r--Misc/NEWS.d/next/Build/2022-03-10-14-30-39.bpo-46973._LEvnc.rst2
3 files changed, 18 insertions, 8 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f6df743..8b1709d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -74,12 +74,14 @@ jobs:
grep "aclocal 1.16.3" aclocal.m4
grep -q "runstatedir" configure
grep -q "PKG_PROG_PKG_CONFIG" aclocal.m4
- - name: Regenerate autoconf files
- run: docker run --rm -v $(pwd):/src quay.io/tiran/cpython_autoconf:269
- - name: Build CPython
+ - name: Configure CPython
run: |
# Build Python with the libpython dynamic library
./configure --with-pydebug --enable-shared
+ - name: Regenerate autoconf files with container image
+ run: make regen-configure
+ - name: Build CPython
+ run: |
make -j4 regen-all
make regen-stdlib-module-names
- name: Check for changes
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 9deffad..c4034dc 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1196,7 +1196,7 @@ regen-all: regen-opcode regen-opcode-targets regen-typeslots \
regen-pegen-metaparser regen-pegen regen-test-frozenmain \
regen-global-objects
@echo
- @echo "Note: make regen-stdlib-module-names and make autoconf should be run manually"
+ @echo "Note: make regen-stdlib-module-names and make regen-configure should be run manually"
############################################################################
# Special rules for object files
@@ -2294,10 +2294,16 @@ recheck:
# Regenerate configure and pyconfig.h.in
.PHONY: autoconf
autoconf:
- # Regenerate the configure script from configure.ac using autoconf
- (cd $(srcdir); autoconf -Wall)
- # Regenerate pyconfig.h.in from configure.ac using autoheader
- (cd $(srcdir); autoheader -Wall)
+ (cd $(srcdir); autoreconf -ivf -Werror)
+
+.PHONY: regen-configure
+regen-configure:
+ @if command -v podman >/dev/null; then RUNTIME="podman"; else RUNTIME="docker"; fi; \
+ if ! command -v $$RUNTIME; then echo "$@ needs either Podman or Docker container runtime." >&2; exit 1; fi; \
+ if command -v selinuxenabled >/dev/null && selinuxenabled; then OPT=":Z"; fi; \
+ CMD="$$RUNTIME run --rm --pull=always -v $(abs_srcdir):/src$$OPT quay.io/tiran/cpython_autoconf:269"; \
+ echo $$CMD; \
+ $$CMD || exit $?
# Create a tags file for vi
tags::
diff --git a/Misc/NEWS.d/next/Build/2022-03-10-14-30-39.bpo-46973._LEvnc.rst b/Misc/NEWS.d/next/Build/2022-03-10-14-30-39.bpo-46973._LEvnc.rst
new file mode 100644
index 0000000..62d71d1
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2022-03-10-14-30-39.bpo-46973._LEvnc.rst
@@ -0,0 +1,2 @@
+Add ``regen-configure`` make target to regenerate configure script with
+Christian's container image ``quay.io/tiran/cpython_autoconf:269``.