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:
parent
ae9631ffe9
commit
df7922f9d1
44
pep-0229.txt
44
pep-0229.txt
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue