Explorar o código

[tools] fix the list in list issue when use LOCAL_* options

Bernard Xiong %!s(int64=9) %!d(string=hai) anos
pai
achega
804e23a3aa
Modificáronse 1 ficheiros con 13 adicións e 0 borrados
  1. 13 0
      tools/building.py

+ 13 - 0
tools/building.py

@@ -480,6 +480,19 @@ def BuildLibInstallAction(target, source, env):
             break
 
 def DoBuilding(target, objects):
+
+    # merge all objects into one list
+    def one_list(l):
+        lst = []
+        for item in l:
+            if type(item) == type([]):
+                lst += one_list(item)
+            else:
+                lst.append(item)
+        return lst
+
+    objects = one_list(objects)
+
     # remove source files with local flags setting
     for group in Projects:
         if group.has_key('LOCAL_CCFLAGS') or group.has_key('LOCAL_CPPPATH') or group.has_key('LOCAL_CPPDEFINES'):