summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/build/makelist.py
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-03-05 11:55:22 +0100
committer Miodrag Milanovic <mmicko@gmail.com>2016-03-05 11:55:22 +0100
commit6cc3a6cc90503f4007d77bf11a9ff698fe588868 (patch)
tree037ba2133771c6eaaf46ebc3413e3a086170c3cd /scripts/build/makelist.py
parent65bf1725d2f4763b84f39d4e7166c5d5a75f9ac5 (diff)
Support for filtering exceptions (nw)
Diffstat (limited to 'scripts/build/makelist.py')
-rw-r--r--scripts/build/makelist.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/scripts/build/makelist.py b/scripts/build/makelist.py
index 329ff374520..cb6400b4d80 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:
@@ -102,6 +104,12 @@ 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
@@ -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