Hi,
There appear to be at least three problems with VMS-DEVICE-0_06.ZIP.
One is that the zip file appears to have two copies of a file in
it:
$ unzip [-]VMS-DEVICE-0_06.ZIP
Archive: DKB100:[000000]VMS-DEVICE-0_06.ZIP;1
inflating: [.vms.device]changes
inflating: [.vms.device]manifest
inflating: [.vms.device]readme
inflating: [.vms.device]device.pm
inflating: [.vms.device]device.xs
inflating: [.vms.device]makefile.pl
creating: [.vms.device.t]
inflating: [.vms.device.t]basic.t
replace [.vms.device.t]basic.t? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: [.vms.device.t]basic.t
(note that the directory is [.vms.device] rather than [.vms-device-0_06]
which is what it would have had if `make dist` had been run on a unix
box. Hence there is still a dist target bug in MM_VMS.pm.)
When I try to build with perl@6529 I obtain:
perl "-Iperl_root:[lib.VMS_AXP.5_6_0]" "-Iperl_root:[lib]"
perl_root:[lib.ExtUti
ls]xsubpp -typemap perl_root:[lib.ExtUtils]typemap DEVICE.xs >DEVICE.C
Warning: long symbol VMS__Device_decode_device_bitmap
trimmed to VMS_Di_do_di_bitmap
at perl_root:[lib.extutils]xsubpp line 1059
Please specify prototyping behavior for device.xs (see perlxs manual)
CC/DECC
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/Define=("VE
RSION=""0.06""","XS_VERSION=""0.06""")/Include=(perl_root:[lib.VMS_AXP.5_6_0.COR
E])/Optimize DEVICE.c + SYS$LIBRARY:SYS$LIB_C/LIBRARY
if (AccMode == &sv_undef) {
..................^
%CC-E-UNDECLARED, In this statement, "sv_undef" is not declared.
at line number 2140 in file DKB100:[VMS-DEVICE-0_06.VMS.DEVICE]DEVICE.XS;1
AccessString = SvPV(AccMode, na);
...................^
%CC-E-UNDECLARED, In this statement, "na" is not declared.
at line number 2143 in file DKB100:[VMS-DEVICE-0_06.VMS.DEVICE]DEVICE.XS;1
etc.
So it looks like VMS-DEVICE-0_06 needs to be updated with the PL_*
macros or perhaps the perl_pollute.h header (or whatever it got named).
The prototype problem can probably be allayed with an XS directive of
PROTOTYPES: DISABLE
or somesuch.
I'll try testing another module for now.
Peter Prymmer