[Bioperl-l] Re: Inline::C and io_lib

Lincoln Stein lstein@cshl.org
Tue, 9 Jul 2002 15:22:17 -0400


I think that bioperl-ext is the place where other modules that have C-compiler 
requirements go.

I suggest that Makefile.PL be set up to take command-line arguments so that 
the locations of the INC and LIB directories can be set from within a script.  
I hate programs that stop and prompt you.  If the command-line arguments are 
not present, then Makefile.PL will go ahead and prompt using reasonable 
defaults taken from Config.pm.

Lincoln

On Tuesday 09 July 2002 08:14 am, Aaron J Mackey wrote:
> On Mon, 8 Jul 2002, Lincoln Stein wrote:
> > The SCF-reading .XS module I sent out this morning got held by the
> > mailing list program, so I'm sending it again directly to Aaron and
> > Chad.
>
> Excellent, will compare with my work to find improvement opportunities.
>
> > Sounds like Aaron's got the situation all under control, however.
>
> Pretty much, but a few questions for the policy authorities:
>
> Currently, I'm taking the BEGIN/eval approach to check that Inline::C is
> at all available, and if not, throwing an exception.  But there is this
> bioperl-ext collection as well, which the staden::read.pm could go into
> (and the various SeqIO::abi etc modules could just check to see if it was
> available, and otherwise fail, or drop to a pure-perl solution if also
> available).  I've discovered how to get the top-level Makefile.PL to deal
> with individual deep subdirectory Makefile.PL, so it's no issue where to
> put the Inline::C-requiring stuff, but I thought I'd provide an
> opportunity for comment - in summary: bioperl-live or bioperl-ext?
>
> Secondly, I'm going to be prompting during install whether or not the user
> has the io_lib installed, and if so where the various lib/ and include/
> directories are (is there some way to probe for these without making wild
> guesses?  I guess I can look to see what directories the Perl lib/ and
> include/'s are from Config.pm ... ?)  If they don't want to install the
> io_lib stuff do we:
>   a) not install the modules (abi.pm, etc) at all
>   b) install them, but ensure that they fail immediately, without trying
> to find Inline::C or io_lib themselves
>   c) install them anyway, just don't ask about lib/include (use some
> best-guess default).
>
> I guess I'm aiming for a solution where if the user says no on the day the
> install bioperl, they can later come back and install io_lib, and have
> things Just Work (TM).  The lib/ include/ directory specification is a
> niggly point though ...  Thoughts?
>
> All that said, the basic "I have io_lib, I know where it's installed, and
> I want it in BioPerl" is now working ... adding tests right now, and I
> need some sample data files! (I can make them myself with bogus data, but
> I'd prefer samples captured from the wild).
>
> -Aaron
>
> > Lincoln
> >
> > On Thursday 04 July 2002 10:05 pm, Aaron J Mackey wrote:
> > > I have no issues - I knew that if *I* were going to do it, I'd use
> > > Inline::C, out of habit, and ease of wrapping predefined libs.
> > >
> > > -Aaron
> > >
> > > On Thu, 4 Jul 2002, Chad Matsalla wrote:
> > > > Hi All,
> > > >
> > > > I have some use for using io_lib from the Staden package as
> > > > c-extensions for some work I am doing.
> > > >
> > > > I remembered a discussion in June with regards to this.
> > > >
> > > > Is anybody still interested in having this done? Does it have to use
> > > > Inline::C ? I have done a bunch of work in XS. Can I just use XS?
> > > >
> > > > Regards,
> > > >
> > > > Chad Matsalla

-- 
========================================================================
Lincoln D. Stein                           Cold Spring Harbor Laboratory
lstein@cshl.org			                  Cold Spring Harbor, NY
========================================================================