Explain what the patch changes

Downplay building a static Python; it would still be nice, but it won't
    get done for alpha1, and maybe not for 2.1 at all.
This commit is contained in:
Andrew M. Kuchling 2001-01-17 03:45:35 +00:00
parent ae9631ffe9
commit df7922f9d1
1 changed files with 34 additions and 10 deletions

View File

@ -52,17 +52,41 @@ Proposal
Implementation
Patch #102588 on SourceForge will contain the proposed patch.
As of Dec. 1, the patch does the following:
Patch #102588 on SourceForge contains the proposed patch.
Currently the patch tries to be conservative and to change as few
files as possible, in order to simplify backing out the patch.
For example, no attempt is made to rip out the existing build
mechanisms. Such simplifications can wait for later in the beta
cycle, when we're certain the patch will be left in, or they can
wait for Python 2.2.
The patch makes the following changes:
* Removes the use of makesetup in building the interpreter.
* Hard-codes the presence of the strop, posix, and _sre modules.
* Adds an empty top-level setup.py file.
* Makes some required changes to distutils/sysconfig (these will
be checked in separately)
Still to be done:
* In the top-level Makefile.in, the "sharedmods" target simply
runs "./python setup.py build", and "sharedinstall" runs
"./python setup.py install". The "clobber" target also deletes
the build/ subdirectory where Distutils puts its output.
* Write the top-level setup.py
* Handle a few tricky bits such as the signal module.
* Modules/Setup.config.in only contains entries for the gc and thread
modules; the readline, curses, and db modules are removed because
it's now setup.py's job to handle them.
* Modules/Setup.dist now contains entries for only 3 modules --
_sre, posix, and strop.
* The configure script builds setup.cfg from setup.cfg.in. This
is needed for two reasons: to make building in subdirectories
work, and to get the configured installation prefix.
* Adds setup.py to the top directory of the source tree. setup.py
is the largest piece of the puzzle, though not the most
complicated. setup.py contains a subclass of the BuildExt
class, and extends it with a detect_modules() method that does
the work of figuring out when modules can be compiled, and adding
them to the 'exts' list.
Unresolved Issues
@ -76,8 +100,8 @@ Unresolved Issues
binary?
[Answer: building a Python binary with the Distutils should be
feasible, though no one has implemented it yet. This will need to
be done, though the main setup.py will probably need to implement
feasible, though no one has implemented it yet. This should be
done, though the main setup.py will probably need to implement
its own BuildExt subclass anyway.]
makesetup and the other contents of $(LIBPL)/config need to be