def SAMBA_AUTOPROTO(bld, header, source):
'''rule for samba prototype generation'''
bld.SET_BUILD_GROUP('prototypes')
- SET_TARGET_TYPE(bld, header, 'PROTOTYPE')
+ relpath = os_path_relpath(bld.curdir, bld.srcnode.abspath())
+ name = os.path.join(relpath, header)
+ SET_TARGET_TYPE(bld, name, 'PROTOTYPE')
t = bld(
+ name = name,
source = source,
target = header,
on_results=True,
'''set the target type of a target'''
cache = LOCAL_CACHE(ctx, 'TARGET_TYPE')
if target in cache and cache[target] != 'EMPTY':
- ASSERT(ctx, cache[target] == value,
- "Target '%s' re-defined as %s - was %s" % (target, value, cache[target]))
- debug("task_gen: Skipping duplicate target %s (curdir=%s)" % (target, ctx.curdir))
- return False
+ Logs.error("ERROR: Target '%s' in directory %s re-defined as %s - was %s" % (target,
+ ctx.curdir,
+ value, cache[target]))
+ sys.exit(1)
LOCAL_CACHE_SET(ctx, 'TARGET_TYPE', target, value)
debug("task_gen: Target '%s' created of type '%s' in %s" % (target, value, ctx.curdir))
return True
if link_name:
t.link_name = link_name
- if autoproto is not None:
- bld.SAMBA_AUTOPROTO(autoproto, source)
-
- if public_headers is not None:
- bld.PUBLIC_HEADERS(public_headers, header_path=header_path)
-
if pc_files is not None:
bld.PKG_CONFIG_FILES(pc_files, vnum=vnum)
if subsystem_name is not None:
bld.TARGET_ALIAS(subsystem_name, binname)
- if autoproto is not None:
- bld.SAMBA_AUTOPROTO(autoproto, source)
- if public_headers is not None:
- bld.PUBLIC_HEADERS(public_headers, header_path=header_path)
Build.BuildContext.SAMBA_BINARY = SAMBA_BINARY