diff options
| author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2019-07-24 09:57:09 +0200 | 
|---|---|---|
| committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2019-07-24 09:57:09 +0200 | 
| commit | c7665433b2004d2b404d6fb9d6fd064998486f63 (patch) | |
| tree | 8525ef6d24f7c6ceb238945ebb2cc997c7afc905 /src/engine/SCons/Variables/__init__.py | |
| parent | e48d2727885efda8369c7edbc2e3929a59532adc (diff) | |
| parent | 6e228c305122f0564eda1e67d56651f8386d24d7 (diff) | |
Merge branch 'release/debian/3.1.0+repack-1'debian/3.1.0+repack-1
Diffstat (limited to 'src/engine/SCons/Variables/__init__.py')
| -rw-r--r-- | src/engine/SCons/Variables/__init__.py | 15 | 
1 files changed, 10 insertions, 5 deletions
diff --git a/src/engine/SCons/Variables/__init__.py b/src/engine/SCons/Variables/__init__.py index 784f795..5b4b3af 100644 --- a/src/engine/SCons/Variables/__init__.py +++ b/src/engine/SCons/Variables/__init__.py @@ -5,7 +5,7 @@ customizable variables to an SCons build.  """  # -# Copyright (c) 2001 - 2017 The SCons Foundation +# Copyright (c) 2001 - 2019 The SCons Foundation  #  # Permission is hereby granted, free of charge, to any person obtaining  # a copy of this software and associated documentation files (the @@ -26,10 +26,11 @@ customizable variables to an SCons build.  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -__revision__ = "src/engine/SCons/Variables/__init__.py rel_3.0.0:4395:8972f6a2f699 2017/09/18 12:59:24 bdbaddog" +__revision__ = "src/engine/SCons/Variables/__init__.py e724ae812eb96f4858a132f5b8c769724744faf6 2019-07-21 00:04:47 bdeegan"  import os.path  import sys +from functools import cmp_to_key  import SCons.Environment  import SCons.Errors @@ -98,7 +99,7 @@ class Variables(object):          option.converter = converter          self.options.append(option) -         +          # options might be added after the 'unknown' dict has been set up,          # so we remove the key and all its aliases from that dict          for alias in list(option.aliases) + [ option.key ]: @@ -167,7 +168,7 @@ class Variables(object):          # first set the defaults:          for option in self.options: -            if not option.default is None: +            if option.default is not None:                  values[option.key] = option.default          # next set the value specified in the options file @@ -287,9 +288,13 @@ class Variables(object):          env - an environment that is used to get the current values                of the options. +        cmp - Either a function as follows: The specific sort function should take two arguments and return -1, 0 or 1 +              or a boolean to indicate if it should be sorted.          """ -        if sort: +        if callable(sort): +            options = sorted(self.options, key=cmp_to_key(lambda x,y: sort(x.key,y.key))) +        elif sort is True:              options = sorted(self.options, key=lambda x: x.key)          else:              options = self.options  | 
