[omniORB] -Wbkeep_inc_path

Barthel Marco (MPA/DS) Marco.Barthel at tenovis.com
Wed Aug 13 15:44:39 BST 2003


I have a Problem with -Wbkeep_inc_path of the omniidl Compiler.

I use the following idl-files to demonstrate the Problem:

C:\projekte\baseport\test\package1\if1.idl
------------------------------------------
	interface IfOne
	{
	};

C:\projekte\baseport\test\package2\if2.idl
------------------------------------------
	#include "package1/if1.idl"
	interface IfTwo
	{
	  void doit(in IfOne value);
	};

If I compile with
	
	omniidl -I C:\projekte\baseport\test -bcxx if2.idl

I get the following output (if2.hh):

[...]
#ifndef __if1_hh_EXTERNAL_GUARD__
#define __if1_hh_EXTERNAL_GUARD__
#include <if1.hh>
#endif
[...]

with
	omniidl -I C:\projekte\baseport\test -bcxx -Wbkeep_inc_path if2.idl

[...]
#ifndef __if1_hh_EXTERNAL_GUARD__
#define __if1_hh_EXTERNAL_GUARD__
#include <C:\projekte\baseport\test/package1\if1.hh>
#endif
[...]

and
	omniidl -I .. -bcxx -Wbkeep_inc_path if2.idl

[...]
#ifndef __if1_hh_EXTERNAL_GUARD__
#define __if1_hh_EXTERNAL_GUARD__
#include <../package1\if1.hh>
#endif
[...]


the omniORB User's Guide 4.0 states the following in Chapter 5.2 C++
back-end options:
-Wbkeep_inc_path Preserve IDL `#include' paths in generated `#include'
directives


What I thought I would get if use either

	omniidl -I .. -bcxx -Wbkeep_inc_path if2.idl
	omniidl -I C:\projekte\baseport\test -bcxx -Wbkeep_inc_path if2.idl

is the following:

[...]
#ifndef __if1_hh_EXTERNAL_GUARD__
#define __if1_hh_EXTERNAL_GUARD__
#include <package1\if1.hh>
#endif
[...]

Is the generation of

	#include <C:\projekte\baseport\test/package1\if1.hh>
	#include <../package1\if1.hh>

a bug or is it intended.

We use absolute paths for the -I option on omniidl but want to keep the
includes in *.hh as they were in *.idl

Thanks

-marco


> Marco Barthel
MPA/DS
Tenovis Comergo GmbH
Heilbronnerstr. 314, D-70469 Stuttgart
T +49 (711) 13586-42
F +49 (711) 13586-8042
marco.barthel at tenovis.com
www.tenovis-comergo.com





More information about the omniORB-list mailing list