On Tue, 15 Feb 2005, Craig Berry wrote:

>
> On Tuesday, February 15, 2005, at 02:21PM, John E. Malmberg <[EMAIL 
> PROTECTED]> wrote:
>
> >It appears that the VMS specific file name behavior is tied to many perl
> >scripts that are checking the ^O for 'VMS'.
> >
> >What I would like to investigate is having a option where a symbol or
> >logical name could be used by the init and pre-init code in VMS.C
> >to change the ^O to report 'GNV'.  That same feature would also cause
> >the DECC feature settings to go to full UNIX/POSIX filename compatibility
> >mode.
>
> The global PL_osname is set in S_init_predump_symbols in perl.c, which is
> called from S_parse_body when a Perl script is compiled.  If you put in
> your own value in start-up code, I'm pretty sure it will get overwritten
> later.  You could stick some code in S_init_predump_symbols to check for
> a logical name and reset accordingly.  That might be a little dangerous
> since we don't really know what side effects there might be to dynamically
> changing the OS name.

Apparently the OS name is dynamically set now by a perl script, config.p*,
and I can not find a pre-compiled version of it.  So what I think I might
try is modifying that script to change the OS type and see what happens.

> If you can live with configuration time changes, look for
>
> $ osname = F$EDIT(F$GETSYI("NODE_SWTYPE"),"COLLAPSE")
>
> in configure.com and modify it to say whatever you want.

I missed changing that to only be set if osname was not previously
defined, so my last build was still with osname="VMS".

I did find the test later on that bails if the osname .nes. "VMS"

It turns out now, that perl will not build if the osname is not "VMS",
it is failing on opendir("./../../"), and I have not found a way to
get around that yet.

So it looks like I need to change the osname after the build is complete.
The value in config.h is not used by any of the C code.

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to