At 11:22 AM 6/26/2002 +0200, Martin Vorlaender wrote:
>We do in fact have VAX C and DEC C on that VAX, so there are header
>files
>in SYS$LIBRARY: - but doesn't DEC C take its headers from the .TLBs?
In general, yes, but where the compiler chooses to search for include files
is a very complicated business. It's highly configurable, which means
highly prone to break packages that make assumptions about the
configuration. There are also some, er, interesting looking things in
descrip.mms, like this:
..first
@ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").nes."" Then
Define/NoLog SYS DECC$System_Include
..ifdef __AXP__
@ Set Process/Privilege=(NoSYSNAM)
@ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then
Define/NoLog SYS Sys$Library
..else
@ If F$TrnLnm("Sys").eqs."" .and. F$TrnLnm("DECC$System_Include").eqs."" Then
Define/NoLog SYS DECC$Library_Include
..endif
It could be informative to know if you have any DECC$*INCLUDE logical names
defined. It could also be helpful to know if the SYS logical name is
defined after you run MMS. In particular, it looks like if
DECC$LIBRARY_INCLUDE is defined, the compiler skips the text librararies and
goes for plain .h files in SYS$LIBRARY, though I'm not entirely sure I've
read the documentation of include search order correctly.
Compiler listings are the only way to really know what include files the
compiler is seeing. If you have time to generate them, send them to me off
list and I'll see what I can find out.