[SciPy-dev] distutils, mtrand, Monte Carlo
Robert Kern
robert.kern at gmail.com
Tue Apr 18 14:41:02 EDT 2006
Ed Schofield wrote:
> Hi all,
>
> I've now modified the Monte Carlo package (still in the sandbox) to use
> the RNG from RandomKit that comes with numpy. It builds and works fine
> for me, but only with two directories hard-coded into the setup.py
> file. I have some questions (e.g. for Pearu) on how to use numpy
> distutils to do this portably.
>
> 1. Currently the add_headers method of distutils.misc_util.Configuration
> installs headers to $PREFIX/include/python2.4/numpy. This doesn't
> bother me, but do we want this? All other header files are installed
> into $PREFIX/lib/python2.4/site-packages/numpy or scipy/.
What headers are you trying to install?
> 2. The add_library method creates a static library under
> build/temp.linux-etc/. Is it possible to use distutils to install this
> (e.g. librandomkit.a) to a system-wide location? (This is necessary to
> prevent scipy having a build dependency on the numpy source files.)
No, distutils does not handle this, and probably cannot do so in any portable way.
> 3. Does distutils support dynamic libraries? But randomkit is a small
> library, so I suppose static linking is fine here.
Not particularly. But, of course, the approach below is probably the best way:
> I also have a question for Robert K:
>
> A while ago you offered to work on exporting the mtrand functions so
> other packages could link with them. Could you please export the
> function prototypes as a separate header file? This would probably
> require a modification the generate_mtrand_c.py script. I'd appreciate
> this; then I could modify the montecarlo package to accept a RandomState
> object.
Yes, I've started working on exporting an array all of the functions in
randomkit and distributions.c as a CObject. It will be difficult to expose the
functions that are created by Pyrex since it is generated code, though.
--
Robert Kern
robert.kern at gmail.com
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the SciPy-Dev
mailing list