diff options
Diffstat (limited to 'src/engine/SCons/Variables/__init__.py')
| -rw-r--r-- | src/engine/SCons/Variables/__init__.py | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/src/engine/SCons/Variables/__init__.py b/src/engine/SCons/Variables/__init__.py index 784f795..bde5b88 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 103260fce95bf5db1c35fb2371983087d85dd611 2019-07-13 18:25:30 bdbaddog"  import os.path  import sys +from functools import cmp_to_key  import SCons.Environment  import SCons.Errors @@ -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  | 
