[omniORB] omniORB build enviroment

Duncan Grisby dgrisby@uk.research.att.com
Thu, 05 Jul 2001 18:05:43 +0100


I've been thinking about how best to re-work the build environment for
omniORB 4, and I thought I would get some input about what people
would like, and any suggestions about how to do it.

The current scheme of manually editing a couple of files is
inconvenient, and can be quite complex if you have things installed in
different locations to what the defaults expect. This situation is
going to get worse as optional things like SSL support come along. We
really need a "configure" stage. We also don't currently have an
"install" rule, which I know that many people want.

So, there are a few options I can think of:

 1. Autoconf

    This would fit with Unix (especially Linux) users' expectations of
    being able to do a simple "configure; make; make install" and
    have everything work. However, autoconf assumes a Unix-like
    environment, so it leaves problems for other platforms. Also, I've
    read the autoconf documentation and I don't understand it in the
    slightest...

 2. A configure stage to the existing build system

    We could have a Python script which automatically wrote the
    configuration files required by the current build environment.
    This would be relatively simple, but the current build is getting
    pretty complex, so it might not be that easy in the long term.

 3. A Python script which builds everything

    The most radical approach is to write a complete new build system
    in Python, replacing make as well as the configuration stage. The
    Software Carpentry competition (software-carpentry.codesourcery.com)
    aimed to create new tools to do this, but it doesn't look like
    there's anything particularly useful to be had from there. This
    would be a lot of work, but it might result in a tool which is
    useful beyond omniORB. It would also make life easier for Windows
    users, since the gnuwin32 tools wouldn't be necessary anymore.

 4. Something else


Does anyone have any comments on any of these?  Even better, if
someone wants to implement something, that would be great.

Whatever happens, we'll keep the existing build environment in
parallel with a new system, at least until we're certain that the new
system works.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --