code: def _make_options(x):
      
      # Check if x is a mapping of labels to values
      if isinstance(x, Mapping):
          import warnings
          warnings.warn("Support for mapping types has been deprecated and will be dropped in a future release.", DeprecationWarning)
          return tuple((unicode_type(k), v) for k, v in x.items())
  
      # only iterate once through the options.
      xlist = tuple(x)
  
      # Check if x is an iterable of (label, value) pairs
      if all((isinstance(i, (list, tuple)) and len(i) == 2) for i in xlist):
          return tuple((unicode_type(k), v) for k, v in xlist)
  
      # Otherwise, assume x is an iterable of values
      return tuple((unicode_type(i), i) for i in xlist)
docs: Standardize the options tuple format.
  
      The returned tuple should be in the format (('label', value), ('label', value), ...).
  
      The input can be
      * an iterable of (label, value) pairs
      * an iterable of values, and labels will be generated