parameters: (cls)
return_statement: return cls.useable_variations
docstring: Gets all libraries suitable for the current invocation of emscripten.
  
      This returns a dictionary of simple names to Library objects.
docstring_summary: Gets all libraries suitable for the current invocation of emscripten.
docstring_tokens: Gets all libraries suitable for the current invocation of emscripten .
function: def get_usable_variations(cls):
      """
      Gets all libraries suitable for the current invocation of emscripten.
  
      This returns a dictionary of simple names to Library objects.
      """
      if not hasattr(cls, 'useable_variations'):
        cls.useable_variations = {}
        for subclass in cls.get_inheritance_tree():
          if subclass.name:
            library = subclass.get_default_variation()
            if library.can_build() and library.can_use():
              cls.useable_variations[subclass.name] = library
      return cls.useable_variations
function_tokens: def get_usable_variations ( cls ) : if not hasattr ( cls , 'useable_variations' ) : cls . useable_variations = { } for subclass in cls . get_inheritance_tree ( ) : if subclass . name : library = subclass . get_default_variation ( ) if library . can_build ( ) and library . can_use ( ) : cls . useable_variations [ subclass . name ] = library return cls . useable_variations