Erland Sommarskog (esq...@sommarskog.se) writes:
>  (sisyph...@optusnet.com.au) writes:
>> Looking at 
>> http://cpansearch.perl.org/src/SOMMAR/Win32-SqlServer-2.009/makefile.pl,
>> I can see that you do mess with CCFLAGS, but it looks like 
>> -DPERL_IMPLICIT_SYS will still be there. Maybe there's another missing
>> (crucial) flag introduced by your change to CCFLAGS. 
> 
> Could be. I might give it try. I meddle with the flags to link the
> run-time library statically, so that I don't have distribute them
> with the binary. And there is some change for the optimizer flags,
> because else one of my test cases fails for reasons I don't understand.

I tried to disable my alterations, but this lead to a number of unresolved
symbols when linking and I gave it up.

In any case, notice that the problem is not to get the module to run
with the Perl I build it under. The problem is to get the binary to
run with other Perls built for the same platform.
 
>> XS_BOTHVERSION_SETXSUBFN_POPMARK_BOOTCHECK is something I haven't 
>> previously encountered. Is there some documentation that suggests that
>> defining it to 1 is a valid thing to do ? 
>  
> I don't think so. I figured out by reading the source code in XSUB.h. I
> guess it could break in any release, including 5.24 which I have not
> tested yet.

I have now tested with 5.24 and the same trick works there too.
 
In case someone else find this thread in the future, I should point out
there are several BOOTCHECK macros that all lead to Perl_xs_handshake 
which implements this handshake check. I found that the macro above is
the one that applied to my code by looking at the generated CPP code.

So if you run into this, and can't find no other way to work around it,
you will need to look what XS produces and in XSUB.h to figure out
what to do. But first check that you don't have any major flag mismatch
like PERL_IMPLICIT_SYS like sisyphus had. And don't be surprised if
you kill the check like I did, that things to crash boom bang later.
It has worked for me ...so far.

-- 
Erland Sommarskog, Stockholm, esq...@sommarskog.se

Reply via email to