Skip to content

[Documentation]: Update to Native Build Environment Setup Steps #89

Description

@rogurr

Request Description

In the process of cleaning up the primary readme.md file, it was noted that the steps to install build tools to Windows or Linux without the use of the container were outdated and provided more steps than necessary.

PR #87

Since scrubbing the steps is a fairly detailed process that requires testing, so that portion of the PR is being moved to this task. The following is a summary of the comments that need to be addressed:


This table (Windows 11) is currently having the user install way more than the bare minimum necessary tools. I think it would be best to add a few more columns to this table to specify if it is optional or required (instead of currently having an optional section at the bottom [Though I do think all optional dependencies should stay at the bottom]) and what they are used for if it is optional.

A few examples:

  • Rust (and it's dependencies) is not really needed to build this repository. This repository provides a pre-built patina DXE Core for Q35 and SBSA. Only if they wish to build their own patina DXE Core binary do they need this, and even so, that is technically a dependency of patina-dxe-core-qemu repository, not this one.
  • LLVM is only necessary if building using CLANG
  • MSVC is only necessary if building using VS build tools
  • Node, and it's tooling, is only necessary for CI
  • Chocolatey / GNU Make is only necessary when building CLANG

As noted above, rust is not really a dependency of this repository.


QEMU does not need to be installed manually. We provided an external dependency for this and it is automatically installed with stuart_update (Windows only)


Also, I'm not exactly sure we want to tell everyone to install everything using winget. It is convenient, I agree. But maybe say something along the lines of install it how you like, or use winget with the following command. I'm not sure the best way to handle that


Maybe add a note that these do not need to be installed if using the container (I think, right?).

Also, the same thing I mentioned above regarding table updates apply to this table too)


Are you going to make the change?

Someone else needs to make the change

Do you need maintainer feedback?

No maintainer feedback needed

Anything else?

PR Link

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions