Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
1 import pymake.data
2 import pymake.parser
3 import pymake.parserdata
4 import sys
6 '''
7 Modifies the output of Sun Studio's -xM to look more like the output
8 of gcc's -MD -MP, adding phony targets for dependencies.
9 '''
12 def add_phony_targets(path):
13 print path
14 deps = set()
15 targets = set()
16 for stmt in pymake.parser.parsefile(path):
17 if isinstance(stmt, pymake.parserdata.Rule):
18 assert isinstance(stmt.depexp, pymake.data.StringExpansion)
19 assert isinstance(stmt.targetexp, pymake.data.StringExpansion)
20 for d in stmt.depexp.s.split():
21 deps.add(d)
22 for t in stmt.targetexp.s.split():
23 targets.add(t)
24 phony_targets = deps - targets
25 if not phony_targets:
26 return
27 with open(path, 'a') as f:
28 f.writelines('%s:\n' % d for d in phony_targets)
31 if __name__ == '__main__':
32 for f in sys.argv[1:]:
33 add_phony_targets(f)