[omniORB] omniidl handling of include file paths

Duncan Grisby dgrisby@uk.research.att.com
Thu, 13 Jul 2000 15:48:14 +0100


On Thursday 13 July, Chris Newbold wrote:

> However, keep_include_path still doesn't do quite what I think
> it should. It appears to preserve the absolute path by which
> the included idl file was found and prepends that onto the
> corresponding header file name in the output.

That's not quite what it does. It depends on how the C pre-processor
finds the #included file. If you do something like

  #include "foo/foo.idl"

and directory foo is a subdirectory of the current directory, then
omniidl will use the relative path.

Similarly, if you have

  #include <foo/foo.idl>

and use "omniidl -I." or "omniidl -Isome/relative/path", the output
will use the relative path.

On the other hand, if you do "omniidl -I/some/absolute/path", then the
output will use the absolute path.

This is all in the hands of the GNU C pre-processor, so omniidl can't
do anything to change it. omniidl never gets to see the #include
statement -- it just sees the output from cccp.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --