From 39807fd091e8feffb5d6ec089409d36e35ef7f28 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 7 Mar 2010 15:17:46 +1100 Subject: build: smarter list splitting --- buildtools/wafsamba/samba_utils.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'buildtools/wafsamba/samba_utils.py') 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) -- cgit