[SCM] Samba Shared Repository - branch master updated

Andreas Schneider asn at samba.org
Wed Nov 13 10:30:04 UTC 2019


The branch, master has been updated
       via  86e418f992e build: Refuse to build if ADDITIONAL_LDFLAGS or ADDITIONAL_CFLAGS do not work
       via  dc5db1e8d81 heimdal_build: Recurse to bld.SAMBA_BINARY()
       via  92ce387ed0e build: Remove workaround for missing os.path.relpath in Python < 2.6
       via  dc5788056bc build: Only link against libcrypt where needed
      from  01bb7cff023 ndrdump: check bounds when passed functions/structs by integer

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 86e418f992e1bb1faaa099567e0f80f280d391b6
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Nov 12 17:17:02 2019 +1300

    build: Refuse to build if ADDITIONAL_LDFLAGS or ADDITIONAL_CFLAGS do not work
    
    This avoids these being silently ignored.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: David Mulder <dmulder at suse.com>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    
    Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date(master): Wed Nov 13 10:29:00 UTC 2019 on sn-devel-184

commit dc5db1e8d819f442060015bc93a132cc4b3f7ad9
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Nov 4 14:42:24 2019 +1300

    heimdal_build: Recurse to bld.SAMBA_BINARY()
    
    This reduces a little of the duplication added when it was thought
    that having a distinct waf wrapper on heimdal might allow this to be
    ported upstream.
    
    It will also streamline building a dedicated fuzzing mode in Samba.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: David Mulder <dmulder at suse.com>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 92ce387ed0e02bc3ebc673bcfd7ffbb55c04f57d
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Nov 4 17:07:44 2019 +1300

    build: Remove workaround for missing os.path.relpath in Python < 2.6
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: David Mulder <dmulder at suse.com>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit dc5788056bcbccdc320aeaad4f35f726632a91a4
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Nov 6 15:44:45 2019 +1300

    build: Only link against libcrypt where needed
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: David Mulder <dmulder at suse.com>
    Reviewed-by: Andreas Schneider <asn at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/samba3.py                      |  4 +-
 buildtools/wafsamba/samba_autoconf.py              | 22 ++++++---
 buildtools/wafsamba/samba_autoproto.py             |  4 +-
 buildtools/wafsamba/samba_deps.py                  |  8 ++--
 buildtools/wafsamba/samba_dist.py                  |  4 +-
 buildtools/wafsamba/samba_headers.py               |  8 ++--
 buildtools/wafsamba/samba_utils.py                 | 22 +--------
 buildtools/wafsamba/samba_wildcard.py              |  4 +-
 buildtools/wafsamba/symbols.py                     |  4 +-
 buildtools/wafsamba/wafsamba.py                    |  6 ++-
 buildtools/wafsamba/wscript                        |  3 +-
 ctdb/wscript                                       |  2 +-
 dynconfig/wscript                                  |  4 +-
 lib/replace/wscript                                |  2 +-
 source3/wscript_build                              |  1 +
 .../dsdb/samdb/ldb_modules/wscript_build_server    |  2 +-
 source4/heimdal_build/wscript_build                | 52 +++++-----------------
 testsuite/headers/wscript_build                    |  3 +-
 18 files changed, 61 insertions(+), 94 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba3.py b/buildtools/wafsamba/samba3.py
index 5aab2509b24..818bfc041c5 100644
--- a/buildtools/wafsamba/samba3.py
+++ b/buildtools/wafsamba/samba3.py
@@ -3,7 +3,7 @@
 
 import os
 from waflib import Build
-from samba_utils import os_path_relpath, TO_LIST
+from samba_utils import TO_LIST
 from samba_autoconf import library_flags
 
 def SAMBA3_IS_STATIC_MODULE(bld, module):
@@ -31,7 +31,7 @@ def s3_fix_kwargs(bld, kwargs):
     '''fix the build arguments for s3 build rules to include the
     necessary includes, subdir and cflags options '''
     s3dir = os.path.join(bld.env.srcdir, 'source3')
-    s3reldir = os_path_relpath(s3dir, bld.path.abspath())
+    s3reldir = os.path.relpath(s3dir, bld.path.abspath())
 
     # the extra_includes list is relative to the source3 directory
     extra_includes = [ '.', 'include', 'lib' ]
diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
index 683f0d5316b..1ccee54bb63 100644
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
@@ -487,7 +487,8 @@ def CHECK_STRUCTURE_MEMBER(conf, structname, member,
 
 
 @conf
-def CHECK_CFLAGS(conf, cflags, fragment='int main(void) { return 0; }\n'):
+def CHECK_CFLAGS(conf, cflags, fragment='int main(void) { return 0; }\n',
+                 mandatory=False):
     '''check if the given cflags are accepted by the compiler
     '''
     check_cflags = TO_LIST(cflags)
@@ -495,19 +496,20 @@ def CHECK_CFLAGS(conf, cflags, fragment='int main(void) { return 0; }\n'):
         check_cflags.extend(conf.env['WERROR_CFLAGS'])
     return conf.check(fragment=fragment,
                       execute=0,
-                      mandatory=False,
+                      mandatory=mandatory,
                       type='nolink',
                       cflags=check_cflags,
                       msg="Checking compiler accepts %s" % cflags)
 
 @conf
-def CHECK_LDFLAGS(conf, ldflags):
+def CHECK_LDFLAGS(conf, ldflags,
+                  mandatory=False):
     '''check if the given ldflags are accepted by the linker
     '''
     return conf.check(fragment='int main(void) { return 0; }\n',
                       execute=0,
                       ldflags=ldflags,
-                      mandatory=False,
+                      mandatory=mandatory,
                       msg="Checking linker accepts %s" % ldflags)
 
 
@@ -813,11 +815,19 @@ int main(void) {
     #
     # The CFLAGS and LDFLAGS environment variables are also
     # used for the configure checks which might impact their results.
+    #
+    # If these variables don't pass a smoke test, fail the configure
+
     conf.add_os_flags('ADDITIONAL_CFLAGS')
-    if conf.env.ADDITIONAL_CFLAGS and conf.CHECK_CFLAGS(conf.env['ADDITIONAL_CFLAGS']):
+    if conf.env.ADDITIONAL_CFLAGS:
+        conf.CHECK_CFLAGS(conf.env['ADDITIONAL_CFLAGS'],
+                          mandatory=True)
         conf.env['EXTRA_CFLAGS'].extend(conf.env['ADDITIONAL_CFLAGS'])
+
     conf.add_os_flags('ADDITIONAL_LDFLAGS')
-    if conf.env.ADDITIONAL_LDFLAGS and conf.CHECK_LDFLAGS(conf.env['ADDITIONAL_LDFLAGS']):
+    if conf.env.ADDITIONAL_LDFLAGS:
+        conf.CHECK_LDFLAGS(conf.env['ADDITIONAL_LDFLAGS'],
+                           mandatory=True)
         conf.env['EXTRA_LDFLAGS'].extend(conf.env['ADDITIONAL_LDFLAGS'])
 
     if path is None:
diff --git a/buildtools/wafsamba/samba_autoproto.py b/buildtools/wafsamba/samba_autoproto.py
index ace434f3c6b..87fb8ef25c5 100644
--- a/buildtools/wafsamba/samba_autoproto.py
+++ b/buildtools/wafsamba/samba_autoproto.py
@@ -2,12 +2,12 @@
 
 import os
 from waflib import Build
-from samba_utils import SET_TARGET_TYPE, os_path_relpath
+from samba_utils import SET_TARGET_TYPE
 
 def SAMBA_AUTOPROTO(bld, header, source):
     '''rule for samba prototype generation'''
     bld.SET_BUILD_GROUP('prototypes')
-    relpath = os_path_relpath(bld.path.abspath(), bld.srcnode.abspath())
+    relpath = os.path.relpath(bld.path.abspath(), bld.srcnode.abspath())
     name = os.path.join(relpath, header)
     SET_TARGET_TYPE(bld, name, 'PROTOTYPE')
     t = bld(
diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py
index f400e1833a2..29bebc349c4 100644
--- a/buildtools/wafsamba/samba_deps.py
+++ b/buildtools/wafsamba/samba_deps.py
@@ -8,7 +8,7 @@ from waflib.Configure import conf
 from waflib import ConfigSet
 
 from samba_bundled import BUILTIN_LIBRARY
-from samba_utils import LOCAL_CACHE, TO_LIST, get_tgt_list, unique_list, os_path_relpath
+from samba_utils import LOCAL_CACHE, TO_LIST, get_tgt_list, unique_list
 from samba_autoconf import library_flags
 
 @conf
@@ -172,7 +172,7 @@ def build_includes(self):
 
     mypath = self.path.abspath(bld.env)
     for inc in inc_abs:
-        relpath = os_path_relpath(inc, mypath)
+        relpath = os.path.relpath(inc, mypath)
         includes.append(relpath)
 
     if getattr(self, 'local_include', True) and not getattr(self, 'local_include_first', True):
@@ -188,7 +188,7 @@ def build_includes(self):
             includes_top.append(i)
             continue
         absinc = os.path.join(self.path.abspath(), i)
-        relinc = os_path_relpath(absinc, self.bld.srcnode.abspath())
+        relinc = os.path.relpath(absinc, self.bld.srcnode.abspath())
         includes_top.append('#' + relinc)
 
     self.includes = unique_list(includes_top)
@@ -267,7 +267,7 @@ def check_duplicate_sources(bld, tgt_list):
 
     for t in tgt_list:
         source_list = TO_LIST(getattr(t, 'source', ''))
-        tpath = os.path.normpath(os_path_relpath(t.path.abspath(bld.env), t.env.BUILD_DIRECTORY + '/default'))
+        tpath = os.path.normpath(os.path.relpath(t.path.abspath(bld.env), t.env.BUILD_DIRECTORY + '/default'))
         obj_sources = set()
         for s in source_list:
             if not isinstance(s, str):
diff --git a/buildtools/wafsamba/samba_dist.py b/buildtools/wafsamba/samba_dist.py
index 6af7bb4eaff..c211a94d3db 100644
--- a/buildtools/wafsamba/samba_dist.py
+++ b/buildtools/wafsamba/samba_dist.py
@@ -4,7 +4,7 @@
 import os, sys, tarfile
 from waflib import Utils, Scripting, Logs, Options
 from waflib.Configure import conf
-from samba_utils import os_path_relpath, get_string
+from samba_utils import get_string
 from waflib import Context
 
 dist_dirs = None
@@ -111,7 +111,7 @@ def vcs_dir_contents(path):
     while repo != "/":
         if os.path.isdir(os.path.join(repo, ".git")):
             ls_files_cmd = [ 'git', 'ls-files', '--full-name',
-                             os_path_relpath(path, repo) ]
+                             os.path.relpath(path, repo) ]
             cwd = None
             env = dict(os.environ)
             env["GIT_DIR"] = os.path.join(repo, ".git")
diff --git a/buildtools/wafsamba/samba_headers.py b/buildtools/wafsamba/samba_headers.py
index a268c011c5d..3313960f5f8 100644
--- a/buildtools/wafsamba/samba_headers.py
+++ b/buildtools/wafsamba/samba_headers.py
@@ -2,7 +2,7 @@
 
 import os, re, sys, fnmatch
 from waflib import Build, Logs, Utils, Errors
-from samba_utils import TO_LIST, os_path_relpath
+from samba_utils import TO_LIST
 
 
 def header_install_path(header, header_path):
@@ -42,7 +42,7 @@ def create_public_header(task):
     if os.path.exists(tgt):
         os.unlink(tgt)
 
-    relsrc = os_path_relpath(src, task.env.TOPDIR)
+    relsrc = os.path.relpath(src, task.env.TOPDIR)
 
     infile  = open(src, mode='r')
     outfile = open(tgt, mode='w')
@@ -149,8 +149,8 @@ def PUBLIC_HEADERS(bld, public_headers, header_path=None, public_headers_install
             h_name =  h
             inst_name = os.path.basename(h)
         curdir = bld.path.abspath()
-        relpath1 = os_path_relpath(bld.srcnode.abspath(), curdir)
-        relpath2 = os_path_relpath(curdir, bld.srcnode.abspath())
+        relpath1 = os.path.relpath(bld.srcnode.abspath(), curdir)
+        relpath2 = os.path.relpath(curdir, bld.srcnode.abspath())
         targetdir = os.path.normpath(os.path.join(relpath1, bld.env.build_public_headers, inst_path))
         if not os.path.exists(os.path.join(curdir, targetdir)):
             raise Errors.WafError("missing source directory %s for public header %s" % (targetdir, inst_name))
diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py
index ad97de1859b..4a5a34abae7 100644
--- a/buildtools/wafsamba/samba_utils.py
+++ b/buildtools/wafsamba/samba_utils.py
@@ -205,24 +205,6 @@ def process_depends_on(self):
                   self.includes += " " + y.more_includes
 
 
-os_path_relpath = getattr(os.path, 'relpath', None)
-if os_path_relpath is None:
-    # Python < 2.6 does not have os.path.relpath, provide a replacement
-    # (imported from Python2.6.5~rc2)
-    def os_path_relpath(path, start):
-        """Return a relative version of a path"""
-        start_list = os.path.abspath(start).split("/")
-        path_list = os.path.abspath(path).split("/")
-
-        # Work out how much of the filepath is shared by start and path.
-        i = len(os.path.commonprefix([start_list, path_list]))
-
-        rel_list = ['..'] * (len(start_list)-i) + path_list[i:]
-        if not rel_list:
-            return start
-        return os.path.join(*rel_list)
-
-
 def unique_list(seq):
     '''return a uniquified list in the same order as the existing list'''
     seen = {}
@@ -286,7 +268,7 @@ def recursive_dirlist(dir, relbase, pattern=None):
         else:
             if pattern and not fnmatch.fnmatch(f, pattern):
                 continue
-            ret.append(os_path_relpath(f2, relbase))
+            ret.append(os.path.relpath(f2, relbase))
     return ret
 
 
@@ -476,7 +458,7 @@ def RECURSE(ctx, directory):
         # already done it
         return
     visited_dirs.add(key)
-    relpath = os_path_relpath(abspath, ctx.path.abspath())
+    relpath = os.path.relpath(abspath, ctx.path.abspath())
     if ctxclass in ['tmp', 'OptionsContext', 'ConfigurationContext', 'BuildContext']:
         return ctx.recurse(relpath)
     if 'waflib.extras.compat15' in sys.modules:
diff --git a/buildtools/wafsamba/samba_wildcard.py b/buildtools/wafsamba/samba_wildcard.py
index 6173ce8a9f9..5d85ec0f2ac 100644
--- a/buildtools/wafsamba/samba_wildcard.py
+++ b/buildtools/wafsamba/samba_wildcard.py
@@ -3,7 +3,7 @@
 import os, datetime, fnmatch
 from waflib import Scripting, Utils, Options, Logs, Errors
 from waflib import ConfigSet, Context
-from samba_utils import LOCAL_CACHE, os_path_relpath
+from samba_utils import LOCAL_CACHE
 
 def run_task(t, k):
     '''run a single build task'''
@@ -24,7 +24,7 @@ def run_named_build_task(cmd):
 
     # cope with builds of bin/*/*
     if os.path.islink(cmd):
-        cmd = os_path_relpath(os.readlink(cmd), os.getcwd())
+        cmd = os.path.relpath(os.readlink(cmd), os.getcwd())
 
     if cmd[0:12] == "bin/default/":
         cmd = cmd[12:]
diff --git a/buildtools/wafsamba/symbols.py b/buildtools/wafsamba/symbols.py
index 3eca3d46bd7..d3bf9ac1c6b 100644
--- a/buildtools/wafsamba/symbols.py
+++ b/buildtools/wafsamba/symbols.py
@@ -4,7 +4,7 @@
 import os, re, subprocess
 from waflib import Utils, Build, Options, Logs, Errors
 from waflib.Logs import debug
-from samba_utils import TO_LIST, LOCAL_CACHE, get_tgt_list, os_path_relpath
+from samba_utils import TO_LIST, LOCAL_CACHE, get_tgt_list
 
 # these are the data structures used in symbols.py:
 #
@@ -617,7 +617,7 @@ def symbols_dupcheck(task, fail_on_error=False):
     build_library_dict(bld, tgt_list)
     for t in tgt_list:
         if t.samba_type == 'BINARY':
-            binname = os_path_relpath(t.link_task.outputs[0].abspath(bld.env), os.getcwd())
+            binname = os.path.relpath(t.link_task.outputs[0].abspath(bld.env), os.getcwd())
             symbols_dupcheck_binary(bld, binname, fail_on_error)
 
 
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 205d5b4ac32..7081f382eaa 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -354,6 +354,7 @@ def SAMBA_BINARY(bld, binname, source,
                  local_include=True,
                  global_include=True,
                  subsystem_name=None,
+                 allow_warnings=False,
                  pyembed=False,
                  vars=None,
                  subdir=None,
@@ -382,6 +383,8 @@ def SAMBA_BINARY(bld, binname, source,
 
     if group == 'binaries':
         subsystem_group = 'main'
+    elif group == 'build_compilers':
+        subsystem_group = 'compiler_libraries'
     else:
         subsystem_group = group
 
@@ -410,6 +413,7 @@ def SAMBA_BINARY(bld, binname, source,
                         global_include = global_include,
                         use_hostcc     = use_hostcc,
                         pyext          = pyembed,
+                        allow_warnings = allow_warnings,
                         use_global_deps= use_global_deps)
 
     bld.SET_BUILD_GROUP(group)
@@ -858,7 +862,7 @@ def INSTALL_WILDCARD(bld, destdir, pattern, chmod=MODE_644, flat=False,
     if trim_path:
         files2 = []
         for f in files:
-            files2.append(os_path_relpath(f, trim_path))
+            files2.append(os.path.relpath(f, trim_path))
         files = files2
 
     if exclude:
diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
index 8d0a89a0ee3..b601dd2596d 100644
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
@@ -5,7 +5,6 @@
 import os, sys
 from waflib import Configure, Logs, Options, Utils, Context, Errors
 import wafsamba
-from samba_utils import os_path_relpath
 from samba_utils import symlink
 from optparse import SUPPRESS_HELP
 
@@ -612,7 +611,7 @@ def build(bld):
     # give a more useful message if the source directory has moved
     curdir = bld.path.abspath()
     srcdir = bld.srcnode.abspath()
-    relpath = os_path_relpath(curdir, srcdir)
+    relpath = os.path.relpath(curdir, srcdir)
     if relpath.find('../') != -1:
         Logs.error('bld.path %s is not a child of %s' % (curdir, srcdir))
         raise Errors.WafError('''The top source directory has moved. Please run distclean and reconfigure''')
diff --git a/ctdb/wscript b/ctdb/wscript
index daf3e1e9b2b..dae25e725dc 100644
--- a/ctdb/wscript
+++ b/ctdb/wscript
@@ -769,7 +769,7 @@ def build(bld):
                 continue
             mode = os.lstat(fl).st_mode & MODE_777
             if arg['trim_path']:
-                fl = samba_utils.os_path_relpath(fl, arg['trim_path'])
+                fl = samba_utils.os.path.relpath(fl, arg['trim_path'])
             arg['file_list'].append([fl, mode])
 
     def SUBDIR_MODE(path, trim_path=None):
diff --git a/dynconfig/wscript b/dynconfig/wscript
index 440ecd7f1b4..f455699f062 100644
--- a/dynconfig/wscript
+++ b/dynconfig/wscript
@@ -5,7 +5,7 @@ import os
 import optparse
 import textwrap
 from waflib import Logs, Errors, Options, Build, Context
-from samba_utils import EXPAND_VARIABLES, os_path_relpath
+from samba_utils import EXPAND_VARIABLES
 
 class SambaIndentedHelpFormatter (optparse.IndentedHelpFormatter):
     """Format help with indented section bodies.
@@ -425,7 +425,7 @@ def build(bld):
     bld.SAMBA_SUBSYSTEM('DYNCONFIG',
                         'dynconfig.c',
                         deps='replace',
-                        public_headers=os_path_relpath(os.path.join(Context.launch_dir, version_header), bld.path.abspath()),
+                        public_headers=os.path.relpath(os.path.join(Context.launch_dir, version_header), bld.path.abspath()),
                         header_path='samba',
                         cflags=cflags)
 
diff --git a/lib/replace/wscript b/lib/replace/wscript
index 898c2f16445..a2bc60478ad 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -913,7 +913,7 @@ def build(bld):
                       # at the moment:
                       # hide_symbols=bld.BUILTIN_LIBRARY('replace'),
                       private_library=True,
-                      deps='crypt dl attr' + extra_libs)
+                      deps='dl attr' + extra_libs)
 
     replace_test_cflags = ''
     if bld.CONFIG_SET('HAVE_WNO_FORMAT_TRUNCATION'):
diff --git a/source3/wscript_build b/source3/wscript_build
index fb7c04cce13..54982a92954 100644
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -916,6 +916,7 @@ bld.SAMBA3_SUBSYSTEM('PLAINTEXT_AUTH',
                            auth/pass_check.c
                            ''',
                     deps='''
+                         crypt
                          pam
                          PAM_ERRORS
                          ''')
diff --git a/source4/dsdb/samdb/ldb_modules/wscript_build_server b/source4/dsdb/samdb/ldb_modules/wscript_build_server
index 0cdf73d3a7d..2eec7c4fa7d 100644
--- a/source4/dsdb/samdb/ldb_modules/wscript_build_server
+++ b/source4/dsdb/samdb/ldb_modules/wscript_build_server
@@ -195,7 +195,7 @@ bld.SAMBA_MODULE('ldb_password_hash',
 	init_function='ldb_password_hash_module_init',
 	module_init_name='ldb_init_module',
 	internal_module=False,
-	deps='talloc samdb LIBCLI_AUTH NDR_DRSBLOBS authkrb5 krb5 gpgme DSDB_MODULE_HELPERS'
+	deps='talloc samdb LIBCLI_AUTH NDR_DRSBLOBS authkrb5 krb5 gpgme DSDB_MODULE_HELPERS crypt'
 	)
 
 
diff --git a/source4/heimdal_build/wscript_build b/source4/heimdal_build/wscript_build
index 163b622fca9..c9a974ca0fb 100644
--- a/source4/heimdal_build/wscript_build
+++ b/source4/heimdal_build/wscript_build
@@ -314,47 +314,19 @@ def HEIMDAL_BINARY(binname, source,
                  install_path=None):
     '''define a Samba binary'''
 
-    if not SET_TARGET_TYPE(bld, binname, 'BINARY'):
-        return
-
-    features = 'c cprogram symlink_bin install_bin'
-
-    obj_target = binname + '.objlist'
-
-    if group == 'build_compilers':
-        subsystem_group = 'compiler_libraries'
-    else:
-        subsystem_group = group
-
-    # first create a target for building the object files for this binary
-    # by separating in this way, we avoid recompiling the C files
-    # separately for the install binary and the build binary
-    HEIMDAL_SUBSYSTEM(obj_target,
-                      source         = source,
-                      deps           = deps,
-                      includes       = includes,
-                      cflags         = cflags,
-                      group          = subsystem_group,
-                      use_hostcc     = use_hostcc,
-                      use_global_deps= use_global_deps)
-
-    bld.set_group(group)
-
-    # the binary itself will depend on that object target
-    deps = to_list(deps)
-    deps.append(obj_target)
+    source = heimdal_paths(source)
 
-    t = bld(
-        features       = features,
-        source         = [],
-        target         = binname,
-        samba_deps     = deps,
-        samba_includes = includes,
-        local_include  = True,
-        top            = True,
-        install_path   = None,
-        samba_install  = install
-        )
+    bld.SAMBA_BINARY(binname,
+                     source         = source,
+                     deps           = deps,
+                     includes       = includes,
+                     cflags         = cflags,
+                     group          = group,
+                     use_hostcc     = use_hostcc,
+                     use_global_deps= use_global_deps,
+                     install_path   = None,
+                     install        = install,
+                     allow_warnings = True)
 
 
 if not bld.CONFIG_SET('USING_SYSTEM_ROKEN'):
diff --git a/testsuite/headers/wscript_build b/testsuite/headers/wscript_build
index 477a977e11b..190fe696810 100644
--- a/testsuite/headers/wscript_build
+++ b/testsuite/headers/wscript_build
@@ -1,5 +1,4 @@
 import os
-from samba_utils import os_path_relpath
 
 def build_test_headers(task):
     '''symlink a header in the build tree'''
@@ -13,7 +12,7 @@ def build_test_headers(task):
         f.write('#include "%s"\n' % os.path.normpath(h))
     f.close()
 
-relpath1 = os_path_relpath(bld.srcnode.abspath(), bld.path.abspath())
+relpath1 = os.path.relpath(bld.srcnode.abspath(), bld.path.abspath())
 public_headers = []


-- 
Samba Shared Repository



More information about the samba-cvs mailing list