Porting omniORB2 |
This file provides some pointers to port omniORB2 to a new platform. It should be straightforward to port omniORB2 to any platform which support POSIX style threads, BSD style sockets and has a decent C++ compiler which supports exceptions and templates. The description below assumes the port is to a unix platform but the information provided is valid for any platforms. To start a port, you must create a platform configuration file in ./mk/platforms for the new platform. It is better to copy an existing one and modify to suit the new platform. Next, edit the file ./mk/config.mk to set the platform variable to the new platform. Suppose you have created a new file called x_y_z.mk. You should put a line like this in ./mk/config.mk: platform = x_y_z The makefiles in the distribution only work with GNUmake. Make sure that you have the program installed. The libraries and programs in omniORB2 are configured by a number of CPP macros specified as compiler flags and in several header files. The details are as follows: Platform specific macrosEach platform must be provided with three macros to identify the OS, the CPU and the OS version. For instance, the compiler flags for the supported platforms are:
Porting omnithread libraryThe file ./include/omnithread.h should be edited to include #if conditionals that can uniquely identify the new platform and to include the appropriate implementation-specific header file. There are different POSIX threads implementations that conform to different draft versions. The following compiler flags should be used to identify the exact versions:
Porting omniORB2 libraryThe file ./include/omniORB2/CORBA_sysdep.h contains #if conditionals that define the size of primitive data types, CPU endian and other platform specific information. You should add to this file the information about the new platform. Good Luck. |
||||||||
For comments, feedback, etc, please see the 'Keeping in touch' page. |