387 Commits

Author SHA1 Message Date
Jonathan Marler
7f6088ee1f windows: add rc file
Adds an rc file for windows.  An rc file is a source file given to the
toolchain that instructs it on what "resources" to embed inside the
executable.  You can think of "resources" as files or data that get
embedded into the executable and can be accessed both by the application
at runtime or by the OS.  The OS uses resources for things like getting
the icon of the executable or extracting the version of an exe for the
user.  Note that exe resources can also be modified without having to
recompile/relink the binary.

Thanks to Squeek502 zig has its own "RC Compiler" so this should still be
buildable on all platforms.

In the RC file I've included some basic info and left in comments for
other info to be populated later.  I've also included a manifest file
which starts out by telling windows that our exe will be DPI aware and
to use a slightly more modern look and feel for native controls.
2024-02-11 08:51:43 -07:00
Mitchell Hashimoto
be61e0025f update min zig version 2024-02-10 16:46:09 -08:00
Mitchell Hashimoto
28c078ec37 update req version in build.zig 2024-02-10 16:43:57 -08:00
Mitchell Hashimoto
a471756ee0 build: unigen needs libc 2024-02-08 21:34:28 -08:00
Mitchell Hashimoto
4834b8e925 remove utf8proc 2024-02-08 21:11:11 -08:00
Mitchell Hashimoto
9755d0696e unicode: generate our own lookup tables 2024-02-08 21:01:11 -08:00
Mitchell Hashimoto
4ae41579da add utf8proc back for bench 2024-02-08 13:21:36 -08:00
Mitchell Hashimoto
88d81602fa simd/codepoint-width: wip 2024-02-06 22:28:26 -08:00
Mitchell Hashimoto
d4fa0fcabf bench/codepoint-width 2024-02-06 17:11:11 -08:00
Mitchell Hashimoto
b7c5fd4908 build: if emit-bench is on, do not emit exes
This isn't the cleanest approach yet. But this gets things going
quickly. Ideally longer term I want to be able to specify a list of
artifacts that you want to build or something like that.
2024-02-06 16:45:29 -08:00
Mitchell Hashimoto
ba2cd0d16b Merge pull request #1474 from jcollie/fish-completions
Generate fish command completions for Ghostty.
2024-02-06 08:56:23 -08:00
Jeffrey C. Ollie
72b1084162 Do the fish completion generation with comptime during the build rather than building a standalone executable. 2024-02-06 00:04:36 -06:00
Jeffrey C. Ollie
c55d5c383a Generate fish command completions for Ghostty. 2024-02-05 23:32:12 -06:00
Mitchell Hashimoto
0c8dd34ea7 build: update build and comments 2024-02-05 21:22:28 -08:00
Mitchell Hashimoto
b030663e03 bench/stream: benchmark for stream processing 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
120273aa1a pkg/utfcpp 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
626d4170fe move simdutf to a pkg 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
996517eb43 build: missing simdutf 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
12885a445a simd: remove old attempts 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
50e7159288 simd: implement utf8 decode until esc in C++ 2024-02-05 21:22:27 -08:00
Mitchell Hashimoto
c751619b7e terminal: use highway-based indexOf to support all targets 2024-02-05 21:22:26 -08:00
Mitchell Hashimoto
36b0db2a72 pkg/highway 2024-02-05 21:22:26 -08:00
Mitchell Hashimoto
a66174678b simd: utf decode using simdutf 2024-02-05 21:22:04 -08:00
Mitchell Hashimoto
31d5785105 simd: basic ISA detection, boilerplate 2024-02-05 21:22:03 -08:00
Andrew Kelley
3a84f77782 make mach_glfw a lazy dependency
Prevents it from being fetched unless it is actually needed.
2024-02-05 19:01:36 -08:00
Mitchell Hashimoto
f1227a3ebd build: get benchmarks building again 2024-02-04 20:27:53 -08:00
Mitchell Hashimoto
1a9f80c403 add helpgen entrypoint 2024-02-04 20:17:47 -08:00
Mitchell Hashimoto
1f2b30496b move mdgen main to build dir 2024-02-04 20:04:18 -08:00
Mitchell Hashimoto
c2b3f99faa build: create new build options per compile step
This is going to let us put more object-specific config into the options
rather than affecting every object build per build.
2024-02-04 19:40:59 -08:00
Krzysztof Wolicki
9f6e97d090 Update mach-glfw dependency 2024-02-04 18:41:14 -08:00
Mitchell Hashimoto
c40fc51f2a build: only default emit-docs to true if pandoc is on PATH 2024-01-21 14:49:45 -08:00
Mitchell Hashimoto
ba98aa3aeb build: shuffle files around for mdgen 2024-01-21 14:40:48 -08:00
Mitchell Hashimoto
0967fb46f8 build: use emit-docs for docs, don't need it on build config 2024-01-21 14:22:58 -08:00
Jeffrey C. Ollie
ef09fa89b0 Generate documenation (manpages, etc.) from help strings. 2024-01-21 15:07:22 -06:00
Mitchell Hashimoto
203b38fdac rewrite generate_help for personal style
- Output to stdin instead of a file
- Less nesting
- Utilize ranged for loops instead of while loops
- Eliminate unnecessary state tracking
- Put help in a struct
2024-01-20 09:05:25 -08:00
Jeffrey C. Ollie
f9ac37cdf7 Generate help strings from doc comments
Doc strings attached to fields of the Config struct and doc strings
attached to the run function of actions will be used to generate Zig
code that makes those doc strings available to be used at runtime.

