��
r�$Lc�����������@���s_���d��Z��d�Z�d�g�Z�d�d�k�Z�d�d�k�Z�d�e�i�f�d�������YZ�d����Z�h��d���Z	�d�S(	���s���engine.SCons.Variables.ListVariable

This file defines the option type for SCons implementing 'lists'.

A 'list' option may either be 'all', 'none' or a list of names
separated by comma. After the option has been processed, the option
value holds either the named list elements, all list elemens or no
list elements at all.

Usage example:

  list_of_libs = Split('x11 gl qt ical')

  opts = Variables()
  opts.Add(ListVariable('shared',
                      'libraries to build as shared libraries',
                      'all',
                      elems = list_of_libs))
  ...
  for lib in list_of_libs:
     if lib in env['shared']:
         env.SharedObject(...)
     else:
         env.Object(...)
sI���src/engine/SCons/Variables/ListVariable.py 5023 2010/06/14 22:05:46 sconst���ListVariablei����Nt
���_ListVariablec�����������B���s_���e��Z�g��g��d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z	�d����Z
�RS(	���c���������C���sL���t��i�i�|��g��}�|�D]�}�|�o�|�|�q�q�~���t�|���|��_�d��S(���N(���t���collectionst���UserListt���__init__t���sortedt���allowedElems(���t���selft���initlistR���t���_[1]t���_f(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyR���>���s����9c���������C���s
���t����d��S(���N(���t���NotImplementedError(���R���t���other(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���__cmp__B���s����c���������C���s
���t����d��S(���N(���R���(���R���R���(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���__eq__D���s����c���������C���s
���t����d��S(���N(���R���(���R���R���(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���__ge__F���s����c���������C���s
���t����d��S(���N(���R���(���R���R���(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���__gt__H���s����c���������C���s
���t����d��S(���N(���R���(���R���R���(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���__le__J���s����c���������C���s
���t����d��S(���N(���R���(���R���R���(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���__lt__L���s����c���������C���sN���t��|����d�j�o�d�S|��i�i����|��i�|��i�j�o�d�Sd�i�|����Sd��S(���Ni����t���nonet���allt���,(���t���lent���datat���sortR���t���join(���R���(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���__str__N���s����
c���������C���s
���|��i�����S(���N(���R���(���R���(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���prepare_to_storeV���s����(���t���__name__t
���__module__R���R
���R���R���R���R���R���R���R���(����(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyR���=���s���							c���	���
���C���s����|��d�j�o
�g��}��n��|��d�j�o
�|�}��n��g��}�|��i��d���D]�}�|�o�|�|�qB�qB�~�}��g��}�|��D]�}�|�|�i�|�|���qn�~�}��g��}�|��D]�}�|�|�j�o�|�|�q��q��~�}�|�o�t�d�d�i�|�������n�t�|��|���S(���s���
    R���R���R���s���Invalid value(s) for option: %s(���t���splitt���gett
���ValueErrorR���R���(	���t���valR���t���mapdictR	���R
���t���_[2]t���vt���_[3]t
���notAllowed(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt
���_converterY���s����



5-2c������������sp���d�d�i������}�t�i�i�|���o�d�i��|���}�n�d�i��|�d�|�f���}�|��|�|�d������f�d����f�S(���s/��
    The input parameters describe a 'package list' option, thus they
    are returned with the correct converter and validater appended. The
    result is usable for input to opts.Add() .

    A 'package list' option may either be 'all', 'none' or a list of
    package names (separated by space).
    s���allowed names: %st��� R���s���
    s(���(all|none|comma-separated list of names)c������������s���t��|���������S(����(���R'���(���R!���(���t���mapt���names(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���<lambda>����s����N(���R���t���SConst���Utilt���is_Listt���None(���t���keyt���helpt���defaultR*���R)���t	���names_str(����(���R)���R*���s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyR����q���s����		(
���t���__doc__t���__revision__t���__all__R���t
���SCons.UtilR,���R���R���R'���R����(����(����(����s?���install/lib/scons-2.0.0.final.0/SCons/Variables/ListVariable.pyt���<module>���s���