[omniORB] configuring omniORB4 to cross-compile

Duncan Grisby duncan@grisby.org
Mon Mar 3 15:13:02 2003


On Thursday 27 February, John Van Horne wrote:

>   I'm trying to build omniORB-4.0.0 on RedHat 8.0/i686 for a 
> cross-compile environment. I'll be building my application on my 
> RH80/i686 machine, but the target is s390-ibm-linux. So I need to have 
> build tools, like omniidl, to run on i686 but run-time things, like 
> libomniORB4.so, libomnithread.so, etc., to be cross-compiled for s390.
> I tried using the configure script, with --build=i686-pc-linux-gnu and 
> --host=s390-ibm-linux. When I do this, the problem is it doesn't seem to 
> distinguish between what objects need to be native compiled and which 
> need to be cross compiled.  For instance, it cross-compiles omkdepend, 
> so it can't run it later when building the libraries.

The autoconf setup does not currently cope with cross compilation. I
would welcome patches that enable it...

> I tried the manual configuration with platform files, configuring first 
> for native i686 and building the src/tool directory, then I reconfigure 
> for s390 and build src/lib, src/appl and src/services. This seems to be 
> working, though I still have some testing to do.
> My question is, am I going about this the right way?

The old-style build environment can be used to cross compile. The
thing to do is to do a complete build on your build platform, then use
a platform file for the host platform that sets the EmbeddedPlatform
make variable. The whole build system is a bit of a mess,
unfortunately, so it's not totally trivial to do these things.

In the case of S/390 Linux, the whole omniORB build works fine there.
If you are able to build on S/390, that would make your life much
easier.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan@grisby.org     --
   -- http://www.grisby.org --