buildtools: fix mutable default arguments
authorRob van der Linde <rob@catalyst.net.nz>
Thu, 23 Feb 2023 02:52:21 +0000 (15:52 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 23 Feb 2023 22:32:33 +0000 (22:32 +0000)
Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Joseph Sutton <josephsutton@catalyst.net.nz>
buildtools/wafsamba/samba_autoconf.py
buildtools/wafsamba/samba_bundled.py
buildtools/wafsamba/wafsamba.py

index b047fe421b4ea7a7e09c4e95c40d7c273ba716e2..f429ad2d487249d541766bf5fd4f40ed6d056259 100644 (file)
@@ -892,10 +892,12 @@ def CONFIG_PATH(conf, name, default):
             conf.env[name] = conf.env['PREFIX'] + default
 
 @conf
-def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False, prereq_flags=[]):
+def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False, prereq_flags=None):
     '''add some CFLAGS to the command line
        optionally set testflags to ensure all the flags work
     '''
+    if prereq_flags is None:
+        prereq_flags = []
     prereq_flags = TO_LIST(prereq_flags)
     if testflags:
         ok_flags=[]
@@ -908,10 +910,12 @@ def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False, prereq_flags=[]):
     conf.env[name].extend(TO_LIST(flags))
 
 @conf
-def ADD_CFLAGS(conf, flags, testflags=False, prereq_flags=[]):
+def ADD_CFLAGS(conf, flags, testflags=False, prereq_flags=None):
     '''add some CFLAGS to the command line
        optionally set testflags to ensure all the flags work
     '''
+    if prereq_flags is None:
+        prereq_flags = []
     ADD_NAMED_CFLAGS(conf, 'EXTRA_CFLAGS', flags, testflags=testflags,
                      prereq_flags=prereq_flags)
 
index 7d2d855cd9c77e3c1d9b27bd3880395a249d2a8b..c7b7246e0d6a9a8c85e44428ff62296c05006ebf 100644 (file)
@@ -104,12 +104,14 @@ def LIB_MUST_BE_PRIVATE(conf, libname):
 
 @conf
 def CHECK_BUNDLED_SYSTEM_PKG(conf, libname, minversion='0.0.0',
-        maxversion=None, version_blacklist=[],
+        maxversion=None, version_blacklist=None,
         onlyif=None, implied_deps=None, pkg=None):
     '''check if a library is available as a system library.
 
     This only tries using pkg-config
     '''
+    if version_blacklist is None:
+        version_blacklist = []
     return conf.CHECK_BUNDLED_SYSTEM(libname,
                                      minversion=minversion,
                                      maxversion=maxversion,
@@ -120,7 +122,7 @@ def CHECK_BUNDLED_SYSTEM_PKG(conf, libname, minversion='0.0.0',
 
 @conf
 def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0',
-                         maxversion=None, version_blacklist=[],
+                         maxversion=None, version_blacklist=None,
                          checkfunctions=None, headers=None, checkcode=None,
                          onlyif=None, implied_deps=None,
                          require_headers=True, pkg=None, set_target=True):
@@ -129,6 +131,8 @@ def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0',
     tries by testing for a specified function in the specified lib
     '''
     # We always do a logic validation of 'onlyif' first
+    if version_blacklist is None:
+        version_blacklist = []
     missing = []
     if onlyif:
         for l in samba_utils.TO_LIST(onlyif):
index 17a188f5036487e67cd8dfa6f6289d1f452fb82e..40c7b866fbaf02622302e514bf5386eb52ad956c 100644 (file)
@@ -899,10 +899,12 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='',
                     private_headers=None,
                     header_path=None,
                     vars=None,
-                    dep_vars=[],
+                    dep_vars=None,
                     always=False):
     '''A generic source generator target'''
 
+    if dep_vars is None:
+        dep_vars = []
     if not SET_TARGET_TYPE(bld, name, 'GENERATOR'):
         return