[Distutils] Bug in build_ext

M.-A. Lemburg mal@lemburg.com
Sun Sep 23 15:57:01 2001


"M.-A. Lemburg" wrote:
> 
> The build_ext command (and probably others too) don't clean up
> the build_temp directory before invoking the compiler. This causes
> the compiler to use object files it finds in the temp location
> for subsequent builds of other subpackages which is most probably
> not intended.
> 
> Should I fix this bug in CVS by having the build_ext command
> clean up the temporary tree before invoking the compiler ?

Checking this "fix" showed that distutils seems to use the build_temp
area to communicate C libs and other files between commands.

Using a separate subdir in the build_temp area for each extension
and C lib avoids the problem and still allows distutils to pass
libs etc between commands. Would this approach break anything ?

Another quirk I found was that build_clib does not separate
building of libs into different method calls; the build_libraries
method does the complete job which makes it hard to subclass
the command. I guess this should be changed to a .build_libraries()
method which then calls .build_library() for each lib in the list. 

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Consulting & Company:                           http://www.egenix.com/
Python Software:                        http://www.lemburg.com/python/