[Distutils] Re: [Python-Dev] PEP 229 and 222

Thomas Heller thomas.heller@ion-tof.com
Fri Dec 1 10:46:01 2000


(damn, the original reply was killed by a crash of outlook express.
Have to type it all again).
> On 01 December 2000, Thomas Heller said:
> > Distutils currently only supports build_*** commands for
> > C-libraries and Python extensions.
> > 
> > Shouldn't there also be build commands for shared libraries,
> > executable programs and static Python binaries?
> 
> Andrew and I talked about this a bit yesterday, and the proposed
> interface is as follows:
> 
>     python setup.py build_ext --static
> 
> will compile all extensions in the current module distribution, but
> instead of creating a .so (.pyd) file for each one, will create a new
> python binary in build/bin.<plat>.
> 
What do you mean by 'static'?

On windows, there are three possibilities for extensions to live in:

1. pythonxx.dll (the usual python interpreter)

2. separate shared extension module 'zlib.pyd'

3. python.exe (which loads pythonxx.dll, and call Py_Main)

4. SpecialPython.exe (which has the python interpreter built in
   as well as other extension modules. *ALL* extension modules have
   to be builtin on windows, because backlinking into executables
   does not work!)

1) is what Andrew cares about (on windows), 2) is already handled
by distutils, 3) and 4) is what I am interested in!

> Issue to be resolved: what to call the new python binary, especially
> when installing it (presumably we *don't* want to clobber the stock
> binary, but supplement it with (eg.) "foopython").
> 
> Note that there is no provision for selectively building some extensions
> as shared.  This means that Andrew's Distutil-ization of the standard
> library will have to override the build_ext command and have some extra
> way to select extensions for shared/static.  Neither of us considered
> this a problem.
> 
> > BTW: Distutils-sig seems pretty dead these days...
> 
> Yeah, that's a combination of me playing on other things and python.net
> email being dead for over a week.  I'll cc the sig on this and see if
> this interface proposal gets anyone's attention.
> 

Thomas