[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Testing python extension modules during 'make distcheck' / 'make che
Re: Testing python extension modules during 'make distcheck' / 'make check'
Fri, 3 Nov 2006 08:45:15 +0100
* Mark Asbach wrote on Fri, Nov 03, 2006 at 12:31:41AM CET:
> I'm one of the maintainers of an open source image processing toolkit
> (OpenCV) and responsible for parts of the autotools setup. The
> package mainly consists of four shared libraries but is accompanied
> by a python package containing some pure python code and of course
> extension modules for the four libraries.
OK. One idea with libtool-generated libraries is that the uninstalled
libraries and programs that use them have RPATH (or similar) entries
pointing to the locations within the build tree (so that 'make check'
finds them and uses them). At 'make install' time, if need be, some
relinking happens so that no more build tree references remain.
I assume for python modules and stuff you need some similar
functionality. I think one possibility to achieve this is to
temporarily (i.e., by the 'make check' machinery) augment PYTHONPATH
to also point to the uninstalled modules. There is a plan to eventually
merge this with the libtool shell wrappers, but for now you should be
able to set that in TESTS_ENVIRONMENT, like this or similar:
TESTS = ...
TESTS_ENVIRONMENT = PYTHONPATH="../python:$$PYTHONPATH"
> I know that I could use the install-check target to just start my
> python tests post installation of the libraries and the python
> module. The question is, will install-check be invoked during 'make
> distcheck' automatically?
Yes, but it's spelled 'installcheck', and the extension rule is spelled
'installcheck-local'. If you write such a rule yourself, you could
adjust it by some other means; in CVS Libtool, we use a variable
INSTALLCHECK_ENVIRONMENT for this (but the name has no special meaning
> I couldn't find any information on how to
> do that ... Also I would have to tell python and the operating system
> where to find python modules and shared libraries (again) ... My goal
> is to have everything checked during distcheck to really make sure I
> don't hand out broken tarballs.
Sure. I hope the above gets you there. If not, post what you have (or
a link to a tarball) and we can see.