From 9bcd0daba2cdd2acd6fc0e3de44f5138f2f3303f Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 20 Jun 2010 11:49:08 +0200 Subject: ldb: Change LDBSAMBA back to subsystem, update comments, use different ABI file based on whether ldb_ildap is included. --- source4/lib/ldb-samba/wscript_build | 14 +++++++++----- source4/lib/ldb/wscript | 9 +++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/source4/lib/ldb-samba/wscript_build b/source4/lib/ldb-samba/wscript_build index 717a8465a7..970f495eca 100644 --- a/source4/lib/ldb-samba/wscript_build +++ b/source4/lib/ldb-samba/wscript_build @@ -1,11 +1,15 @@ #!/usr/bin/env python +# LDBSAMBA gets included in the ldb build when we are building ldb_ildap +# as a built-in module and this delutes the symbols in the ldb library with +# the symbols of all of ldb_ildap's dependencies. -# It is important that this is a library! -# Otherwise samba specific symbols end up in -# 'ldb' and we fail the ABI check, when not using -# a system 'ldb'. -bld.SAMBA_LIBRARY('LDBSAMBA', +# However, LDBSAMBA has to be a subsystem, otherwise we end up with an unusable +# build when building against the system ldb. + +# When adding/modifying public symbols in LDBSAMBA, please make sure that +# lib/ldb/ABI/ldb-samba-X.sigs gets updated. +bld.SAMBA_SUBSYSTEM('LDBSAMBA', source='ldif_handlers.c ldb_wrap.c', autoproto='ldif_handlers_proto.h', public_deps='ldb', diff --git a/source4/lib/ldb/wscript b/source4/lib/ldb/wscript index 6f6c9a1f9e..df2245f674 100644 --- a/source4/lib/ldb/wscript +++ b/source4/lib/ldb/wscript @@ -74,13 +74,15 @@ def build(bld): ldb_attributes.c attrib_handlers.c ldb_controls.c qsort.c''') if s4_build: + builtin_ildap = not bld.CONFIG_SET('USING_SYSTEM_LDB') # this is only in the s4 build bld.SAMBA_MODULE('ldb_ildap', 'ldb_ildap/ldb_ildap.c', init_function='LDB_BACKEND(ldapi),LDB_BACKEND(ldaps),LDB_BACKEND(ldap)', deps='talloc LIBCLI_LDAP CREDENTIALS', - internal_module=not bld.CONFIG_SET('USING_SYSTEM_LDB'), + internal_module=builtin_ildap, subsystem='ldb') else: + builtin_ildap = False # this is not included in the s4 build bld.SAMBA_MODULE('ldb_ldap', 'ldb_ldap/ldb_ldap.c', init_function='LDB_BACKEND(ldapi),LDB_BACKEND(ldaps),LDB_BACKEND(ldap)', @@ -96,7 +98,10 @@ def build(bld): bld.env.PACKAGE_VERSION = VERSION bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' - abi_file = 'ABI/ldb-%s.sigs' % VERSION + if builtin_ildap: + abi_file = 'ABI/ldb-ildap-%s.sigs' % VERSION + else: + abi_file = 'ABI/ldb-%s.sigs' % VERSION bld.SAMBA_SUBSYSTEM('pyldb_util', deps='ldb', source='pyldb_util.c', needs_python=True) -- cgit