[Distutils] zc.buildout/zc, recipe.egg: passing extra options for build_ext

Maurits van Rees m.van.rees at zestsoftware.nl
Fri Feb 18 17:18:24 CET 2011


Hi,

I see that you can add specify some custom build settings for packages 
with C-extensions:
http://pypi.python.org/pypi/zc.recipe.egg#creating-eggs-with-extensions-needing-custom-build-settings

The options you can pass are limited though.  In my case for the 
InformixDB package I want to pass '--esql-threadlib = posix' to the 
build process.  Currently this is not possible.

Is there a reason why only the current hardcoded options (like 
include-dirs) are available for customizing?  It looks like it should be 
possible to change the zc.recipe.egg code to look for other options and 
pass them to the build_ext call.  The only thing that might be tricky is 
to make a difference between options in the buildout part that should be 
passed to build_ext and options that have a totally different meaning 
and should be ignored by build_ext.

Would this be a good addition to zc.recipe egg?  I could create a branch 
and try it.  That should be a branch of zc.buildout, right?


Or are there other ways that currently already work?


My workaround for now will likely be to make a copy of the original 
source dist tarball of InformixDB and add a setup.cfg in there with this 
contents:

[build_ext]
--esql-threadlib = posix

 From a local test this seems to be working.

BTW, I did not know that you could specify these options in setup.cfg; I 
found that out today by looking through the zc.buildout code. :-)


Cheers,

-- 
Maurits van Rees
Web App Programmer at Zest Software: http://zestsoftware.nl
Personal website: http://maurits.vanrees.org/



More information about the Distutils-SIG mailing list