My research was right. You *can't* mix Unix and VMS style include paths on VMS. It will just dumbly concatinate them.
CC/DECC /include=[.include] Result: [.include]parrot/parrot.h *wrong* CC/DECC /include="./include" Result: ./include/parrot/parrot.h *right* Perl5 simply avoids ever using '#include "foo/bar.h"' syntax except in one instance (SDBM_File) where the include directory is the cwd, so it works by luck. So this patch gets VMS past Configure and it immediately vomits because of a syntax error in the descrip.mms $ mmk %MMK-F-PARSERR, error parsing description line mops: examples/assembly/mopsexe examples/mops/mopsexe -MMK-I-ERRLOC, at line number 148 in file USER1:[SCHWERN.SRC.PARROT]MAKEFILE.;7 -LIB-F-SYNTAXERR, string syntax error detected by LIB$TPARSE --- hints/vms.pl 4 Jan 2002 17:39:29 -0000 1.5 +++ hints/vms.pl 1 Apr 2002 18:48:40 -0000 @@ -1,8 +1,10 @@ use Cwd; -$c{ccflags} = "/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/NOANSI_ALIAS/include=([.include],\"/here\")"; +$c{ccflags} = +qq{/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/NOANSI_ALIAS/include="./include"}; + if (!defined $c{exe}) { $c{exe} = "exe"; } + { local $^W; #no warnings on redefinition @@ -10,8 +12,11 @@ my $name; $name = shift; $name = "test" unless $name; - system("$c{cc} $c{ccflags} $name.c") and die "C compiler died!"; - system("link/exe=test_siz $name") and die "Link failed!"; + my $cmd = "$c{cc} $c{ccflags} $name.c"; + system($cmd) and die "C compiler died! Command was '$cmd'"; + + $cmd = "link/exe=test_siz $name"; + system($cmd) and die "Link failed! Command was '$cmd'"; }; *runtestc=sub { -- Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/ Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One If you have to shoot, shoot! Don't talk. -- Tuco, "The Good, The Bad And The Ugly"