The LINKTYPE macro is generated cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm#l2097 in perl.git, but can be set in many places see , cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm#l1430 in perl.git, cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm#l1925 in perl.git.

I am trying to do this with CPAN quality. I am using certain compiler (not linker) flags for VC and GCC which would break the build for a static XS library that is linked into a perl or there would be conflicts in linking with perl's full set of OS/compiler libraries, so I have to know LINKTYPE before the final makefile is written to the disk. EUMM parses command line arguments in addition the makefile.pl hash, see cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm#l587 in perl.git, trying to write code to figure the logic between $Config, %param, environmental variables, and cmd line args in exactly the same way as EUMM makes no sense, and rely on EUMM's precedence of all these options staying stable over time makes no sense. CCFLAGS and OPTIMIZE can be guessed in makefile.pl to be either in the WriteMakefile param hash or the $Config value, if the end user sets it on command line to makefile.pl, oh well, it doesn't work but its not obvious that you should set it on the cmd line. LINKTYPE's options doc's say to use the command line argument cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm#l1430 in perl.git. Running EUMM twice is the cleanest solution, but the MY package isn't processed on the 2nd run of EUMM, I dont know why.

MY package postamble is called from /cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm#l691 in perl.git] on the first run. On the 2nd run, the "push @{$self->{RESULT}}, $self->maketext_filter($self->$method( %a ));" call jumps to cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm#l967 in perl.git and then to cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm#l2865 in perl.git not my MY package postample. I dont know enough about Perl's OOP to figure out whats going on. I know EUMM generates new class names each time it runs (PACK001, PACK002). I am using EUMM 6.56.

I will see if anyone on PM can figure out whats wrong before I go to RT. Last resort is %INC hacking and clearing the EUMM symbol table and reloading EUMM, not clean either.

In reply to Re^2: 2nd run of WriteMakefile ignores MY overloads by bulk88
in thread 2nd run of WriteMakefile ignores MY overloads by bulk88

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.