mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
wafsamba: generate an empty.c file if a SAMBA_{LIBRARY,SUBSYSTEM} doesn't have any source files
This is better than passing '-' as filename to the compiler/linker.
This replaces commit 65743f932b
.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=9334
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10315
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
This commit is contained in:
parent
a6bda1f2bc
commit
d7bd51a79d
@ -94,6 +94,11 @@ def ADD_INIT_FUNCTION(bld, subsystem, target, init_function):
|
||||
Build.BuildContext.ADD_INIT_FUNCTION = ADD_INIT_FUNCTION
|
||||
|
||||
|
||||
def generate_empty_file(task):
|
||||
target_fname = installed_location=task.outputs[0].bldpath(task.env)
|
||||
target_file = open(installed_location, 'w')
|
||||
target_file.close()
|
||||
return 0
|
||||
|
||||
#################################################################
|
||||
def SAMBA_LIBRARY(bld, libname, source,
|
||||
@ -149,9 +154,15 @@ def SAMBA_LIBRARY(bld, libname, source,
|
||||
source = bld.SUBDIR(subdir, source)
|
||||
|
||||
# remember empty libraries, so we can strip the dependencies
|
||||
if ((source == '') or (source == [])) and deps == '' and public_deps == '':
|
||||
SET_TARGET_TYPE(bld, libname, 'EMPTY')
|
||||
return
|
||||
if ((source == '') or (source == [])):
|
||||
if deps == '' and public_deps == '':
|
||||
SET_TARGET_TYPE(bld, libname, 'EMPTY')
|
||||
return
|
||||
empty_c = libname + '.empty.c'
|
||||
bld.SAMBA_GENERATOR('%s_empty_c' % libname,
|
||||
rule=generate_empty_file,
|
||||
target=empty_c)
|
||||
source=empty_c
|
||||
|
||||
if BUILTIN_LIBRARY(bld, libname):
|
||||
obj_target = libname
|
||||
@ -537,9 +548,15 @@ def SAMBA_SUBSYSTEM(bld, modname, source,
|
||||
return
|
||||
|
||||
# remember empty subsystems, so we can strip the dependencies
|
||||
if ((source == '') or (source == [])) and deps == '' and public_deps == '':
|
||||
SET_TARGET_TYPE(bld, modname, 'EMPTY')
|
||||
return
|
||||
if ((source == '') or (source == [])):
|
||||
if deps == '' and public_deps == '':
|
||||
SET_TARGET_TYPE(bld, modname, 'EMPTY')
|
||||
return
|
||||
empty_c = modname + '.empty.c'
|
||||
bld.SAMBA_GENERATOR('%s_empty_c' % modname,
|
||||
rule=generate_empty_file,
|
||||
target=empty_c)
|
||||
source=empty_c
|
||||
|
||||
if not SET_TARGET_TYPE(bld, modname, 'SUBSYSTEM'):
|
||||
return
|
||||
|
Loading…
Reference in New Issue
Block a user