code: def ListVariable(key, help, default, names, map={}):
      
      names_str = 'allowed names: %s' % ' '.join(names)
      if SCons.Util.is_List(default):
          default = ','.join(default)
      help = '\n    '.join(
          (help, '(all|none|comma-separated list of names)', names_str))
      return (key, help, default,
              None, #_validator,
              lambda val: _converter(val, names, map))
docs: The input parameters describe a 'package list' option, thus they
      are returned with the correct converter and validator 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).