[PATCH] Shared samba build
Peter Novodvorsky
nidd at myxomop.com
Wed Oct 26 12:34:38 GMT 2005
Hi, Jelmer!
Firstly, thanks for your reply.
>>>>> On Wed, 26 Oct 2005 14:17:08 +0200
>>>>> "JV" == Jelmer Vernooij <jelmer at vernstok.nl> wrote:
>>
>> Currently you can do shared build only on GCC/GNU binutils systems
>> because it uses -( and -) flags to resolve dependencies between
>> libraries.
JV> Rather then linking everything into one big library, I think we
JV> should clearly keep all subsystems seperate. Otherwise, we might
JV> end up with the dependency hell we had (have?) in Samba3, with
JV> libbigballofmud and the like.
I suspect that we already have dependency hell in Samba4, and my
find_depends command that is attached below will show you this.
JV> When installing libraries from
JV> Samba, these IMHO should be seperate as well, for example, we
JV> could have:
JV>
JV> - libsmbclient (basically libcli)
JV> - libmsrpc
JV> - libtalloc
JV> - libldb
JV> - libtdb
JV> - libnet
JV> - libcom
JV> - libsocket_wrapper
JV> - libregistry ...
That's what I was thinkning about when I was making this patch. And
this patch is good platform for this. However separating everything so
we don't have circullar dependencies is a huge janitor job that
requires writing a policy for a whole project.
The initial separation (libtorture and libsmb) was done that way
because that libsmb and torture are easily separated.
JV> I'm currently trying to, in SVN:
JV>
JV> - Default all subsystems to being a 'MERGED_OBJ' / prelinked
JV> object. If the OS supports it, we can do other stuff.
Yup, I've noticed that.
JV> - Make a distinction between subsystems that are a part of another
JV> subsystem (NDR_RAW, etc).
JV> - All libs that are not part of another subsystem (those that have
JV> MAJOR_VERSION and MINOR_VERSION set) will become shared libs if
JV> the OS supports it. They'll be installed with Samba as well as
JV> their specified headers.
I prefer that builder should have a choice in almost everything
including build types. If he wants shared we give him shared, if he
wants static, we give static, because there can be a lot of
applicances for samba where different builds are needed.
--
hej do,
peter.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: find_depends
Type: text/x-sh
Size: 796 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20051026/7b7cef53/find_depends.bin
More information about the samba-technical
mailing list