summaryrefslogtreecommitdiff
path: root/pkg/utfcpp
AgeCommit message (Collapse)Author
2025-10-03zig-15: build binary buildsMitchell Hashimoto
2025-07-22build-system: Replace deprecated usages of addStaticLibrary with addLibrary ↵Jayson Reis
(#8029) Hi there, this is just a low-hanging fruit and it also prepares the way for the future 0.15, which removes addStaticLibrary. Please, let me know what to do on the `// TODO` comments.
2025-05-29build: use a libc txt file to point to correct Apple SDKMitchell Hashimoto
This fixes an issue where Ghostty would not build against the macOS 15.5 SDK. What was happening was that Zig was adding its embedded libc paths to the clang command line, which included old headers that were incompatible with the latest (macOS 15.5) SDK. Ghostty was adding the newer paths but they were being overridden by the embedded libc paths. The reason this was happening is because Zig was using its own logic to find the libc paths and this was colliding with the paths we were setting manually. To fix this, we now use a `libc.txt` file that explicitly tells Zig where to find libc, and we base this on our own SDK search logic.
2025-03-14build: mark most dependencies as lazyMitchell Hashimoto
Lazy dependencies are only fetched if the build script would actually reach a usage of that dependency at runtime (when the `lazyDependency` function is called). This can save a lot of network traffic, disk uage, and time because we don't have to fetch and build dependencies that we don't actually need. Prior to this commit, Ghostty fetched almost everything for all platforms and configurations all the time. This commit reverses that to fetching almost nothing until it's actually needed. There are very little downsides to doing this[1]. One downside is `zig build --fetch` doesn't fetch lazy dependencies, but we don't rely on this command for packaging and suggest using our custom shell script that downloads a cached list of URLs (`build.zig.zon.txt`). This commit doesn't cover 100% of dependencies, since some provide no benefit to make lazy while the complexity to make them lazy is higher (in code style typically). Conversely, some simple dependencies are marked lazy even if they're almost always needed if they don't introduce any real complexity to the code, because there is very little downside to do so. [1]: https://ziggit.dev/t/lazy-dependencies-best-dependencies/5509/5
2025-03-12update all packages to new hash for cachingMitchell Hashimoto
2025-03-11Zig 0.14Mitchell Hashimoto
2025-02-14build: mirror most of our direct dependenciesMitchell Hashimoto
This adds a new script `update-mirror.sh` which generates the proper blob format for R2 (or any blob storage) to mirror all of our dependencies. It doesn't automate updating build.zig.zon but on an ongoing basis this should be easy to do manually, and we can strive to automate it in the future. I omitted iTerm2 color themes because we auto-update that via CI and updating all of the machinery to send it to our mirror and so on is a pain. Additionally, this doesn't mirror transitive dependencies because Zig doesn't have a way to fetch those from a mirror instead (unless you pre-generate a full cache like packagers but that's not practical for day to day development). It's hugely beneficial just to get most of our dependencies mirrored.
2024-04-17working on more zig breaking changesMitchell Hashimoto
2024-02-05pkg: remove unused files, add highway API to get targetsMitchell Hashimoto
2024-02-05pkg/utfcppMitchell Hashimoto