Color me ignorant, but where do I drop this sub constants into:
Here's my makefile.PL portion:
...
  , 'EXE_FILES'       =>  [
                            'LaffAdd'
                          ]
);


package MY; sub constants { local $s = shift->SUPER::constants(@_); $s =~ s#/apps/perl/5.8.0/bin/perl#/usr/local/bin/perl#g; open OUT , ">/home/bpatton/LOOKY"; print OUT "\n\n\nLOOKY : \$s = '$s'\n\n\n"; close OUT; return $s; }

sub MY::subdirs {
'

all ::



Here's the LOOKY file:
as an attachment:


Here's the result of the make:


/usr/local/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/LaffAdd


#!/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



What am I doing wrong?



To another subject:
Do either of you know of anyone working on doing the xs for OpenAccess?
Nick, do you remember Clive Bittlestone from your Bedford TI days? He's after me to do it.
I would like to do this,but afraid I'll be bighting off more than I can chew. Graham Barr set up my skeleton for my current xs stuff. I took it from there. I understand enough to get/put hash's, lists and my own pointers into/outof perl, don't know if my simple approach will be enough.
You opinion greatly appreciated :)


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]


LOOKY : $_ = 'AR_STATIC_ARGS = cr
NAME = cdmg_toolbox
DISTNAME = cdmg_toolbox
NAME_SYM = cdmg_toolbox
VERSION = 3.0.0
VERSION_SYM = 3_0_0
XS_VERSION = 3.0.0
INST_ARCHLIB = blib/arch
INST_SCRIPT = blib/script
INST_BIN = blib/bin
INST_LIB = blib/lib
INSTALLDIRS = perl
PREFIX = /data/cdmg/dev/cdmg_toolbox
SITEPREFIX = /data/cdmg/dev/cdmg_toolbox
VENDORPREFIX = /data/cdmg/dev/cdmg_toolbox
INSTALLPRIVLIB = /data/cdmg/dev/cdmg_toolbox/lib/perl5/5.8.0
INSTALLSITELIB = /data/cdmg/dev/cdmg_toolbox/lib/perl5/site_perl/5.8.0
INSTALLVENDORLIB = /data/cdmg/dev/cdmg_toolbox/lib/perl5
INSTALLARCHLIB = /data/cdmg/dev/cdmg_toolbox/lib/perl5/5.8.0/sun4-solaris-thread-multi
INSTALLSITEARCH = 
/data/cdmg/dev/cdmg_toolbox/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi
INSTALLVENDORARCH = 
/data/cdmg/dev/cdmg_toolbox/lib/perl5/5.8.0/sun4-solaris-thread-multi
INSTALLBIN = $(PREFIX)/bin
INSTALLSITEBIN = /data/cdmg/dev/cdmg_toolbox/bin
INSTALLVENDORBIN = /data/cdmg/dev/cdmg_toolbox/bin
INSTALLSCRIPT = /data/cdmg/dev/cdmg_toolbox/bin
PERL_LIB = /apps/perl/5.8.0/lib/perl5/5.8.0
PERL_ARCHLIB = /apps/perl/5.8.0/lib/perl5/5.8.0/sun4-solaris-thread-multi
VENDORLIBEXP = /data/cdmg/dev/cdmg_toolbox/lib/perl5
SITELIBEXP = /apps/perl/5.8.0/lib/perl5/site_perl/5.8.0
SITEARCHEXP = /apps/perl/5.8.0/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi
VENDORARCHEXP = /data/cdmg/dev/cdmg_toolbox/lib/perl5/5.8.0/sun4-solaris-thread-multi
LIBPERL_A = libperl.a
FIRST_MAKEFILE = Makefile
MAKE_APERL_FILE = Makefile.aperl
PERLMAINCC = $(CC)
PERL_INC = /apps/perl/5.8.0/lib/perl5/5.8.0/sun4-solaris-thread-multi/CORE
PERL = /usr/local/bin/perl
FULLPERL = /usr/local/bin/perl
PERLRUN = $(PERL)
FULLPERLRUN = $(FULLPERL)
PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
ABSPERL = $(PERL)
ABSPERLRUN = $(ABSPERL)
ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
FULL_AR = /usr/ccs/bin/ar
PERL_CORE = 0
NOOP = $(SHELL) -c true
NOECHO = @

