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