PROPOSAL: Use Cmake as the build system for Samba

Jelmer Vernooij jelmer at samba.org
Thu Feb 18 08:40:28 MST 2010


On Thu, 2010-02-18 at 10:09 -0500, simo wrote:
> On Thu, 2010-02-18 at 15:49 +0100, Jelmer Vernooij wrote:
> > Hi Simo,
> > 
> > On Thu, 2010-02-18 at 08:39 -0500, simo wrote:
> > > On Thu, 2010-02-18 at 17:44 +1100, tridge at samba.org wrote:
> > > > I had an interesting discussion with Brad Hards today, who has some
> > > > experience with the conversion of KDE to cmake.
> > > > 
> > > > Brad's overall impression of cmake is very positive. It has worked
> > > > very well for KDE.
> > > > 
> > > > The interesting thing is that the problem I raised with cmake versions
> > > > and fixes has happened with KDE, but for KDE it isn't a major
> > > > problem. For Samba I think it might be a much bigger problem.
> > > > 
> > > > Every now and again KDE switches version of cmake. Everyone who
> > > > develops KDE then needs to build and install the new version of
> > > > cmake. For KDE, that means just the developers, as end-users building
> > > > their own version of KDE is extremely unusual (unless its via a system
> > > > like the one in Gentoo). It is also basically unheard of for someone
> > > > to try and build the current version of KDE for something like RHEL3.
> > > > 
> > > > For Samba it's quite different. It isn't just the Samba developers who
> > > > build and install Samba, it's also anyone who wants Samba on their
> > > > system and their OS doesn't have the latest version. That means many
> > > > of our end users will have to build and install the right version of
> > > > cmake, and when we switch versions then they will also have to
> > > > switch. It gets even harder when people have ancient Linux or Unix
> > > > versions. Yes, cmake may build on Irix, but does it build on all the
> > > > older versions of Irix? What about old versions of RHEL or SLES?
> > > 
> > > Well for sure anything based on a modern version of python will never
> > > let you build Samba on old versions of RHEL.
> > > 
> > > RHEL3 has python 2.2
> > > RHEL4 has python 2.3
> > > 
> > > Certainly rebuilding the whole of python is never going to fly. And at
> > > the same time I am certain we are not going to have the time or
> > > resources to keep something python-based to build on anything older than
> > > a few years. And I am not even considering modules ...
> > Why is building python from source "not going to fly" ? It's just a
> > matter of: 
> > 
> > wget http://python.org/ftp/python/2.6.4/Python-2.6.4.tar.bz2
> > cd Python-2.6.4
> > ./configure && make && make install
> > 
> > There are no prerequisites other than libc.
> Maybe "not going to fly" is a bit harsh, the point is that it is no
> difference from the point of view of old/new version of stuff.
Ok.

> If there is a perceived issue with "versions" of CMake, exactly the same
> would hold true with anything python based or autoconf based etc..
This is true for the various other build systems. For autoconf the
configure scripts are included in the tarball, all the user needs is a
version of make and a shell interpreter. That's an advantage autoconf
has over the other build systems that I've looked at (and probably the
*only* advantage ;-)).

Personally I don't really care about anything older than the last
support/enterprise releases of the Linux distro's and the BSDs; if the
CMake we use is available by default there I'm happy. I have no idea how
widely available C++ compilers are on the commercial UNIXes, perhaps the
people that care about these platforms can speak up?

Cheers,

Jelmer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20100218/63286654/attachment.pgp>


More information about the samba-technical mailing list