[omniORB] Porting omniORB

Sai-Lai Lo S.Lo@uk.research.att.com
24 Mar 1999 12:13:50 +0000


>>>>> erik ivanenko writes:

> Here are my assumptions:

> 1) Since RTEMS is for an embedded system, I will set the EmbeddedSystem
> variable.  This should cause ONLY lib to be built.

Yes.

> 2) There are three variables used:

> HOSTBINDIR
> BINDIR
> LIBDIR

> The HOSTBINDIR variable identifies the location of the IDL compiler.
> The BINDIR and LIBDIR variables identifies the locations where the
> target binaries and target libraries will be deposited.

Yes


> 3)  Since the cross-compiler is based on egcs-1.1b, and since the  the
> following flags will be set in the rtems.mk . ( this replaces the
> win32s.mk)

> IMPORT_CPPFLAGS += -D_HAS_Cplusplus_Namespace

_HAS_Cplusplus_Namespace as you can guess uses C++ namespace to represent
IDL module. This is a compiler dependent feature. If you look into
include/omniORB2/CORBA_sysdep.h, this flag is automatically enabled when
the compiler is egcs-1.1.1. 

In general, we use IMPORT_CPPFLAGS to add -D flags to uniquely identifier 
a platform. These flags are in turn tested in CORBA_sysdep.h to enable
specific features in the ORB.

> 5) Since the target is an x86, the symbol -D__x86__ is defined:

> IMPORT_CPPFLAGS += =D__x86__

Correct!


> 6) The cross compiler is located by setting CXX inside
> platform/i386-rtems-4.0.mk.

>  CXX = i386-rtems-g++

> This assumes that the path environment variable is set so that
> i386-rtems-g++ can be located.

Since you are using egcs, you can also use the g++/gcc driver and with
-B -v flags to instruct it to use the appropriate cross compiler backend.

> 7) The RTEMS posix compliance has been determined as:

> OMNITHREAD_POSIX_CPPFLAGS = -DPthreadDraftVersion=10
> -DPthreadSuppprtThreadPriority

Correct!


> 8)  The CONFIG_DEFAULT_LOCATION is meaningless, since there is no
> filesystem on rtems-4.0

In that case, you will have to use the -ORBinitialHost and -ORBinitialPort
at the command line.

> 9) Another define -D__rtems__ is created inside
> platforms/i386-rtems-4.0.0  to control conditional compilation within
> initFile.cc.  We must ensure that NO attempt to open a default config
> file is present.

> IMPORT_CPPFLAGS=-D__rtems__

Correct.

Hope the info is useful.

Sai-Lai


-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 223 343000
Cambridge CB2 1QA                     Fax:   +44 223 313542
ENGLAND