VERSION_MACRO = VERSION
DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"
XS_VERSION_MACRO = XS_VERSION
XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"
PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree 
-Drealloc=Perl_realloc -Dcalloc=Perl_calloc

MAKEMAKER = /apps/perl/5.8.0/lib/perl5/5.8.0/ExtUtils/MakeMaker.pm
MM_VERSION = 6.05

# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle).
# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle)
# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar)
# DLBASE  = Basename part of dynamic library. May be just equal BASEEXT.
FULLEXT = cdmg_toolbox
BASEEXT = cdmg_toolbox
PARENT_NAME = 
DLBASE = $(BASEEXT)
OBJECT = 
LDFROM = $(OBJECT)
LINKTYPE = dynamic

# Handy lists of source code files:
XS_FILES= 
C_FILES = 
O_FILES = 
H_FILES = 
MAN1PODS = 
MAN3PODS = ClearScreen.pm \
        Combinations.pm \
        DefaultAbut.pm \
        GrayCode.pm \
        HdlToHash.pm \
        LaffPerl/Laff.pm \
        ListDirectory.pm \
        Menu.pm \
        MkOutdir.pm \
        ParseArgv.pm \
        ProfileToHash.pm \
        Prompt.pm \
        Source.pm \
        Techio.pm \
        abut_hdl.pm \
        add_sites.pm \
        break_pyr_cell_name.pm \
        build_laff.pm \
        cdmg.pm \
        center_string.pm \
        find_data.pm \
        get_pins_from_spice.pm \
        get_spice_control_template.pm \
        hspice_tispice_comp_chart.pm \
        is_file_older.pm \
        maf.pm \
        make_prior.pm \
        parse__DATA__.pm \
        parse_spice_prt.pm
INST_MAN1DIR = blib/man1
MAN1EXT = 1
INSTALLMAN1DIR = $(PREFIX)/doc/man/man1
INSTALLSITEMAN1DIR = /data/cdmg/dev/cdmg_toolbox/man/man1
INSTALLVENDORMAN1DIR = /data/cdmg/dev/cdmg_toolbox/man/man1
INST_MAN3DIR = blib/man3
MAN3EXT = 3
INSTALLMAN3DIR = $(PREFIX)/doc/man/man3
INSTALLSITEMAN3DIR = /data/cdmg/dev/cdmg_toolbox/man/man3
INSTALLVENDORMAN3DIR = /data/cdmg/dev/cdmg_toolbox/man/man3
PERM_RW = 644
PERM_RWX = 755

# work around a famous dec-osf make(1) feature(?):
makemakerdflt: all

.SUFFIXES: .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT)

# Nick wanted to get rid of .PRECIOUS. I don't remember why. I seem to recall, that
# some make implementations will delete the Makefile when we rebuild it. Because
# we call false(1) when we rebuild it. So make(1) is not completely wrong when it
# does so. Our milage may vary.
# .PRECIOUS: Makefile    # seems to be not necessary anymore

.PHONY: all config static dynamic test linkext manifest

# Where is the Config information that we are using/depend on
CONFIGDEP = $(PERL_ARCHLIB)/Config.pm $(PERL_INC)/config.h

# Where to put things:
INST_LIBDIR      = $(INST_LIB)
INST_ARCHLIBDIR  = $(INST_ARCHLIB)

INST_AUTODIR     = $(INST_LIB)/auto/$(FULLEXT)
INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT)

INST_STATIC  =
INST_DYNAMIC =
INST_BOOT    =

EXPORT_LIST = 

PERL_ARCHIVE = 

PERL_ARCHIVE_AFTER = 

