I just installed swig 1.3.6 (development version) and it no longer appears to support the "-dnone" option used by distutils:
swigging src/bnc.i to src/bnc.c swig -python -dnone -ISWIG -o src/bnc.c src/bnc.i swig error : Unrecognized option -dnone Use 'swig -help' for available options. error: command 'swig' failed with exit status 1
One block of code I added to my setup.py script is to check whether swig is present on a system. If it's available, swig the interface files, otherwise skip the swig step and build the .c files present in the distribution. (Unfortunately, everything fails if swig is present but chokes on the command line you give it.)
Conditional swig invocation would be a great feature to add to distutils.