omniORBpy 2.x  (August 2002)
=============

This is omniORBpy 2, a robust high-performance CORBA ORB for Python.

The bindings adhere to the standard IDL to Python mapping which you
may find at

  http://www.omg.org/technology/documents/formal/python_language_mapping.htm


omniORBpy makes use of the C++ omniORB library. omniORBpy version 2
can only be used with omniORB 4.0.x.

omniORBpy is currently available for many Unix platforms and Windows.
It has been ported to a number of other operating systems by outside
contributors.

It is a good idea to subscribe to the omniORB mailing list. See

    http://omniorb.sourceforge.net/list.html


Please report any bugs you find to the mailing list.


Building
--------

If you are using a Unix platform, the Autoconf configure script will
probably work for you. Simply create a directory for the build and run
the configure script, followed by make:

  $ cd [omniORBpy directory]
  $ mkdir build
  $ cd build
  $ ../configure [configure options]
  $ make
  $ make install

Run configure --help to get a list of configuration options. Most
options are standard Autoconf ones. The most commonly required is
--prefix, used to select the install location. The default is
/usr/local. To change it, use, for example

  ../configure --prefix=/home/fred/omni_inst

If you use a different prefix to the omniORB install, you must give
the location to omniORB with the --with-omniorb= option.

The configure script tries to figure out the location of the C and C++
compilers and Python. It will always choose gcc over the platform's
native compiler if it is available. To change the choices it makes,
use variables CC, CXX and PYTHON, e.g.:

  ../configure CXX=/usr/bin/platform_c++ PYTHON=/usr/local/bin/python2.2


If you do not have Autoconf support on your platform, you must install
the omniORBpy source in the $TOP/src/lib directory of a working
omniORB 4.0 tree. Then, in the $TOP/src/lib/omniORBpy directory,
simply do a gnumake export.


Using omniORBpy
---------------

To use omniORBpy, simply add two paths to your PYTHONPATH environment
variable, like:

  export PYTHONPATH=$PYTHONPATH:$TOP/lib/python:$TOP/lib/$FARCH

where $TOP is the root of your omniORB tree and $FARCH is the platform
name you selected in config.mk.

You should also have $TOP/bin/$FARCH in your PATH, so you can run the
IDL compiler, omniidl.

omniORBpy requires Python version 1.5.2 or later. The Python
interpreter must be compiled with thread support.

Full documentation, in a variety of formats, can be found in the doc
directory.


Missing features
----------------

The following features are currently missing from omniORBpy.


1. There is no support for DII and DSI. Since you can write IDL and
   Python code on-the-fly, this is not a significant limitation.

2. Objects by value are not supported.
