diff options
author | Antoine Pitrou <pitrou@free.fr> | 2018-07-16 17:03:03 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-16 17:03:03 (GMT) |
commit | 961d54c5c1916c09883ebcf7191babc969e5a5cf (patch) | |
tree | 26c7252e3864548cd24c1e6df3a82c2de9f858dc | |
parent | 35c0809158be7feae4c4f877a08b93baea2d8291 (diff) | |
download | cpython-961d54c5c1916c09883ebcf7191babc969e5a5cf.zip cpython-961d54c5c1916c09883ebcf7191babc969e5a5cf.tar.gz cpython-961d54c5c1916c09883ebcf7191babc969e5a5cf.tar.bz2 |
bpo-32430: Rename Modules/Setup.dist to Modules/Setup (GH-8229)
bpo-32430: Rename Modules/Setup.dist to Modules/Setup
Remove the necessity to copy the former manually to the latter when updating the local source tree.
-rw-r--r-- | Doc/whatsnew/3.8.rst | 15 | ||||
-rw-r--r-- | Lib/distutils/sysconfig.py | 4 | ||||
-rw-r--r-- | Lib/sysconfig.py | 2 | ||||
-rw-r--r-- | Makefile.pre.in | 19 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Build/2018-07-10-21-33-25.bpo-32430.UN3Nk8.rst | 2 | ||||
-rw-r--r-- | Modules/Setup (renamed from Modules/Setup.dist) | 9 | ||||
-rw-r--r-- | Modules/getpath.c | 2 | ||||
-rwxr-xr-x | Modules/makesetup | 2 | ||||
-rw-r--r-- | aclocal.m4 | 4 | ||||
-rwxr-xr-x | configure | 8 | ||||
-rw-r--r-- | configure.ac | 8 |
11 files changed, 32 insertions, 43 deletions
diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index ace814e..c6ecebc 100644 --- a/Doc/whatsnew/3.8.rst +++ b/Doc/whatsnew/3.8.rst @@ -139,6 +139,21 @@ Build and C API Changes ``const char *`` rather of ``char *``. (Contributed by Serhiy Storchaka in :issue:`33818`.) +* The duality of ``Modules/Setup.dist`` and ``Modules/Setup`` has been + removed. Previously, when updating the CPython source tree, one had + to manually copy ``Modules/Setup.dist`` (inside the source tree) to + ``Modules/Setup`` (inside the build tree) in order to reflect any changes + upstream. This was of a small benefit to packagers at the expense of + a frequent annoyance to developers following CPython development, as + forgetting to copy the file could produce build failures. + + Now the build system always reads from ``Modules/Setup`` inside the source + tree. People who want to customize that file are encouraged to maintain + their changes in a git fork of CPython or as patch files, as they would do + for any other change to the source tree. + + (Contributed by Antoine Pitrou in :issue:`32430`.) + Deprecated ========== diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py index e07a6c8..b433fc8 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py @@ -36,10 +36,8 @@ if (os.name == 'nt' and # python_build: (Boolean) if true, we're either building Python or # building an extension with an un-installed Python, so we use # different (hard-wired) directories. -# Setup.local is available for Makefile builds including VPATH builds, -# Setup.dist is available on Windows def _is_python_source_dir(d): - for fn in ("Setup.dist", "Setup.local"): + for fn in ("Setup", "Setup.local"): if os.path.isfile(os.path.join(d, "Modules", fn)): return True return False diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py index 9ee4d31..e0f9c18 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py @@ -119,7 +119,7 @@ if "_PYTHON_PROJECT_BASE" in os.environ: _PROJECT_BASE = _safe_realpath(os.environ["_PYTHON_PROJECT_BASE"]) def _is_python_source_dir(d): - for fn in ("Setup.dist", "Setup.local"): + for fn in ("Setup", "Setup.local"): if os.path.isfile(os.path.join(d, "Modules", fn)): return True return False diff --git a/Makefile.pre.in b/Makefile.pre.in index 0ed2cdf..51cf2fd 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -687,26 +687,16 @@ oldsharedmods: $(SHAREDMODS) Makefile Modules/config.c: Makefile.pre \ $(srcdir)/Modules/config.c.in \ $(MAKESETUP) \ - Modules/Setup \ + $(srcdir)/Modules/Setup \ Modules/Setup.local $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \ -s Modules \ Modules/Setup.local \ - Modules/Setup + $(srcdir)/Modules/Setup @mv config.c Modules @echo "The Makefile was updated, you may need to re-run make." -Modules/Setup: $(srcdir)/Modules/Setup.dist - @if test -f Modules/Setup; then \ - echo "-----------------------------------------------"; \ - echo "Modules/Setup.dist is newer than Modules/Setup;"; \ - echo "check to make sure you have all the updates you"; \ - echo "need in your Modules/Setup file."; \ - echo "Usually, copying Modules/Setup.dist to Modules/Setup will work."; \ - echo "-----------------------------------------------"; \ - fi - Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) @@ -1478,7 +1468,7 @@ libainstall: @DEF_MAKE_RULE@ python-config $(INSTALL_DATA) Programs/python.o $(DESTDIR)$(LIBPL)/python.o $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile - $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup + $(INSTALL_DATA) $(srcdir)/Modules/Setup $(DESTDIR)$(LIBPL)/Setup $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup @@ -1701,8 +1691,7 @@ distclean: clobber for file in $(srcdir)/Lib/test/data/* ; do \ if test "$$file" != "$(srcdir)/Lib/test/data/README"; then rm "$$file"; fi; \ done - -rm -f core Makefile Makefile.pre config.status \ - Modules/Setup Modules/Setup.local \ + -rm -f core Makefile Makefile.pre config.status Modules/Setup.local \ Modules/ld_so_aix Modules/python.exp Misc/python.pc \ Misc/python-config.sh -rm -f python*-gdb.py diff --git a/Misc/NEWS.d/next/Build/2018-07-10-21-33-25.bpo-32430.UN3Nk8.rst b/Misc/NEWS.d/next/Build/2018-07-10-21-33-25.bpo-32430.UN3Nk8.rst new file mode 100644 index 0000000..446c5a1 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2018-07-10-21-33-25.bpo-32430.UN3Nk8.rst @@ -0,0 +1,2 @@ +Rename Modules/Setup.dist to Modules/Setup, and remove the necessity to copy +the former manually to the latter when updating the local source tree. diff --git a/Modules/Setup.dist b/Modules/Setup index da2404a..e791c8c 100644 --- a/Modules/Setup.dist +++ b/Modules/Setup @@ -1,14 +1,11 @@ # -*- makefile -*- # The file Setup is used by the makesetup script to construct the files # Makefile and config.c, from Makefile.pre and config.c.in, -# respectively. The file Setup itself is initially copied from -# Setup.dist; once it exists it will not be overwritten, so you can edit -# Setup to your heart's content. Note that Makefile.pre is created -# from Makefile.pre.in by the toplevel configure script. +# respectively. Note that Makefile.pre is created from Makefile.pre.in +# by the toplevel configure script. # (VPATH notes: Setup and Makefile.pre are in the build directory, as -# are Makefile and config.c; the *.in and *.dist files are in the source -# directory.) +# are Makefile and config.c; the *.in files are in the source directory.) # Each line in this file describes one or more optional modules. # Modules configured here will not be compiled by the setup.py script, diff --git a/Modules/getpath.c b/Modules/getpath.c index e6a3e8e..755298e 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -322,7 +322,7 @@ search_for_prefix(const _PyCoreConfig *core_config, /* Check to see if argv[0] is in the build directory */ wcsncpy(prefix, calculate->argv0_path, MAXPATHLEN); prefix[MAXPATHLEN] = L'\0'; - joinpath(prefix, L"Modules/Setup"); + joinpath(prefix, L"Modules/Setup.local"); if (isfile(prefix)) { /* Check VPATH to see if argv0_path is in the build directory. */ vpath = Py_DecodeLocale(VPATH, NULL); diff --git a/Modules/makesetup b/Modules/makesetup index 020b199..c7b0a60 100755 --- a/Modules/makesetup +++ b/Modules/makesetup @@ -17,7 +17,7 @@ # Setup files after a -n option are used for their variables, modules # and libraries but not for their .o files. # -# See Setup.dist for a description of the format of the Setup file. +# See Setup for a description of the format of the Setup file. # # The following edits are made: # @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15.1 -*- Autoconf -*- +# generated automatically by aclocal 1.15 -*- Autoconf -*- -# Copyright (C) 1996-2017 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -18339,12 +18339,6 @@ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi -echo "creating Modules/Setup" >&6 -if test ! -f Modules/Setup -then - cp $srcdir/Modules/Setup.dist Modules/Setup -fi - echo "creating Modules/Setup.local" >&6 if test ! -f Modules/Setup.local then @@ -18354,7 +18348,7 @@ fi echo "creating Makefile" >&6 $SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \ -s Modules \ - Modules/Setup.local Modules/Setup + Modules/Setup.local $srcdir/Modules/Setup mv config.c Modules if test "$Py_OPT" = 'false' -a "$Py_DEBUG" != 'true'; then diff --git a/configure.ac b/configure.ac index f33fd51..4161523 100644 --- a/configure.ac +++ b/configure.ac @@ -5547,12 +5547,6 @@ AC_CONFIG_FILES(Makefile.pre Misc/python.pc Misc/python-config.sh) AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix]) AC_OUTPUT -echo "creating Modules/Setup" >&AS_MESSAGE_FD -if test ! -f Modules/Setup -then - cp $srcdir/Modules/Setup.dist Modules/Setup -fi - echo "creating Modules/Setup.local" >&AS_MESSAGE_FD if test ! -f Modules/Setup.local then @@ -5562,7 +5556,7 @@ fi echo "creating Makefile" >&AS_MESSAGE_FD $SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \ -s Modules \ - Modules/Setup.local Modules/Setup + Modules/Setup.local $srcdir/Modules/Setup mv config.c Modules if test "$Py_OPT" = 'false' -a "$Py_DEBUG" != 'true'; then |