diff options
author | Christian Heimes <christian@python.org> | 2022-03-10 17:03:27 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-10 17:03:27 (GMT) |
commit | 434ffb7f1f86e6b0cdfad3ede59993934d86e464 (patch) | |
tree | 9e4251c3ac27d5d137b90e6000628cb03e14e31c | |
parent | a0eb69c1a2e3aee75cb48e9868ef06a531b94a70 (diff) | |
download | cpython-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.yml | 8 | ||||
-rw-r--r-- | Makefile.pre.in | 16 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Build/2022-03-10-14-30-39.bpo-46973._LEvnc.rst | 2 |
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``. |