TO_INST_PM = ClearScreen.pm \
        Combinations.pm \
        DefaultAbut.pm \
        DefaultAbutPyr.pm \
        GrayCode.pm \
        HdlToHash.pm \
        LaffPerl/Laff.pm \
        ListDirectory.pm \
        Menu.pm \
        MkOutdir.pm \
        ParseArgv.pm \
        ProfileToHash.pm \
        Prompt.pm \
        Source.pm \
        Techio.pm \
        abut_hdl.pm \
        add_sites.pm \
        break_pyr_cell_name.pm \
        build_laff.pm \
        cdmg.pm \
        cds2svdb.pm \
        center_string.pm \
        common_header.pm \
        compsvdb_cell.pm \
        compsvdb_chip.pm \
        extend_boundary_metal.pm \
        find_data.pm \
        find_hdl.pm \
        find_hspice.pm \
        find_hspice_cntrl.pm \
        find_laff.pm \
        find_profile.pm \
        find_schematic.pm \
        find_sv_spice.pm \
        find_timing_template.pm \
        find_tispice.pm \
        find_tispice_cntrl.pm \
        get_pins_from_spice.pm \
        get_spice_control_template.pm \
        gvcell.pm \
        gvchip.pm \
        gvmega.pm \
        hdl2svdb.pm \
        hspice_tispice_comp_chart.pm \
        is_file_older.pm \
        maf.pm \
        make_prior.pm \
        move_up_io_ports.pm \
        parse__DATA__.pm \
        parse_cell_list.pm \
        parse_dll_input.pm \
        parse_dot_gv.pm \
        parse_dot_lv.pm \
        parse_dot_sv.pm \
        parse_dot_svcompare.pm \
        parse_hspice_mt0.pm \
        parse_spice_model_map.pm \
        parse_spice_prt.pm \
        parse_tispice_mt0.pm \
        place_cells_in_strip.pm \
        print_proof.pm \
        proof_cds2svdb.pm \
        proof_cleo.pm \
        proof_hdl2svdb.pm \
        required_input.pm \
        slot.pm \
        sub_spice_models.pm \
        sv_spice2svdb.pm \
        svcell.pm \
        svchip.pm \
        svmega.pm \
        tasks.pm

