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.

Reply via email to