1 message in com.perforce.jamming[jamming] VMS, dependencies, relative...
FromSent OnAttachments
joha...@esrange.ssc.se17 Oct 2002 02:40 
Subject:[jamming] VMS, dependencies, relative headers
From:joha...@esrange.ssc.se (joha@esrange.ssc.se)
Date:10/17/2002 02:40:56 AM
List:com.perforce.jamming

Hi,

it seems to be impossible to get both jam (2.4) and the DEC C++ 6.5 compiler (cxx) to locate the header files correctly when using relative includes under OpenVMS, e.g.:

--- snip from whoever.cpp --- #include <Whatever/Whoever.h>

To get cxx to find the headers, I created a logical root for the include root, e.g.:

def/job/trans=conc INC_ROOT "DISK$USER:[MYDIR]"

Then I can use this in a unix-style path to cxx, e.g.:

cxx /INCLUDE_DIR=("/inc_root") => jam "-sHDRS=/inc_root"

And then I can merrily compile the stuff - but it seems like jam can't to locate the header; if I change anything in "DISK$USER:[MYDIR.WHATEVER]WHOEVER.H" it doesn't result in a recompile of whoever.cpp !

I also tried to include the VMS style directory specification in combination with the unix-style stuff, e.g.:

jam "-sHDRS=/inc_root,DISK$USER:[MYDIR]"

Could somebody help me out here, please. Is there a way out or does anyone have a patch available for jam?

Oh, and on a related question (i.e. jam+OpenVMS+cxx): When creating a library (olb) using c++ templates, has anyone been able to insert the template instantiations from the repository directory using jam? I tried the following (which did not work) :

Library MyLib : file1.cpp file2.cpp ; LibraryFromObjects MyLib : [ glob [.cxx_repository] : *.obj ] ;

Regards // Johan