new gsl_pkgconfig_location function provides the path to the folder containing the rewritten gsl.pc file

includes gsl-config.pl which should behave like gsl-config but relies on Alien::GSL and its notion of the GSL libraries (this still considered work-in-progess)

more tests!! (required adding the ability to hook into $Alien::GSL::share_dir, since tests happen before install, and thus before placement into the location that File::ShareDir expects)

Some notes on Module::Build:

why does ACTION_install redo ACTION_code? This is a problem when ACTION_code does something time consuming. I am avoiding by checking state and skipping ahead to the SUPER::ACTION_code, but this seems like it shouldn’t be necessary.

There should be some way to handle configure requires dependencies better. I know it must be tricky, but perhaps a class method which can vaildate the hash which will be passed to the constructor would help.

Can ACTION_install be rerun after itself for example:

ACTION_install

munge gsl.pc (pkg-config information) using the actual install File::ShareDir path rather than assuming the install location will be as expected

ACTION_install to re-install new copy of gsl.pc

Anyway I hope to hear some feedback. Assuming this version works correctly, I intend to work on some of the things in the TODO section and eventually release a stable version, then simultaneously convert Math::GSLx::ODEIV2 to use it.

GSL is the Gnu Scientific Library, which can be found at http://www.gnu.org/s/gsl/. It contains a large number of mathematical (and scientific) c routines. As I am working on Math::GSLx::ODEIVE2, a Perlish numerical differential equation solver which is an interface to the GSL, I wanted to make GSL easier to install, thus Alien::GSL. There are other Perl interfaces, including Math::GSL (swig, not very Perlish) and PDL has some bindings too.