With #28244 merged, Deno is now using the widely used aws-lc-rs.
aws-lc-rs is not pure Rust code and instead depends on being able to build C/C++ code and assembly code.
This means that the "building from source" section of the contributing guide for Deno needs to be updated
Notably, on Windows the aws-lc-rs dependency requires
- A C/C++ compiler. I believe that this section covers that. I wonder if that section actually asks for too many dependencies.
- CMake. The CMake that ships with Visual Studio cannot be used for working on Deno, since it is not a globally available tool. It is only available from within a "Developer Command Prompt" and is entirely invisible to rust-analyzer.
- Thus, one has to go out of their way to install CMake like aws-lc-rs recommends.
- The NASM assembler. This can be avoided if Deno either sets the
prebuilt-nasm feature flag, or if the user sets the AWS_LC_SYS_PREBUILT_NASM environment variable. The latter requires me to do it globally for the entire system, otherwise it's easy for tools like rust-analyzer to not pick up on it.
Finally, the"building from source" guide mentions requiring a protobuf compiler. I believe that that is outdated information. I do not see what protobuf would be used for.
With #28244 merged, Deno is now using the widely used aws-lc-rs.
aws-lc-rs is not pure Rust code and instead depends on being able to build C/C++ code and assembly code.
This means that the "building from source" section of the contributing guide for Deno needs to be updated
Notably, on Windows the aws-lc-rs dependency requires
prebuilt-nasmfeature flag, or if the user sets theAWS_LC_SYS_PREBUILT_NASMenvironment variable. The latter requires me to do it globally for the entire system, otherwise it's easy for tools like rust-analyzer to not pick up on it.Finally, the"building from source" guide mentions requiring a protobuf compiler. I believe that that is outdated information. I do not see what protobuf would be used for.