Building XPCORBA
Getting a working omniORB
The omniORB 4.0.7 from Win32 won't work with XPCORBA, so apply the following patch first:
<pre> diff -rbud ../../VC6/omniORB-4.0.7/src/lib/omniORB/omniidl_be/cxx/header/template.py src/lib/omniORB/omniidl_be/cxx/header/template.py --- ../../VC6/omniORB-4.0.7/src/lib/omniORB/omniidl_be/cxx/header/template.py 2005-12-30 17:40:22.000000000 +1300 +++ src/lib/omniORB/omniidl_be/cxx/header/template.py 2006-09-22 15:39:06.406250000 +1200 @@ -215,6 +215,11 @@
#include <omniORB4/CORBA.h> #endif
+@sub_include_pre@ +@cxx_direct_include@ +@includes@ +@sub_include_post@ +
#ifndef USE_core_stub_in_nt_dll # define USE_core_stub_in_nt_dll_NOT_DEFINED_@guard@ #endif
- @@ -222,11 +227,6 @@
- # define USE_dyn_stub_in_nt_dll_NOT_DEFINED_@guard@ #endif
-@sub_include_pre@ -@cxx_direct_include@ -@includes@ -@sub_include_post@ -
#ifdef USE_stub_in_nt_dll #ifndef USE_core_stub_in_nt_dll #define USE_core_stub_in_nt_dll
diff -rbud ../../VC6/omniORB-4.0.7/src/tool/omniidl/cxx/idlscope.cc src/tool/omniidl/cxx/idlscope.cc --- ../../VC6/omniORB-4.0.7/src/tool/omniidl/cxx/idlscope.cc 2005-05-03 11:12:34.000000000 +1200 +++ src/tool/omniidl/cxx/idlscope.cc 2006-09-22 13:29:51.171875000 +1200 @@ -384,6 +384,9 @@
s->addDecl("TypeCode", 0, builtins0, BaseType::TypeCodeType, file, 2); s->addDecl("Principal", 0, builtins1, BaseType::PrincipalType, file, 3);
// Creating the Decls sets the most recent decl pointer; clear it here.
Decl::clear();
Prefix::endOuterFile();
}
</pre>