This is the mail archive of the
automake@gnu.org
mailing list for the automake project.
Re: Anyone installing Perl modules?
On Thu, May 08, 2003 at 03:17:33PM -0400, Eric Siegerman wrote:
> On Thu, May 08, 2003 at 11:48:20AM -0700, Bill Moseley wrote:
> > But, is there a better or more common way to install my Perl modules into the system @INC
> > using Automake/autoconf? There still should be a way to override where they are installed
> > with a configure switch.
>
> I tend to use Stow for that. Note that this is a choice I make
> as the installer of a given package; the package's maintainer
> doesn't need to have done anything beyond implementing --prefix
> or the equivalent, which of course you get for free with
> autoconf.
I need to look at Stow more. I like the idea of installing into a package directory and
using symlinks, although I'm not sure how that would work on Windows... Not to mention I'm
still trying to recover from learning (part of) autotools.
I also have a Perl module with an xs extension in our package that I'd like to have built
with the normal configure && make && make install.
> > If I install a helper program in libexecdir (which is not in the $PATH), what is the best
> > way to portably add that path in my C program (for either a popen() or fork/exec to run the
> > program)?
>
> The safest way is not to depend on the path at all. Instead,
> hard-code the path in the caller. Of course, that should only
> happen at configure time :-) That is, have the caller do the
> equivalent of:
> execv("${libexecdir}/helper", args);
Ok, that what I'll do. Thanks.
I'd like to ask for some more advice about perl. This is for the Swish-e search engine.
Swish-e is a C program that just parses docs and creates a reverse index. Swish-e can
index a directory tree, but to index a web site (spider) it uses a helper script written in
Perl.
Now, in that model, swish-e gets installed in $bindir, and the helper script ends up in
$libexecdir. That makes sense because swish-e runs the spider Perl script.
But two issues have come up that make me wonder if that helper script should not be in
bindir.
First, since $libexecdir is typically not in either @INC or in $PATH, you can not use
perldoc to read the docs for the script. Minor problem because docs can be read in HTML
format on the Swish-e web site (also in $prefix/doc/swish-e/html).
But the other problem is that some users are running the helper script outside of swish. So
in that case it would be nice to have the script in $bindir.
Yes, in some ways I don't want to "polute" the path with helper programs.
Any suggestions on where to put helper programs?
Thanks,
--
Bill Moseley
moseley@hank.org