[GRASS5] GRASS6: extension design: additions to ./configure script required?

Benjamin Ducke benducke at compuserve.de
Wed Feb 9 09:51:35 EST 2005


Hi there,

A few weeks ago, I proposed to try and come up with a simple design
for GRASS extensions, that is user-installable modules that provide
additional functionality much the way R does it.
This was met with overall positive feedback on this mailing lists
and it seemed that the most sound way would be to provide a 
tarball with the extension's source code as well as a simple
user space program (g.install) to compile and install that extension
on the user's machine.

Right now I am putting together the building blocks for two extensions
that include statistical and predictive mapping modules.
Since I don't feel like re-inventing tons of statistical C code, I want
to use the GNU scientific library (GSL: http://www.gnu.org/software/gsl/).
It's a high-quality open source library that is slim, portable and has no external
dependencies, but a wealth of math and statistics stuff, so it seems
ideal for the purpose.

I have already refactored the library code so that it can install nicely
using the GRASS 6 make system. This way, the user does not have to worry
about downloading and installing the external GSL library, it can just be
packaged in one tarball with the GRASS extension modules code and installs from
there. Plus the user does not need to have access to system directories in
order to install the extension.

There is just on tiny problem: the only machine-dependent part of GSL
is the IEEE floating point engine. This checks the host machine and
sets a few variables in "config.h" which are necessary to built 
architecture-dependant code.

I would appreciate some advice on this: do you think it would be more feasible to:

(a) add those IEEE checks to GRASS' ./configure script
(b) include a separate ./configure script with the extension and have it automatically
    called by "g.install" before compiling the extension's code? 

   or

(c) is this all non-sense and would it be better to just have the user install
    GSL as an external library?

Are there any possible problems with configure scripts running on MacOS X or CygWin?
I am really not sure which would be the best option.

Best regards,

Benjamin.




More information about the grass-dev mailing list