On Tue, Jan 14, 2003 at 07:49:05PM +0100 Tassilo von Parseval wrote:
> On Tue, Jan 14, 2003 at 04:56:37PM +0000 Nick Ing-Simmons wrote:
> > You probably need to #define something else _before_ including perl.h
> > and hence perlio.h and perlstdio.h to get FILE * visible.
> > I don't have an perl5.6 source base to hand to check what that is
> > but from memory it was something like:
> >
> > #define PERLIO_NOT_STDIO 0
> > #include <perl.h>
>
> That could be. perlio.h has something quite promising:
[snipped]
Just for the record:
#defining PERL_NOT_STDIO prior including perl.h as you (Nick) suggested
above did unfortunately not fix it.
What works:
#ifdef _WIN32
# PerlIO_exportFILE(f,fl) ((FILE*)f)
#endif
Or (but with a lot of redefinition warnings):
#ifdef _WIN32
# include <perlsdio.h>
#endif
ActiveState's perlio.h looks thus, btw:
# include "iperlsys.h"
Unfortunately I haven't been able to understand the complicated
inter-inclusion of the different io-related headers so for now I will
stick with #defining Perl_IO...FILE macros for compilation under ActiveState
myself. The purpose is packaging a binary ppm and this is possible that
way. Nonetheless, I'd love to understand the way PerlIO works better.
I'll install ActivePerl 5.8.0 this afternoon and see whether anything
changed with respect to PerlIO and compilation.
Tassilo
--
$_=q!",}])(tsuJ[{@"tnirp}3..0}_$;//::niam/s~=)]3[))_$-3(rellac(=_$({
pam{rekcahbus;})(rekcah{lrePbus;})(lreP{rehtonabus;})(rehtona{tsuJbus!;
$_=reverse;s/sub/(reverse"bus").chr(32)/xge;tr~\n~~d;eval;