I GOT IT:
I overloaded:

package ExtUtils::MM_Unix;
sub installbin {


removed the offending line that executed FIXIN at each colon definition for each item to be installed.


Nick Ing-Simmons wrote:
Billy N. Patton <[EMAIL PROTECTED]> writes:

I looked through man pages and read about overloading colon definitions.
I'm already doing that.  But MakeMaker spits out :
FIXIN = $(PERLRUN) "-MExtUtils::MY" \
   -e "MY->fixin(shift)"


So you want to over-ride PERLRUN so that it uses the perl you want to apear in #! line rather than the one with the links resolved.
The easy way to do that it modify Config.pm to have "right" path-to-perl
(or get your admin to do that right in the 1st place.)


But assuming you need to do this in Makefile.PL
you need something like:

package MY;
sub constants
{
 local $_ = shift->SUPER::constants(@_);
 s#/apps/perl/5.8.0/bin/perl#/usr/local/bin/perl#g;
 return $_;
}

But you probably want to generalize the "from" part of subsitute.





I tried : sub MY::subdirs { ' FIXIN = all ::


But that resulted in : EXE_FILES = clean_laff


FIXIN = $(PERLRUN) "-MExtUtils::MY" \ -e "MY->fixin(shift)"

pure_all :: $(INST_SCRIPT)/clean_laff
        @$(NOOP)

realclean ::
        rm -f $(INST_SCRIPT)/clean_laff

$(INST_SCRIPT)/clean_laff: clean_laff Makefile $(INST_SCRIPT)/.exists
        @rm -f $(INST_SCRIPT)/clean_laff
        cp clean_laff $(INST_SCRIPT)/clean_laff
        $(FIXIN) $(INST_SCRIPT)/clean_laff
        [EMAIL PROTECTED](CHMOD) $(PERM_RWX) $(INST_SCRIPT)/clean_laff


# --- MakeMaker subdirs section:



FIXIN =



Which tried to execute clean_laff. I dont want to overload : $(INST_SCRIPT)/clean_laff: ....

That would result in mas quantities of overloaded colon definitions.
If I have to do that then I don't need to CORNfusion of MakeMaker


Steven N. Hirsch wrote:


On Tue, 19 Aug 2003, Billy N. Patton wrote:



I use a ExtUtils::MakeMaker to create my makefile.

In my source file I have:
#!/usr/local/bin/perl
use strict;
require 5.005;

After installation into the blib and therefore the final destination I get:
#!/apps/perl/5.8.0/bin/perl

eval 'exec /apps/perl/5.8.0/bin/perl  -S $0 ${1+"$@"}'
   if 0; # not running under some shell
use strict;
require 5.005;



ls -l /usr/local/bin/per*
/usr/local/bin/perl -> perl-5.8.0
/usr/local/bin/perl-5.8.0 -> /apps/perl/5.8.0/bin/perl


I have determined that the following line makes the change:
/usr/local/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/clean_laff


How do I stop this from happening?


Although there may be a simpler method, I usually resort to subclassing the offending method. There's some verbiage in the MakeMaker man page which gives an example of the technique.

If anyone knows of comprehensive documentation on MakeMaker (past what's in the man pages) please speak up?

Steve






--
   ___  _ ____       ___       __  __
  / _ )(_) / /_ __  / _ \___ _/ /_/ /____  ___
 / _  / / / / // / / ___/ _ `/ __/ __/ _ \/ _ \
/____/_/_/_/\_, / /_/   \_,_/\__/\__/\___/_//_/
           /___/
Texas Instruments ASIC Circuit Design Methodlogy Group
Dallas, Texas, 214-480-4455,  [EMAIL PROTECTED]



Reply via email to