diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-04-15 14:43:43 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-04-15 14:43:50 +1000 |
commit | 0bda3bae4cd68285e106261ffe79a1da1f778861 (patch) | |
tree | ed9498f246e21f9d8ac62e2f8efe58fa44572265 /buildtools | |
parent | daf4ad59057d9a7970393d94a4f1c3dfd1e77d21 (diff) | |
download | samba-0bda3bae4cd68285e106261ffe79a1da1f778861.tar.gz samba-0bda3bae4cd68285e106261ffe79a1da1f778861.tar.bz2 samba-0bda3bae4cd68285e106261ffe79a1da1f778861.zip |
build: throw a fatal error for duplicate target declarations
We don't want someone to declare two subsystems of the same name but
with different source files
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'buildtools')
-rw-r--r-- | buildtools/wafsamba/samba_autoproto.py | 5 | ||||
-rw-r--r-- | buildtools/wafsamba/samba_utils.py | 8 | ||||
-rw-r--r-- | buildtools/wafsamba/wafsamba.py | 10 |
3 files changed, 8 insertions, 15 deletions
diff --git a/buildtools/wafsamba/samba_autoproto.py b/buildtools/wafsamba/samba_autoproto.py index 2a903d9f1f..edabc7e44c 100644 --- a/buildtools/wafsamba/samba_autoproto.py +++ b/buildtools/wafsamba/samba_autoproto.py @@ -29,8 +29,11 @@ Build.BuildContext.HEIMDAL_AUTOPROTO_PRIVATE = HEIMDAL_AUTOPROTO_PRIVATE 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, diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index bf051afa3b..94975c6519 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -16,10 +16,10 @@ def SET_TARGET_TYPE(ctx, target, value): '''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 diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index dd9cbd604c..633484bd68 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -187,12 +187,6 @@ def SAMBA_LIBRARY(bld, libname, source, 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) @@ -278,10 +272,6 @@ def SAMBA_BINARY(bld, binname, source, 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 |