r11377: Add support for building LIBRARY elements as shared libraries:
authorJelmer Vernooij <jelmer@samba.org>
Fri, 28 Oct 2005 18:26:26 +0000 (18:26 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:45:28 +0000 (13:45 -0500)
commit93fd08168fdc881fdef099991bd7a22448841dc4
tree4e70a8b329f194c401fb5f412c0e478f15744fc3
parent17f8b87cb0731d716ac717b7796f50c252904b36
r11377: Add support for building LIBRARY elements as shared libraries:
 - Adds -rpath bin/ so you don't have to install Samba in order to use compiled binaries.
 - Writes out pkg-config files when building shared libs
 - Supports automatic fallback to MERGEDOBJ (which is the default) or
   OBJ_LIST (if ld -r is not supported)

Building with shared libs reduces the size of the Samba binaries from
197 Mb to 60 Mb (including libraries) on my system (GCC4, with debugging).

To build with shared libraries support enabled, run:

LIBRARY_OUTPUT_TYPE=SHARED_LIBRARY ./config.status

init functions don't get called correctly yet when using shared libs, so
you won't be able to actually run anything with success :-)

Once init functions are done, I'll look at support for loading shared
modules once again.

Based on a patch by Peter Novodvorsky (nidd on IRC).
(This used to be commit 0b54405685674a2b19a28d77aae5b1136b5a4728)
20 files changed:
source4/auth/config.mk
source4/auth/gensec/config.mk
source4/build/smb_build/config_mk.pm
source4/build/smb_build/env.pm
source4/build/smb_build/input.pm
source4/build/smb_build/main.pl
source4/build/smb_build/makefile.pm
source4/build/smb_build/output.pm
source4/gtk/common/gtk-smb.h
source4/gtk/config.mk
source4/heimdal_build/config.mk
source4/lib/basic.mk
source4/lib/samba3/config.mk
source4/lib/socket_wrapper/config.mk
source4/lib/talloc/config.mk
source4/libcli/config.mk
source4/libnet/config.mk
source4/librpc/config.mk
source4/main.mk
source4/nsswitch/config.mk