[PATCH] Shared samba build

Jelmer Vernooij jelmer at vernstok.nl
Wed Oct 26 12:17:08 GMT 2005

Hash: SHA1

Hi Peter,

Peter Novodvorsky wrote:

> I've prepared a patch that allows different types of building
> samba.

Thanks for your patch. I had heard from Alexander you were working on
something, just hadn't seen what exactly.

> The idea is to incorporate different subsystems in libraries and
> build them as static or as shared. By default it will build
> everything static (as usual), however if you change inclusion of
> static_build.mk to shared_build.mk in main.mk it will build
> libsmb.so and libtorture.so and all binaries will be linked againt
> them.
> Currently you can do shared build only on GCC/GNU binutils systems
> because it uses -( and -) flags to resolve dependencies between
> libraries.

Rather then linking everything into one big library, I think we should
clearly keep all subsystems seperate. Otherwise, we might end up with
the dependency hell we had (have?) in Samba3, with libbigballofmud and
the like. When installing libraries from Samba, these IMHO should be
seperate as well, for example, we could have:

- - libsmbclient (basically libcli)
- - libmsrpc
- - libtalloc
- - libldb
- - libtdb
- - libnet
- - libcom
- - libsocket_wrapper
- - libregistry

I'm currently trying to, in SVN:

- - Default all subsystems to being a 'MERGED_OBJ' / prelinked object.
If the OS supports it, we can do other stuff.
- - Make a distinction between subsystems that are a part of another
subsystem (NDR_RAW, etc).
- - All libs that are not part of another subsystem (those that have
MAJOR_VERSION and MINOR_VERSION set) will become shared libs if the OS
supports it. They'll be installed with Samba as well as their
specified headers.

Perhaps we can coordinate our efforts to improve the build system a bit?


Version: GnuPG v1.4.2 (GNU/Linux)


More information about the samba-technical mailing list