Samba 4 build system - more thoughts on scons

Jelmer Vernooij jelmer at samba.org
Sun Sep 18 11:44:22 GMT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

James Peach wrote:

> On Sat, 2005-09-17 at 21:00 +0200, Jelmer Vernooij wrote:
>
>> Several alternatives are available - most of which integrate the
>> configure and build stages. However, we have a large number of
>> requirements for our build system:
>>
>> - - distinction between different targets of compilers (build /
>> host) - - ability to build certain subsystems stand-alone - -
>> generate pkg-config files for libs - - it must support custom
>> file types that can be compiled (IDL, asn1, heimdal et, SWIG,
>> etc) - - must run on exotic UNIX systems (AIX, IRIX, CrayOS, etc)
>> - - no external dependencies (e.g. not requiring the
>> installation of python) in order to build. We consider cc, make
>> and perl valid requirements for building. - - optional init
>> function per subsystem that must automatically on binary startup
>> - - support for automatic header dependencies (header changes,
>> all files that use it get recompiled too)
>>
>> These are pretty heavy requirements. Probably one of the only
>> applications that I could fine that provides all these
>> requirements is <a href="http://www.scons.org/">scons</a>. It is
>> small enough to include in the source tree, but unfortunately
>> depends on python.
>>
>> We discussed scons earlier and then didn't look at it further
>> because it was in python, but I'm a bit more convinced we need
>> something like scons rather then the complicated setup we have
>> now.
>
>
> I would generally support using something like scons on the basis
> that is it a system that is maintained and documented by some one
> else. I don't have any problem with requiring python provided there
> is a commitment to support the relatively old versions on python
> running on the more exotic platforms.

The dependency on python was a problem for some proprietary systems,
mostly as it is not as widely spread as perl. I'm not sure which ones
(AIX perhaps?) as I'm not into commercial unixes. Tim Potter did a
check on the buildfarm once, I think, and found that there were quite
some that did not have python.

>> One of the ways of solving this could be writing a python script
>> that generates a configure script and Makefile.in that can then
>> be used on hosts that do not have python installed. This would be
>> a bit similar to the 'autogen.sh' script we have currently. I'm
>> not sure how feasible writing such a script is yet, but I'll be
>> looking at writing one during the next few days.
>
>
> I don't think there is any value in developing a samba-specific
> build system. Frankly, I think we would all rather be working on
> Samba than on the build system. I would support requiring scons or
> GNU Make, but I don't see the point in simply rewriting what we
> have today in python (is that what you are suggesting here?).

No, we'd just be using scons, but there would be the 'fallback' a
script that can generate a configure script and Makefile.in using the
existing scons build files. This would only be there for people that
don't need to change to config but just pull down the tarball and run
./configure && make.

Cheers,

Jelmer
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDLVMVPa9Uoh7vUnYRAi7MAJ9gO0kCNZWqIrYrnVAxFwXSuKTC+ACgkdC5
qQG/h6xU++66rbZoUgVaaM8=
=jrqb
-----END PGP SIGNATURE-----



More information about the samba-technical mailing list