[omniORB] omniORB 4.0.7 on gcc/Win32
Andrew Miller
ak.miller at auckland.ac.nz
Mon Jan 23 10:32:42 GMT 2006
omniORB 4.0.7 doesn't compile properly on MingW because it depends on eh.h,
which is not present on MingW(and the symbols aren't in the MingW library).
The following patch should make it compile(but will prevent
abortOnNativeException from working on MingW).
--- src/lib/omniORB/orbcore/omniInternal.cc.old 2006-01-23 10:24:02.849250000 +1
300
+++ src/lib/omniORB/orbcore/omniInternal.cc 2006-01-23 10:24:22.802375000 +1
300
@@ -244,7 +244,11 @@
#include <omniORB4/objTracker.h>
#include <corbaOrb.h>
-#ifdef __WIN32__
+#if defined(__WIN32__) && !defined(__GNUC__)
+#define WIN32_EXCEPTION_HANDLING
+#endif
+
+#ifdef WIN32_EXCEPTION_HANDLING
# include <eh.h>
#endif
@@ -1533,7 +1537,7 @@
static abortOnNativeExceptionHandler abortOnNativeExceptionHandler_;
-#ifdef __WIN32__
+#ifdef WIN32_EXCEPTION_HANDLING
extern "C" void omniORB_rethrow_exception(unsigned, EXCEPTION_POINTERS*)
{
throw;
@@ -1587,7 +1591,7 @@
objectTable = new omniObjTableEntry* [objectTableSize];
for( CORBA::ULong i = 0; i < objectTableSize; i++ ) objectTable[i] = 0;
-#ifdef __WIN32__
+#ifdef WIN32_EXCEPTION_HANDLING
if (abortOnNativeException) {
omniInterceptors* interceptors = omniORB::getInterceptors();
interceptors->createThread.add(abortOnNativeExceptionInterceptor);
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
More information about the omniORB-list
mailing list