build: duplicate symbols between system libraries aren't interesting
[samba.git] / buildtools / wafsamba / symbols.py
index 4f4b30382b3a376748b2e7e9faad3c8aeb0e460e..0408d61b297eb8b5484edc07a1372201ed810ac0 100644 (file)
@@ -449,11 +449,21 @@ def symbols_dupcheck(task):
     bld = task.env.bld
     tgt_list = get_tgt_list(bld)
 
+    targets = LOCAL_CACHE(bld, 'TARGET_TYPE')
+
     Logs.info("Checking for duplicate symbols")
     for sym in bld.env.symbol_map:
         subsystems = bld.env.symbol_map[sym]
         if len(subsystems) == 1:
             continue
+        # if all of them are in system libraries, we can ignore them. This copes
+        # with the duplication between libc, libpthread and libattr
+        all_syslib = True
+        for s in subsystems:
+            if s != 'c' and (not s in targets or targets[s] != 'SYSLIB'):
+                all_syslib = False
+        if all_syslib:
+            continue
         Logs.info("symbol %s appears in %s" % (sym, subsystems))