[Distutils] Question re extension modules.
Titus Brown
titus at caltech.edu
Fri Jan 14 20:15:21 CET 2005
Hi again,
I'm developing a C++ library & associated extension module within the
same directory. My setup.py contains this line:
parser_mod = Extension("paircomp._paircomp_parser",
["c++-ext/_paircomp_parser.cc",],
include_dirs=['../lib',],
library_dirs=['../lib',],
libraries=['paircomp', 'stdc++'])
One of the important libraries that I need to include is -lpaircomp,
in '../lib/libpaircomp.a'.
Currently when I change libpaircomp.a (by, for example, making some
internal change to the C++ library that's not reflected in the API)
my Python extensions do not get recompiled by 'python setup.py build'.
(This is run automatically by the Makefile.)
So at the moment I either have to use Makefile trickery or just do an
'rm -fr build' to force recompilation of the extension when the library
is changed.
Is there a canonical way to tell distutils that 'this extension depends
on this file, so force rebuild if the file changes'?
One obvious possibility would be to simple compare last-changed dates
on all of the libraries with last-changed dates on the .so file
produced by setup.py.
thanks,
--titus
More information about the Distutils-SIG
mailing list