habit_forming has asked for the wisdom of the Perl Monks concerning the following question:

Oh All-knowing All-seeing All-dancing Monks. Please see fit to bestow upon this humble citizen the knowledge... How do I force MakeMaker to put an .so in the /usr/lib directory? I know that if you want something to go into the /usr/bin directory (all based on the perl install of course) you use
EXE_FILE => ['myFoo.bin','bar']

Is there an equivalent "LIB_FILE"? I didn't see that in the documentation and it doesn't work when I try it, either.

Thank you,
habit

Replies are listed 'Best First'.
Re: MakeMaker and the .so
by habit_forming (Monk) on Jul 17, 2003 at 15:43 UTC
    I have figured out how to do it. Well I didn't figure it out I kind of found it. Anyway, here is the solution.
    # --- Stolen shamelessly from XML::SAX package MY; # so that "SUPER" works right sub MY::install { package MY; my $script = shift->SUPER::install(@_); $script =~ s/install :: (.*)$/install :: $1 install_libmyfoo/m; $script .= <<"INSTALL"; install_libmyfoo : \t\@mkdir -p \$(PREFIX)\/lib && cp libmyfoo.so \$(PREFIX)\/lib INSTALL return $script; }
    That goes below the "WriteMakefile" function. It modifies the install target (it actually adds a install_libmyfoo target) to move the .so into its proper position.

    Cheers!
    --habit
Re: MakeMaker and the .so
by smalhotra (Scribe) on Jul 17, 2003 at 12:46 UTC
      Thanks for your response. But... How do I tell MakeMaker "Hey take this .so and put it over there." I really have tried everything I can think of. Thanks anyway though =)