On Fri, 15 Dec 2000, Nick Ing-Simmons wrote:
> Peter Prymmer <[EMAIL PROTECTED]> writes:
> >I find that the enclosed patch helps get a vanilla (ie "-Dusedevel"
> >"-des") build of perl@8102 going on VMS. I note that on VMS we do
> >have PerlIO #defined but under a vanilla build we do not have
> >USE_PERLIO #defined hence this patch affects the
> >s/#ifdef PerlIO/#define USE_PERLIO/ switch.
>
> PerlIO should be defined everywhere these days.
> USE_PERLIO will hopefully become the default eventually.
>
> >I would appreciate
> >hearing from useperlio experts on the wisdom of the proposed switch. (I
> >also noted that this patch does not seem to hurt a `sh Configure
> >-Dusedevel -des` build on Tru64 Unix 4.0D in case the question arises).
> >Setting the capability to have useperlio to "define" on VMS is a task that
> >remains unfinished at this time.
>
> It is not clear to me why you should need to make the change.
> It is potentially "wrong" for the sfio case (which isn't an issue
> for VMS I know) - but as sfio also has USE_PERLIO turned on (IIRC)
> it should be harmless.
>
> #ifdef PerlIO
>
> is anchient history - Graham was do IO (outside the core) about
> the same time I was adding the original PerlIO abstraction.
We do not seem to have properly exported versions of PerlIO_getpos() and
PerlIO_setpos() since IO.c fails to link (er, ld) as in this example with
the 8102 kit where the link comes after the compilation of poll.c and
the library creation:
CC/DECC/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/NOANSI_ALIAS/Define=("VERSION=""1.20""","XS_VERSION=""1.20""")/Include=([--])/Optimize
POLL.c
If F$Search("[--.LIB.AUTO.IO]IO.OLB").eqs."" Then Library/Object/Create
[--.LIB.AUTO.IO]IO.OLB
Library/Object/Replace [--.LIB.AUTO.IO]IO.OLB IO.OBJ, POLL.OBJ
%CREATE-I-EXISTS, [--.LIB.AUTO.IO] already exists
If F$TrnLNm("PerlShr").eqs."" Then Define/NoLog/User PerlShr Sys$Share:PerlShr.exe
Link /NoTrace/NoMap /Shareable=[--.LIB.AUTO.IO]PL_IO.EXE
IO.opt/Option,[--]perlshr_attr.opt/Option
%LINK-W-NUDFSYMS, 2 undefined symbols:
%LINK-I-UDFSYM, PERLIO_GETPOS
%LINK-I-UDFSYM, PERLIO_SETPOS
%LINK-W-USEUNDEF, undefined symbol PERLIO_SETPOS referenced
Hence my attempt to employ the fgetpos() and fsetpos() from the C RTL.
I'll try another approach...
Peter Prymmer