[Info-vax] cross tools and CLD scope
Craig A. Berry
craigberry at nospam.mac.com
Sun Oct 17 19:49:29 EDT 2021
So I finally got around to bringing up a v9.1-A system and took a swing
at trying to build something with the cross tools on Itanium. The docs
for those tools mention SYS$MANAGER:X86_XTOOLS$SYLOGIN.COM, which, among
other things, "Adds the cross-tools specific command definitions to the
CLI table of a process."
So far so good. You wouldn't want to mangle your system command tables
on your Itanium system if you were still trying to target Itanium some
of the time. But, as far as I can see, CLD definitions -- unlike logical
names and symbols -- are not inherited by subprocesses. Is that really
true?
Here is my conundrum:
$ show symbol cc
CC == "XCC"
$ cc/vers
VSI C X7.4-528 (GEM 50V6F) for X86 on OpenVMS IA64 V8.4-2L3
$ xcc/vers
VSI C X7.4-528 (GEM 50V6F) for X86 on OpenVMS IA64 V8.4-2L3
$ mmk
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/float=ieee/ieee=denorm/NAMES=(SHORTENED)/Define=(PERL_CORE,_USE_STD_STAT=1)
PERLMINI.C
%DCL-W-IVVERB, unrecognized command verb - check validity and spelling
\XCC\
%MMK-F-ERRUPD, error status %X00038090 occurred when updating target
PERLMINI.OBJ
Clearly the symbol definition does what's on the tin and runs the XCC
command when CC is invoked, and clearly the process I'm starting from
knows what the XCC command is. But when MMK creates a subprocess to run
a command, that process has no idea what XCC means.
Surely I am not the first person to encounter this. Any real-world
build system using MMS or MMK would encounter the same thing. Do I
really have to hack up the command definitions to stuff the cross tools
commands into the system table, and then figure out how to unstuff them
later when I want to target Itanium rather than x86_64?
More information about the Info-vax
mailing list