parameters: (single_tree_checkout)
return_statement: return projects
docstring: Returns a list of LLVMProject instances, describing relative paths of a typical LLVM checkout.
  
    Args:
      single_tree_checkout:
        When True, relative paths for each project points to a typical single
          source tree checkout.
        When False, relative paths for each projects points to a separate
          directory. However, clang-tools-extra is an exception, its relative path
          will always be 'clang/tools/extra'.
docstring_summary: Returns a list of LLVMProject instances, describing relative paths of a typical LLVM checkout.
docstring_tokens: Returns a list of LLVMProject instances describing relative paths of a typical LLVM checkout .
function: def CreateLLVMProjects(single_tree_checkout):
    """Returns a list of LLVMProject instances, describing relative paths of a typical LLVM checkout.
  
    Args:
      single_tree_checkout:
        When True, relative paths for each project points to a typical single
          source tree checkout.
        When False, relative paths for each projects points to a separate
          directory. However, clang-tools-extra is an exception, its relative path
          will always be 'clang/tools/extra'.
    """
    # FIXME: cover all of llvm projects.
  
    # Projects that reside inside 'projects/' in a single source tree checkout.
    ORDINARY_PROJECTS = [
        "compiler-rt", "dragonegg", "libcxx", "libcxxabi", "libunwind",
        "parallel-libs", "test-suite"
    ]
    # Projects that reside inside 'tools/' in a single source tree checkout.
    TOOLS_PROJECTS = ["clang", "lld", "lldb"]
  
    if single_tree_checkout:
      projects = [LLVMProject("llvm", "")]
      projects += [
          LLVMProject(p, os.path.join("projects", p)) for p in ORDINARY_PROJECTS
      ]
      projects += [
          LLVMProject(p, os.path.join("tools", p)) for p in TOOLS_PROJECTS
      ]
      projects.append(
          LLVMProject("clang-tools-extra",
                      os.path.join("tools", "clang", "tools", "extra")))
    else:
      projects = [LLVMProject("llvm", "llvm")]
      projects += [LLVMProject(p, p) for p in ORDINARY_PROJECTS]
      projects += [LLVMProject(p, p) for p in TOOLS_PROJECTS]
      projects.append(
          LLVMProject("clang-tools-extra", os.path.join("clang", "tools",
                                                        "extra")))
    return projects
function_tokens: def CreateLLVMProjects ( single_tree_checkout ) : # FIXME: cover all of llvm projects. # Projects that reside inside 'projects/' in a single source tree checkout. ORDINARY_PROJECTS = [ "compiler-rt" , "dragonegg" , "libcxx" , "libcxxabi" , "libunwind" , "parallel-libs" , "test-suite" ] # Projects that reside inside 'tools/' in a single source tree checkout. TOOLS_PROJECTS = [ "clang" , "lld" , "lldb" ] if single_tree_checkout : projects = [ LLVMProject ( "llvm" , "" ) ] projects += [ LLVMProject ( p , os . path . join ( "projects" , p ) ) for p in ORDINARY_PROJECTS ] projects += [ LLVMProject ( p , os . path . join ( "tools" , p ) ) for p in TOOLS_PROJECTS ] projects . append ( LLVMProject ( "clang-tools-extra" , os . path . join ( "tools" , "clang" , "tools" , "extra" ) ) ) else : projects = [ LLVMProject ( "llvm" , "llvm" ) ] projects += [ LLVMProject ( p , p ) for p in ORDINARY_PROJECTS ] projects += [ LLVMProject ( p , p ) for p in TOOLS_PROJECTS ] projects . append ( LLVMProject ( "clang-tools-extra" , os . path . join ( "clang" , "tools" , "extra" ) ) ) return projects