osblog
ninja
osblog | ninja | |
---|---|---|
3 | 53 | |
538 | 11,701 | |
3.9% | 1.4% | |
0.0 | 8.8 | |
over 2 years ago | 28 days ago | |
Rust | C++ | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
osblog
-
My RISC-V OSDev journey, so far
How to automate building and running the project using make; in particular, leveraging variables in the Makefile to elegantly apply the same command line options for compiling each file in the codebase - because trust me, you'll need a ton of command-line options ;-) For this, I based my initial Makefile on that found in the source code for "The Adventures of OS", e.g. this
-
Getting started with OSDev on RISC-V
I would like to thank the authors of RISC-V from scratch and The Adventures of OS for their high-quality articles that go into great detail on how RISC-V works. Without their well-written articles, I wouldn't have known how to get started with kernel development on RISC-V. My initial project setup - the minimal C runtime crt0.s in assembly and the linker script riscv64-virt.lds - is based on the former, while my UART driver code is adapted from the latter and I intend to closely follow the latter going forward.
-
RV32I Stack and stack pointer in hardware implementation
Here's an example of an interrupt routine (m_trap_vector): https://github.com/sgmarz/osblog/blob/master/risc_v/src/asm/trap.S
ninja
-
The Success and Failure of Ninja (2020)
> Ninja is pretty easy to implement for the fun 20% of it and the remaining 80% is "just" some fiddly details.
There are many ninja generators out there already [1] but writing a simple, custom one shouldn't be too hard [2] and could make sense for some projects.
BTW, ninja is great but I wish the configuration file had used a more standard format, easier to parse and generate from any language. JSON would have been a better option I think, given the abundance of tooling around it.
--
1: https://github.com/ninja-build/ninja/wiki/List-of-generators...
2: https://ninja-build.org/manual.html#ref_ninja_file
-
TypeScript's Successor is Waiting, and You'll Never Want to Turn Back
Under the hood, Rescript uses a build system called Ninja. Ninja is similar to Make, but cross-platform and more minimal/performant.
- Using Make – writing less Makefile
-
Ask HN: What outdated tech are you still using and are perfectly happy with?
Really? I thought most new projects were switching to ninja[^1] and have never used it.
[^1]: https://ninja-build.org/
- What was used to build C++ programs before Cmake?
-
I have spent two whole work days trying to install GLEW
warning: Starting with the September 2023 release, the default triplet for vcpkg libraries will change from x86-windows to the detected host triplet (x64-windows). To resolve this message, add --triplet x86-windows to keep the same behavior. Computing installation plan... The following packages will be built and installed: * egl-registry:x86-windows -> 2022-09-20 glew:x86-windows -> 2.2.0#3 * opengl:x86-windows -> 2022-12-04#3 * opengl-registry:x86-windows -> 2022-09-29#1 * vcpkg-cmake:x64-windows -> 2023-05-04 * vcpkg-cmake-config:x64-windows -> 2022-02-06#1 Additional packages (*) will be modified to complete this operation. Detecting compiler hash for triplet x86-windows... A suitable version of powershell-core was not found (required v7.2.11) Downloading portable powershell-core 7.2.11... Downloading powershell-core... https://github.com/PowerShell/PowerShell/releases/download/v7.2.11/PowerShell-7.2.11-win-x86.zip->C:\vcpkg\downloads\PowerShell-7.2.11-win-x86.zip Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.2.11/PowerShell-7.2.11-win-x86.zip Extracting powershell-core... error: while detecting compiler information: The log file content at "C:\vcpkg\buildtrees\detect_compiler\stdout-x86-windows.log" is: -- Downloading https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip -> ninja-win-1.10.2.zip... -- Configuring x86-windows CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message): Command failed: C:/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe -v Working Directory: C:/vcpkg/buildtrees/detect_compiler/x86-windows-rel/vcpkg-parallel-configure Error code: 1 See logs for more information: C:\vcpkg\buildtrees\detect_compiler\config-x86-windows-rel-CMakeCache.txt.log C:\vcpkg\buildtrees\detect_compiler\config-x86-windows-out.log
-
Installer script for CMake, Ninja, and Meson
I thought I would share my custom installer script for the latest GitHub versions of CMake, Ninja, and Meson.
-
Building and Running Pidgin and Finch 3
Now that you have your build system all generated you can go ahead and build everything. By default Meson will use Ninja as the build tool. Ninja is similar to Make but much much faster. You can also generate additional build systems but that's outside of the scope of this post.
-
Is there any way to configure my project so I can work on it on both Windows and MacOS?
There are also some other tools like https://ninja-build.org/ that you might prefer using instead
-
Bitdefender blocked Explorer.exe and Ninja.exe has been quarantined
I got Ninja from https://github.com/ninja-build/ninja, latest release. I'm assuming this is a false positive?
What are some alternatives?
riscv-elf-psabi-doc - A RISC-V ELF psABI Document
meson - The Meson Build System
avr-device - Register access crate for AVR microcontrollers
SCons
riscv-from-scratch - The code for the RISC-V from scratch blog post series.
BitBake - The official bitbake Git is at https://git.openembedded.org/bitbake/. Do not open issues or file pull requests here.