1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-25 17:57:42 +03:00

build: cope with subsystems with no enabled modules

This happens for the notify subsystem on non-Linux systems
This commit is contained in:
Andrew Tridgell 2010-03-20 22:55:04 +11:00
parent 88db935f56
commit 584986e392
2 changed files with 13 additions and 11 deletions

View File

@ -197,14 +197,20 @@ def add_init_functions(self):
sentinal = getattr(self, 'init_function_sentinal', 'NULL')
targets = LOCAL_CACHE(bld, 'TARGET_TYPE')
cflags = getattr(self, 'samba_cflags', [])[:]
for m in modules:
bld.ASSERT(m in subsystems,
"No init_function defined for module '%s' in target '%s'" % (m, self.sname))
init_fn_list = []
for d in subsystems[m]:
init_fn_list.append(d['INIT_FUNCTION'])
cflags.append('-DSTATIC_%s_MODULES=%s' % (m, ','.join(init_fn_list) + ',' + sentinal))
if targets[d['TARGET']] != 'DISABLED':
init_fn_list.append(d['INIT_FUNCTION'])
if init_fn_list == []:
cflags.append('-DSTATIC_%s_MODULES=%s' % (m, sentinal))
else:
cflags.append('-DSTATIC_%s_MODULES=%s' % (m, ','.join(init_fn_list) + ',' + sentinal))
self.ccflags = cflags

View File

@ -278,6 +278,11 @@ def SAMBA_MODULE(bld, modname, source,
local_include=True,
enabled=True):
# we add the init function regardless of whether the module
# is enabled or not, as we need to generate a null list if
# all disabled
bld.ADD_INIT_FUNCTION(subsystem, modname, init_function)
if internal_module:
# treat internal modules as subsystems for now
SAMBA_SUBSYSTEM(bld, modname, source,
@ -288,12 +293,6 @@ def SAMBA_MODULE(bld, modname, source,
cflags=cflags,
local_include=local_include,
enabled=enabled)
# even though we're treating it as a subsystem, we need to
# add it to the init_function list
# TODO: we should also create an implicit dependency
# between the subsystem target and this target
if enabled:
bld.ADD_INIT_FUNCTION(subsystem, modname, init_function)
return
if not enabled:
@ -308,9 +307,6 @@ def SAMBA_MODULE(bld, modname, source,
if not SET_TARGET_TYPE(bld, modname, 'MODULE'):
return
bld.ADD_INIT_FUNCTION(subsystem, modname, init_function)
if subsystem is not None:
deps += ' ' + subsystem