[Distutils] I think I need more detail in the build directory

M.-A. Lemburg mal@lemburg.com
Mon Nov 18 03:47:01 2002


Jack Jansen wrote:
> Folks,
> I think I need more details in the filenames (the temp. and lib. ones) 
> in the build directory.
> 
> On MacOSX there are two ways to build Python: in the traditional unix 
> way (statically linked, prefix is usually /usr or /usr/local) or in the 
> all-singing-all-dancing framework way (dynamically linked with extra 
> bells and whistles, the python installation deep down in 
> /Library/Frameworks/Python.framework/etcetcetc, with a symlink "python" 
> usually in /usr/local/bin). Extension modules for these two Pythons are 
> incompatible, but unfortunately they don't realise that, and things may 
> even sort-of work some of the time.
> 
> Note that this problem has really existed all along, and on all 
> platforms (try building a module with a refcount-debug python, and then 
> doing a setup install with a non-refcount-debug python for a nasty 
> surprise), but for MacOSX it may now become an end-user problem, since 
> Apple ships Python in Jaguar and this is a static python, but to get 
> access to the MacPython goodies people will download a source 
> distribution and build a framework python.
> 
> I have an idea on a solution to this, but I'm not sure whether it's 
> feasible (and correct:-):
> 1. Encode features that make a python interpreter and a module 
> incompatible in PYTHON_API_VERSION. We have about 20 bits left in there. 
> This would however require convincing the core developers.
> 2. Use PYTHON_API_VERSION in stead of the "2.3" style version in the 
> distutils filenames.

Rather than trying to be clever here, why not add an option to
distutils to let the packager add an arbitrary directory name
extension to the build dir ?!

That way, the developer can add whatever information is needed
to the build dir name.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/