parameters: (self, delete_existing=0, **kw)
docstring: Prepend values to existing construction variables
          in an Environment, if they're not already there.
          If delete_existing is 1, removes existing values first, so
          values move to front.
docstring_summary: Prepend values to existing construction variables
          in an Environment, if they're not already there.
          If delete_existing is 1, removes existing values first, so
          values move to front.
docstring_tokens: Prepend values to existing construction variables in an Environment if they re not already there . If delete_existing is 1 removes existing values first so values move to front .
function: def PrependUnique(self, delete_existing=0, **kw):
          """Prepend values to existing construction variables
          in an Environment, if they're not already there.
          If delete_existing is 1, removes existing values first, so
          values move to front.
          """
          kw = copy_non_reserved_keywords(kw)
          for key, val in kw.items():
              if SCons.Util.is_List(val):
                  val = _delete_duplicates(val, not delete_existing)
              if key not in self._dict or self._dict[key] in ('', None):
                  self._dict[key] = val
              elif SCons.Util.is_Dict(self._dict[key]) and \
                   SCons.Util.is_Dict(val):
                  self._dict[key].update(val)
              elif SCons.Util.is_List(val):
                  dk = self._dict[key]
                  if not SCons.Util.is_List(dk):
                      dk = [dk]
                  if delete_existing:
                      dk = [x for x in dk if x not in val]
                  else:
                      val = [x for x in val if x not in dk]
                  self._dict[key] = val + dk
              else:
                  dk = self._dict[key]
                  if SCons.Util.is_List(dk):
                      # By elimination, val is not a list.  Since dk is a
                      # list, wrap val in a list first.
                      if delete_existing:
                          dk = [x for x in dk if x not in val]
                          self._dict[key] = [val] + dk
                      else:
                          if not val in dk:
                              self._dict[key] = [val] + dk
                  else:
                      if delete_existing:
                          dk = [x for x in dk if x not in val]
                      self._dict[key] = val + dk
          self.scanner_map_delete(kw)
function_tokens: def PrependUnique ( self , delete_existing = 0 , * * kw ) : kw = copy_non_reserved_keywords ( kw ) for key , val in kw . items ( ) : if SCons . Util . is_List ( val ) : val = _delete_duplicates ( val , not delete_existing ) if key not in self . _dict or self . _dict [ key ] in ( '' , None ) : self . _dict [ key ] = val elif SCons . Util . is_Dict ( self . _dict [ key ] ) and SCons . Util . is_Dict ( val ) : self . _dict [ key ] . update ( val ) elif SCons . Util . is_List ( val ) : dk = self . _dict [ key ] if not SCons . Util . is_List ( dk ) : dk = [ dk ] if delete_existing : dk = [ x for x in dk if x not in val ] else : val = [ x for x in val if x not in dk ] self . _dict [ key ] = val + dk else : dk = self . _dict [ key ] if SCons . Util . is_List ( dk ) : # By elimination, val is not a list.  Since dk is a # list, wrap val in a list first. if delete_existing : dk = [ x for x in dk if x not in val ] self . _dict [ key ] = [ val ] + dk else : if not val in dk : self . _dict [ key ] = [ val ] + dk else : if delete_existing : dk = [ x for x in dk if x not in val ] self . _dict [ key ] = val + dk self . scanner_map_delete ( kw )