summaryrefslogtreecommitdiff
path: root/buildtools/wafsamba/samba_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildtools/wafsamba/samba_utils.py')
-rw-r--r--buildtools/wafsamba/samba_utils.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py
index 333477e499..6fef84f2da 100644
--- a/buildtools/wafsamba/samba_utils.py
+++ b/buildtools/wafsamba/samba_utils.py
@@ -6,6 +6,7 @@ from TaskGen import feature, before
from Configure import conf
from Logs import debug
from TaskGen import extension
+import shlex
LIB_PATH="shared"
@@ -109,7 +110,7 @@ Build.BuildContext.ASSERT = ASSERT
# create a list of files by pre-pending each with a subdir name
def SUBDIR(bld, subdir, list):
ret = ''
- for l in list.split():
+ for l in to_list(list):
ret = ret + subdir + '/' + l + ' '
return ret
Build.BuildContext.SUBDIR = SUBDIR
@@ -117,7 +118,7 @@ Build.BuildContext.SUBDIR = SUBDIR
##############################################
# remove .. elements from a path list
def NORMPATH(bld, ilist):
- return " ".join([os.path.normpath(p) for p in ilist.split(" ")])
+ return " ".join([os.path.normpath(p) for p in to_list(ilist)])
Build.BuildContext.NORMPATH = NORMPATH
#######################################################
@@ -229,3 +230,9 @@ def dbg(self):
if self.target == 'HEIMDAL_HEIM_ASN1':
print "@@@@@@@@@@@@@@2", self.includes, self.env._CCINCFLAGS
+
+def to_list(str):
+ '''Split a list, preserving quoted strings and existing lists'''
+ if isinstance(str, list):
+ return str
+ return shlex.split(str)