summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/build/makelist.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/makelist.py')
-rw-r--r--scripts/build/makelist.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/scripts/build/makelist.py b/scripts/build/makelist.py
index 329ff374520..a9b450474e2 100644
--- a/scripts/build/makelist.py
+++ b/scripts/build/makelist.py
@@ -9,6 +9,8 @@ import sys
drivlist = []
sourcelist = []
+filter_addlist = []
+filter_removelist = []
def parse_file(srcfile):
try:
@@ -57,9 +59,9 @@ def parse_file(srcfile):
if not all(((c >='a' and c<='z') or (c>='0' and c<='9') or c=='_') for c in drivname):
sys.stderr.write("%s:%d - Invalid character in driver \"%s\"\n" % (srcfile, linenum, drivname))
return 1
- else:
+ else:
if (curr_source == '') or (len(sourcelist)==0) or (curr_source in sourcelist):
- drivlist.append(drivname)
+ drivlist.append(drivname)
return 0
def parse_filter_file(srcfile):
@@ -102,10 +104,16 @@ def parse_filter_file(srcfile):
sys.stderr.write("Importing drivers from '%s'\n" % sourcename[1:])
parse_filter_file(sourcename[1:])
continue
+ if sourcename[0]=='+':
+ filter_addlist.append(sourcename[1:])
+ continue
+ if sourcename[0]=='-':
+ filter_removelist.append(sourcename[1:])
+ continue
if not all(((c >='a' and c<='z') or (c>='0' and c<='9') or c=='_' or c=='.' or c=='-') for c in sourcename):
sys.stderr.write("%s:%d - Invalid character in driver \"%s\"\n" % (srcfile, linenum, sourcename))
return 1
- else:
+ else:
sourcelist.append(sourcename)
return 0
@@ -128,6 +136,11 @@ if len(drivlist)==0 :
sys.stderr.write("No drivers found\n")
sys.exit(1)
+for x in filter_addlist:
+ drivlist.append(x)
+
+drivlist = [x for x in drivlist if (x not in filter_removelist)]
+
sys.stderr.write("%d driver(s) found\n" % len(drivlist))
# add a reference to the ___empty driver