docs: def normalize_options(options):
          """
          Turns a mapping of 'option: arg' to a list and prefix the options.
          arg can be a list of arguments.
  
          for example:
  
          dict = {
              o1: a1,
              o2: ,
              o3: [a31, a32]
              o4: []
          }
  
          will be transformed to:
  
          [
              prefix_option(o1), a1, prefix_option(o2),
              prefix_option(o3), a31, prefix_option(o3), a32
              prefix_option(o4)
          ]
  
          note that empty arguments are omitted
  
          Args:
              options (dict): A mapping between options and arguments
  
          Returns:
              lst: A normalized version of 'options' as mentioned above
          """
          normalized_options = []
  
          def _add(option, arg=None):
              normalized_options.append(option)
              arg and normalized_options.append(arg)
  
          for option, arg in options.viewitems():
              prefixed_option = Build.prefix_option(option)
              if isinstance(arg, list) and arg:
                  for a in arg:
                      _add(prefixed_option, a)
              else:
                  _add(prefixed_option, arg)
  
          return normalized_options