Based on PR #853 by @Raiden1411
2024-01-19 21:19:09 -08:00
Mitchell Hashimoto
d1ad8e4740 build: copy header files, build static lib too 2024-01-18 08:59:07 -08:00
Mitchell Hashimoto
df09c21103 apprt/embedded: compile for Linux 2024-01-18 08:44:56 -08:00
Mitchell Hashimoto
0a1fba0059 Merge pull request #1305 from der-teufel-programming/better-build
Make addDeps cleaner, use addCSourceFiles instead of addCSourceFile in a loop
2024-01-15 14:30:37 -08:00
Mitchell Hashimoto
b5cd2e7a33 build: set os_version_min on default target so tests work 2024-01-15 14:29:55 -08:00
Krzysztof Wolicki
c8c2f4b0ff Make addDeps cleaner 2024-01-15 21:49:22 +01:00
Mitchell Hashimoto
635e6808f6 build: fix mistaken dependency for iOS simulator lib 2024-01-14 19:39:27 -08:00
Mitchell Hashimoto
3c7fe08d87 build: add iOS simulator target 2024-01-13 22:11:13 -08:00
Mitchell Hashimoto
722348f552 build: build iOS lib into XCFramework 2024-01-13 21:39:08 -08:00
Mitchell Hashimoto
3360a008cd build: build produces a broken object file for iOS
This gets `zig build -Dtarget=aarch64-ios` working. By "working" I mean
it produces an object file without compiler errors. However, the object
file certainly isn't useful since it uses a number of features that will
not work in the iOS sandbox.

This is just an experiment more than anything to see how hard it would be to
get libghostty working within iOS to render a terminal. Note iOS doesn't
support ptys so this wouldn't be a true on-device terminal. The
challenge right now is to just get a terminal rendering (not usable).
2024-01-13 21:38:58 -08:00
Krzysztof Wolicki
5b5bfb259b Update mach-glfw dependency 2024-01-13 19:43:51 -08:00
Mitchell Hashimoto
f61eaea4d0 build: update our macOS checks to check for macOS specifically 2024-01-13 15:29:12 -08:00
Mitchell Hashimoto
bfe3c356f0 build: move our configuration out of globals 2024-01-13 15:18:45 -08:00
Mitchell Hashimoto
d4b53cac06 build: move more options to BuildConfig 2024-01-13 15:11:28 -08:00
Mitchell Hashimoto
dfa55988d6 build: use BuildConfig struct 2024-01-13 15:08:37 -08:00