parameters: (self, path, qualified=True)
return_statement: return os.path.normpath(os.path.join(obj, self.base_dir, path_dir,
                                           path_basename))
docstring: Translate a gyp path to a ninja path for writing output.
  
      If qualified is True, qualify the resulting filename with the name
      of the target.  This is necessary when e.g. compiling the same
      path twice for two separate output targets.
  
      See the above discourse on path conversions.
docstring_summary: Translate a gyp path to a ninja path for writing output.
docstring_tokens: Translate a gyp path to a ninja path for writing output .
function: def GypPathToUniqueOutput(self, path, qualified=True):
      """Translate a gyp path to a ninja path for writing output.
  
      If qualified is True, qualify the resulting filename with the name
      of the target.  This is necessary when e.g. compiling the same
      path twice for two separate output targets.
  
      See the above discourse on path conversions."""
  
      path = self.ExpandSpecial(path)
      assert not path.startswith('$'), path
  
      # Translate the path following this scheme:
      #   Input: foo/bar.gyp, target targ, references baz/out.o
      #   Output: obj/foo/baz/targ.out.o (if qualified)
      #           obj/foo/baz/out.o (otherwise)
      #     (and obj.host instead of obj for cross-compiles)
      #
      # Why this scheme and not some other one?
      # 1) for a given input, you can compute all derived outputs by matching
      #    its path, even if the input is brought via a gyp file with '..'.
      # 2) simple files like libraries and stamps have a simple filename.
  
      obj = 'obj'
      if self.toolset != 'target':
        obj += '.' + self.toolset
  
      path_dir, path_basename = os.path.split(path)
      if qualified:
        path_basename = self.name + '.' + path_basename
      return os.path.normpath(os.path.join(obj, self.base_dir, path_dir,
                                           path_basename))
function_tokens: def GypPathToUniqueOutput ( self , path , qualified = True ) : path = self . ExpandSpecial ( path ) assert not path . startswith ( '$' ) , path # Translate the path following this scheme: #   Input: foo/bar.gyp, target targ, references baz/out.o #   Output: obj/foo/baz/targ.out.o (if qualified) #           obj/foo/baz/out.o (otherwise) #     (and obj.host instead of obj for cross-compiles) # # Why this scheme and not some other one? # 1) for a given input, you can compute all derived outputs by matching #    its path, even if the input is brought via a gyp file with '..'. # 2) simple files like libraries and stamps have a simple filename. obj = 'obj' if self . toolset != 'target' : obj += '.' + self . toolset path_dir , path_basename = os . path . split ( path ) if qualified : path_basename = self . name + '.' + path_basename return os . path . normpath ( os . path . join ( obj , self . base_dir , path_dir , path_basename ) )