[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 --