PM_TO_BLIB = find_tispice.pm \
        $(PREFIX)/lib/find_tispice.pm \
        slot.pm \
        $(PREFIX)/lib/slot.pm \
        Source.pm \
        $(PREFIX)/lib/Source.pm \
        is_file_older.pm \
        $(PREFIX)/lib/is_file_older.pm \
        Prompt.pm \
        $(PREFIX)/lib/Prompt.pm \
        proof_cleo.pm \
        $(PREFIX)/lib/proof_cleo.pm \
        hspice_tispice_comp_chart.pm \
        $(PREFIX)/lib/hspice_tispice_comp_chart.pm \
        parse_tispice_mt0.pm \
        $(PREFIX)/lib/parse_tispice_mt0.pm \
        add_sites.pm \
        $(PREFIX)/lib/add_sites.pm \
        get_pins_from_spice.pm \
        $(PREFIX)/lib/get_pins_from_spice.pm \
        parse_dot_lv.pm \
        $(PREFIX)/lib/parse_dot_lv.pm \
        tasks.pm \
        $(PREFIX)/lib/tasks.pm \
        proof_hdl2svdb.pm \
        $(PREFIX)/lib/proof_hdl2svdb.pm \
        find_hspice_cntrl.pm \
        $(PREFIX)/lib/find_hspice_cntrl.pm \
        hdl2svdb.pm \
        $(PREFIX)/lib/hdl2svdb.pm \
        move_up_io_ports.pm \
        $(PREFIX)/lib/move_up_io_ports.pm \
        compsvdb_chip.pm \
        $(PREFIX)/lib/compsvdb_chip.pm \
        center_string.pm \
        $(PREFIX)/lib/center_string.pm \
        GrayCode.pm \
        $(PREFIX)/lib/GrayCode.pm \
        Menu.pm \
        $(PREFIX)/lib/Menu.pm \
        svmega.pm \
        $(PREFIX)/lib/svmega.pm \
        ParseArgv.pm \
        $(PREFIX)/lib/ParseArgv.pm \
        HdlToHash.pm \
        $(PREFIX)/lib/HdlToHash.pm \
        common_header.pm \
        $(PREFIX)/lib/common_header.pm \
        sv_spice2svdb.pm \
        $(PREFIX)/lib/sv_spice2svdb.pm \
        MkOutdir.pm \
        $(PREFIX)/lib/MkOutdir.pm \
        svcell.pm \
        $(PREFIX)/lib/svcell.pm \
        required_input.pm \
        $(PREFIX)/lib/required_input.pm \
        parse_hspice_mt0.pm \
        $(PREFIX)/lib/parse_hspice_mt0.pm \
        cds2svdb.pm \
        $(PREFIX)/lib/cds2svdb.pm \
        print_proof.pm \
        $(PREFIX)/lib/print_proof.pm \
        find_schematic.pm \
        $(PREFIX)/lib/find_schematic.pm \
        parse_spice_prt.pm \
        $(PREFIX)/lib/parse_spice_prt.pm \
        parse_dot_svcompare.pm \
        $(PREFIX)/lib/parse_dot_svcompare.pm \
        Techio.pm \
        $(PREFIX)/lib/Techio.pm \
        break_pyr_cell_name.pm \
        $(PREFIX)/lib/break_pyr_cell_name.pm \
        proof_cds2svdb.pm \
        $(PREFIX)/lib/proof_cds2svdb.pm \
        abut_hdl.pm \
        $(PREFIX)/lib/abut_hdl.pm \
        ClearScreen.pm \
        $(PREFIX)/lib/ClearScreen.pm \
        find_tispice_cntrl.pm \
        $(PREFIX)/lib/find_tispice_cntrl.pm \
        DefaultAbut.pm \
        $(PREFIX)/lib/DefaultAbut.pm \
        gvcell.pm \
        $(PREFIX)/lib/gvcell.pm \
        find_data.pm \
        $(PREFIX)/lib/find_data.pm \
        find_hspice.pm \
        $(PREFIX)/lib/find_hspice.pm \
        find_profile.pm \
        $(PREFIX)/lib/find_profile.pm \
        make_prior.pm \
        $(PREFIX)/lib/make_prior.pm \
        LaffPerl/Laff.pm \
        $(PREFIX)/lib/Laff.pm \
        parse_dot_gv.pm \
        $(PREFIX)/lib/parse_dot_gv.pm \
        parse_cell_list.pm \
        $(PREFIX)/lib/parse_cell_list.pm \
        svchip.pm \
        $(PREFIX)/lib/svchip.pm \
        find_sv_spice.pm \
        $(PREFIX)/lib/find_sv_spice.pm \
        find_timing_template.pm \
        $(PREFIX)/lib/find_timing_template.pm \
        parse__DATA__.pm \
        $(PREFIX)/lib/parse__DATA__.pm \
        ProfileToHash.pm \
        $(PREFIX)/lib/ProfileToHash.pm \
        gvmega.pm \
        $(PREFIX)/lib/gvmega.pm \
        compsvdb_cell.pm \
        $(PREFIX)/lib/compsvdb_cell.pm \
        parse_dll_input.pm \
        $(PREFIX)/lib/parse_dll_input.pm \
        Combinations.pm \
        $(PREFIX)/lib/Combinations.pm \
        place_cells_in_strip.pm \
        $(PREFIX)/lib/place_cells_in_strip.pm \
        build_laff.pm \
        $(PREFIX)/lib/build_laff.pm \
        DefaultAbutPyr.pm \
        $(PREFIX)/lib/DefaultAbutPyr.pm \
        parse_dot_sv.pm \
        $(PREFIX)/lib/parse_dot_sv.pm \
        get_spice_control_template.pm \
        $(PREFIX)/lib/get_spice_control_template.pm \
        sub_spice_models.pm \
        $(PREFIX)/lib/sub_spice_models.pm \
        find_hdl.pm \
        $(PREFIX)/lib/find_hdl.pm \
        ListDirectory.pm \
        $(PREFIX)/lib/ListDirectory.pm \
        gvchip.pm \
        $(PREFIX)/lib/gvchip.pm \
        find_laff.pm \
        $(PREFIX)/lib/find_laff.pm \
        maf.pm \
        $(PREFIX)/lib/maf.pm \
        parse_spice_model_map.pm \
        $(PREFIX)/lib/parse_spice_model_map.pm \
        extend_boundary_metal.pm \
        $(PREFIX)/lib/extend_boundary_metal.pm \
        cdmg.pm \
        $(PREFIX)/lib/cdmg.pm
'


Reply via email to