Hi there, I've just checked in a change to lxml that refactors lxml's setup.py to be more hackable. No functionality should've changed, though I'd like people to test the static build option on Windows. The way to set the static paths is somewhat easier now; see the static build section in doc/build.txt for more information. Basically I've split up a lot of stuff that'd grown into setup.py into separate modules and made everything a function instead of top-level code. This should make the code easier to follow and adjust in the future. Basically two new modules have been added: * versioninfo.py gets all kinds of version numbers and last change information * setupinfo.py prepares the building of Pyrex/C extensions. I've also made everything depend in a hard way on setuptools being available on the system - I think supporting old-style distutils is just going to be too much of a distraction to maintain properly. Next I'm investigating what to do with the --rpath option. I believe that currently --rpath is treated rather strangely by lxml's setup.py. --rpath normally expects a list of directory paths pointing to the libraries to link with. This is quite useful if you're linking against libraries in non-standard locations, such as in a buildout. It allows you to create a module that just works without having to set things like LD_LIBRARY_PATH before you try importing it. In case of lxml however, --rpath is ripped out of the list of options that reaches distutils/setuptools and action is taken by manipulating the other configuration parameters instead. This works so I haven't changed it (I hope), but it doesn't do enough. I *think* by adding an option --xslt-config pointing to a custom location for xslt-config we can make things work, though that would be hard to support in a straight buildout, as buildout obviously has no knowledge about passing such options. Food for more thought. Regards, Martijn