build/buildconfig.py

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

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.

michael@0 1 # This Source Code Form is subject to the terms of the Mozilla Public
michael@0 2 # License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
michael@0 4
michael@0 5 import imp
michael@0 6 import os
michael@0 7 import sys
michael@0 8
michael@0 9 path = os.path.dirname(__file__)
michael@0 10 while not os.path.exists(os.path.join(path, 'config.status')):
michael@0 11 parent = os.path.normpath(os.path.join(path, os.pardir))
michael@0 12 if parent == path:
michael@0 13 raise Exception("Can't find config.status")
michael@0 14 path = parent
michael@0 15
michael@0 16 path = os.path.join(path, 'config.status')
michael@0 17 config = imp.load_module('_buildconfig', open(path), path, ('', 'r', imp.PY_SOURCE))
michael@0 18
michael@0 19 # Copy values from the config.status namespace into this module namespace.
michael@0 20 # This effectively imports topsrcdir, topobjdir, defines, substs, files,
michael@0 21 # headers and non_global_defines
michael@0 22 for var in config.__all__:
michael@0 23 value = getattr(config, var)
michael@0 24 if isinstance(value, list) and value and isinstance(value[0], tuple):
michael@0 25 value = dict(value)
michael@0 26 setattr(sys.modules[__name__], var, value)
michael@0 27
michael@0 28 for var in os.environ:
michael@0 29 if var != 'SHELL' and var in substs:
michael@0 30 substs[var] = os.environ[var]

mercurial