From d227d5a60a82d286bef1e75002df7576160f3807 Mon Sep 17 00:00:00 2001 From: mukeshbharath Date: Thu, 24 Jun 2021 00:50:35 +0530 Subject: [PATCH 1/2] updated the readme for issue #4 --- tools/mccibootloader_image/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/mccibootloader_image/README.md b/tools/mccibootloader_image/README.md index 16ff102..4aa3e6d 100644 --- a/tools/mccibootloader_image/README.md +++ b/tools/mccibootloader_image/README.md @@ -284,6 +284,11 @@ On Windows, we use git bash and use [scoop](https://scoop.sh) to install GNU mak Make sure to install the pre-requisites below, before make a build. - scoop install make - scoop install llvm +- [Visual Studio SDK](https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/) + +**NOTE:** +1. It's important to check whether the work/test machine has installed with any of the Visual Studio SDK versions. If not, please install it using the link above, it's necessary to support with the required C Runtime library files during the clang compilation. +2. Also, it's advised to check, if there are more than one MSVS SDK versions installed in the work machine (Installed SDK versions can be checked under the windows directory path *"C:\Program Files (x86)\Windows Kits\10\Include"*). If so, please uninstall the unused SDK versions and maintain the active version alone. Because the clang may have trouble fetching the library files if there are more than one SDK version available in the machine. (At time of writing, there was no working gcc available via scoop, although that may have been fixed.) Use `make -j3 -O` to build. From acdb7f9c350a87633107808ef5677c414c2ffb60 Mon Sep 17 00:00:00 2001 From: mukeshbharath Date: Thu, 5 Mar 2026 21:09:46 +0530 Subject: [PATCH 2/2] update README file with PR#5 comments --- tools/mccibootloader_image/README.md | 33 ++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/tools/mccibootloader_image/README.md b/tools/mccibootloader_image/README.md index 4aa3e6d..e9a9fe6 100644 --- a/tools/mccibootloader_image/README.md +++ b/tools/mccibootloader_image/README.md @@ -87,6 +87,7 @@ When run with the verbose flag, `mccibootloader_image` outputs useful informatio ```console Program settings: --verbose: true + --debug: false --hash: true --sign: true --add-time: true @@ -185,8 +186,8 @@ For example: ```console $ ssh-keygen -t ed25519 -C "key desciptive comment" -f outputfile.pem Generating public/private ed25519 key pair. -Enter passphrase (empty for no passphrase): -Enter same passphrase again: +Enter passphrase (empty for no passphrase): +Enter same passphrase again: Your identification has been saved in outputfile.pem Your public key has been saved in outputfile.pem.pub The key fingerprint is: @@ -253,7 +254,7 @@ if [[ $OPTTESTSIGN -eq 0 ]]; then ssh-keygen -p -N '' -f "$PRIVATE_KEY_UNLOCKED_FILE" # extreme caution: make sure permissions are still right. chmod 600 "$PRIVATE_KEY_UNLOCKED_FILE" - + # For Arduino builds, set up a platform.local.test that will refer to the unlocked file # so that the arduino builder will use the private key. Do what makes sense for # you if using PlatformIO or other build systems. @@ -282,16 +283,30 @@ fi On Windows, we use git bash and use [scoop](https://scoop.sh) to install GNU make and clang. Make sure to install the pre-requisites below, before make a build. + - scoop install make - scoop install llvm -- [Visual Studio SDK](https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/) - -**NOTE:** -1. It's important to check whether the work/test machine has installed with any of the Visual Studio SDK versions. If not, please install it using the link above, it's necessary to support with the required C Runtime library files during the clang compilation. -2. Also, it's advised to check, if there are more than one MSVS SDK versions installed in the work machine (Installed SDK versions can be checked under the windows directory path *"C:\Program Files (x86)\Windows Kits\10\Include"*). If so, please uninstall the unused SDK versions and maintain the active version alone. Because the clang may have trouble fetching the library files if there are more than one SDK version available in the machine. (At time of writing, there was no working gcc available via scoop, although that may have been fixed.) Use `make -j3 -O` to build. +### Windows SDK requirement for UCRT headers + +Clang on Windows requires the [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) for UCRT (Universal C Runtime) headers. If clang fails to find standard headers (e.g., `stdio.h`, `stdlib.h`) and you have multiple SDK versions installed under `C:\Program Files (x86)\Windows Kits\10\Include`, set the `INCLUDE` environment variable to point at the correct version. For example: + +``` +set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt +``` + +Alternatively, you can pass `-isystem` to clang via `CFLAGS`: + +``` +make CFLAGS="-isystem \"C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\"" +``` + +Replace `10.0.19041.0` with the SDK version installed on your system. + +--- + On macOS, we have used either GCC 10 (installed via homebrew) or clang (installed via `xcode-select --install`). - With GCC, build using `make MCCI_CC=gcc-10`. @@ -309,7 +324,7 @@ To cross-compile, use the typical mechanism: `CROSS_COMPILE=prefix- make`. This Except as explicitly noted, content created by MCCI in this repository tree is copyright (C) 2021, MCCI Corporation. -`mccibooloader_image` and wrappers are released under the attached [license](./LICENSE.md). Commercial licenses and commercial support are available from MCCI Corporation. +`mccibooloader_image` and wrappers are released under the attached [license](LICENSE.md). Commercial licenses and commercial support are available from MCCI Corporation. The TweetNaCl and NaCl code is all public domain (including MCCI contributions in those directories).