Commit Graph

429 Commits (main)

Author SHA1 Message Date
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
Mitchell Hashimoto 29717269ca
build: remove tracy completely 2024-01-13 14:30:56 -08:00
Mitchell Hashimoto 5216b4cfe9
build: remove generate_rgb_names 2024-01-10 20:40:21 -08:00
Jeffrey C. Ollie bc1544a3f0
add ability to specify RGB colors as names from the X11 rgb name list 2024-01-10 20:26:59 -08:00
Mitchell Hashimoto 829776bebd
pkg/apple-sdk: always require a module 2024-01-09 22:11:03 -08:00
Mitchell Hashimoto ec6d470985
build: only build embedded lib when targeting macos specifically 2024-01-09 21:36:10 -08:00
Tristan Partin d2813655e5 fix: update code to compile with 0.12.0-dev.2075+f5978181e 2024-01-08 20:08:10 -06:00
Mitchell Hashimoto a8a42c8658
fix macos `zig build test` failures 2024-01-07 12:10:48 -08:00
Mitchell Hashimoto c1bde28af4
update flake 2024-01-07 12:03:23 -08:00
Krzysztof Wolicki 12f4210558 Update required zig version to 0.12.0-dev.2063+804cee3b9 2024-01-07 20:42:30 +01:00
Krzysztof Wolicki 5776c54225 Update changed build.zig 2024-01-07 15:00:17 +01:00
Krzysztof Wolicki 710b02a2ab Merge branch 'main' of github.com:mitchellh/ghostty 2024-01-06 05:42:55 +01:00
widberg cc29f06863 Don't build with LTO on Windows 2024-01-04 21:24:15 -05:00
Krzysztof Wolicki 1d49492e04 build.zig: Make use of resolveTargetQuery for wasm_freestanding target 2024-01-04 13:29:43 +01:00
Krzysztof Wolicki 1913243c35 WIP: Update to new build module API after Zig PR #18160
Temporarily change dependency sources to forks until they update
2024-01-03 21:50:32 +01:00
Mitchell Hashimoto eb46161b5e
config: generate vim configs at comptime 2023-12-22 08:19:17 -08:00
Gregory Anders 4f01aafdba build: move Vim plugin file generation into a separate Step 2023-12-21 21:49:38 -06:00
Gregory Anders e9632a0f91 build: build Vim plugin files for Ghostty config file
Generate Vim syntax and ftplugin files for the Ghostty config file that
highlight Ghostty config keywords and offer completion for valid config
keys. The list of configuration keys is generated at compile time.

The plugin files are installed to ${prefix}/share/vim/vimfiles, which is
a standard location for installing 3rd party Vim plugin files.
2023-12-21 21:46:26 -06:00
Gregory Anders 8751502878
core: look for resources in "ghostty" subdirectory for "share" paths
Installing resources directly under ${prefix}/share causes conflicts
with other packages. This will become more problematic whenever Ghostty
is opened and becomes packaged in distributions.

Instead, install all resources under a "ghostty" subdirectory (i.e.
${prefix}/share/ghostty). This includes themes, shell integration, and
terminfo files.

Only "/usr/share" style paths use the "ghostty" subdirectory. On macOS,
Ghostty is already isolated within its app bundle, and if
$GHOSTTY_RESOURCES_DIR is set then we assume that points to the actual
resources dir (without needing to append "ghostty" to it).
2023-12-21 17:56:17 -08:00
Chris Marchesi 5e7e3be60a
build: use dedicated strings for conformance test keys
This uses separate strings for the keys for the conformance tests versus
just deriving them from the sliced path.

This fixed an issue for me where a few of the tests were showing up as
InvalidConformance (notably the "blocks" test), even though, oddly
enough, the key/value entries do appear to be there (e.g. if you iterated
over them). I did notice, though, that we currently sliced the key from
the file entry of the directory iterator, which is closed at the end of
conformanceSteps.
2023-12-14 21:35:04 -08:00
Mitchell Hashimoto 8f5f8fb0bd
update Zig version in Nix 2023-11-30 14:06:24 -08:00
Krzysztof Wolicki bfc688e96e Update required zig version to `0.12.0-dev.1767+1e42a3de8` 2023-11-30 21:41:42 +01:00
Krzysztof Wolicki 46699d53d1 Update to latest master 2023-11-30 21:40:01 +01:00
Mitchell Hashimoto af04d891ff
build: dynamically link oniguruma 2023-11-29 15:29:43 -08:00
Mitchell Hashimoto b85174c7ac
build: add oniguruma 2023-11-29 15:29:43 -08:00
Mitchell Hashimoto dde2339e4d
move back to zig pm 2023-11-28 08:11:34 -08:00
Mitchell Hashimoto c7a1e074dd
don't use package manager for iterm2 themes yet 2023-11-22 22:08:27 -08:00
Mitchell Hashimoto 7a91a23e40
build: add iterm2 themes repository, install into resources dir 2023-11-22 21:08:26 -08:00
Mitchell Hashimoto 8576acb89e
renderer/opengl: move opengl API to pkg/opengl 2023-11-17 21:51:04 -08:00
Mitchell Hashimoto 291ca16c20
build: add spirv-cross 2023-11-17 21:50:35 -08:00
Mitchell Hashimoto 1678c3a038
build: add glslang 2023-11-17 21:50:35 -08:00
Krzysztof Wolicki 44a48f62f1 change unmodified `var`s to `const`s in anticipation of zig changes 2023-11-17 15:46:46 +01:00
Mitchell Hashimoto 4781a83e4a
replace utf8proc with ziglyph 2023-11-07 13:17:56 -08:00
xdBronch 205b27dc80
remove deps that were already provided by other packages (#797) 2023-11-03 14:04:00 -07:00
Mitchell Hashimoto 1235c33db2
Merge pull request #794 from hqnna/main
Add option to enable or disable libadwaita
2023-11-02 22:14:59 -07:00
hanna 915f1f5e62
change option name and default value 2023-11-02 22:03:11 -07:00
hanna 63fe99809f
remove hard dependency on libadwaita 2023-11-02 21:54:05 -07:00
Mitchell Hashimoto 2275768383
font: if a codepoint is emoji presentation, prefer that for shaping
Fixes #787
2023-11-02 21:46:50 -07:00
Hanna 2d7e2c8345
Integrate libadwaita for the gtk backend (#792)
* When using gtk as the backend, link libadwaita

* Update c.zig

* Use libadwaita's theme manager for gtk

* update the documentation for window-theme

* build: add libadwaita to the nix devshell

* forgot to properly import libadwaita

* apprt/gtk: adwaita style change

---------

Co-authored-by: Mitchell Hashimoto <mitchell.hashimoto@gmail.com>
2023-11-02 21:29:29 -07:00
Mitchell Hashimoto 423d0d58c0
build: do not build glfw for gtk anymore 2023-10-27 15:11:04 -07:00
Mitchell Hashimoto efddef9d1c
build: add cimgui to build 2023-10-24 15:27:13 -07:00
Mitchell Hashimoto cbdf52864a
Merge pull request #704 from der-teufel-programming/windows-test
Get `zig build test` working on Windows
2023-10-23 08:52:43 -07:00
Mitchell Hashimoto b9b33ab25d
pkg/fontconfig: make iconv build param non-windows specific 2023-10-23 08:40:25 -07:00
Mitchell Hashimoto b6a47cef77
build: disable Tracy by default even for debug builds
Our usage has a memory leak and I don't know where it is and don't want
to spend the time finding it because we very rarely use the tracy
integration anyways.
2023-10-19 20:03:36 -07:00
Krzysztof Wolicki cf9f025a5b Don't enable iconv for fontconfig dep on windows 2023-10-19 17:10:24 +02:00
Krzysztof Wolicki 00c24e4ae6
Fix option name passed to fontconfig dep 2023-10-19 10:52:09 +02:00
Krzysztof Wolicki 3936b471a8 Disable iconv on Windows by default (enabled via cli flag).
Skip various tests not implemented on windows.
2023-10-19 09:39:20 +02:00
Mitchell Hashimoto 8f46d114c0
update zig 2023-10-17 12:45:35 -07:00
Mitchell Hashimoto 2b28106837
update zig 2023-10-02 08:18:35 -07:00
Mitchell Hashimoto 0b6cfac8b0
don't run dependency tests anymore 2023-10-01 18:34:51 -07:00
Mitchell Hashimoto 4e1b3b3224
fix failing test, freetype needs libpng 2023-10-01 18:33:37 -07:00
Mitchell Hashimoto e3a58526ce
fix dynamic build 2023-10-01 17:42:18 -07:00
Mitchell Hashimoto d71197dc59
no more system_sdk 2023-10-01 17:38:30 -07:00
Mitchell Hashimoto 3a4842a0a5
fix build on linux 2023-10-01 17:32:59 -07:00
Mitchell Hashimoto ccd6eee5fe
progress on glfw 2023-10-01 17:30:11 -07:00
Mitchell Hashimoto 8395bb7470
pkg/tracy 2023-10-01 17:11:04 -07:00
Mitchell Hashimoto 7bd4c96b41
remove unused deps 2023-10-01 17:04:17 -07:00
Mitchell Hashimoto aece38ecb2
macos: fix missing symbols in archive 2023-10-01 17:03:32 -07:00
Mitchell Hashimoto ec26fb7cee
pkg/macos 2023-10-01 17:02:12 -07:00
Mitchell Hashimoto fefbd7afbe
pkg/pixman, utf8proc 2023-10-01 16:59:24 -07:00
Mitchell Hashimoto 2237b43df0
pkg/freetype, harfbuzz modules 2023-10-01 16:57:45 -07:00
Mitchell Hashimoto bc0f5c3012
pkg/fontconfig module 2023-10-01 16:52:36 -07:00
Mitchell Hashimoto 8666ab81c3
libxev, zig-js, zig-objc 2023-10-01 16:49:02 -07:00
Mitchell Hashimoto 3ed6a02176
pkg/utf8proc 2023-10-01 16:45:39 -07:00
Mitchell Hashimoto 5feeac66b2
pkg/pixman 2023-10-01 15:04:55 -07:00
Mitchell Hashimoto d3746bc96f
add fontconfig 2023-10-01 12:46:17 -07:00
Mitchell Hashimoto 7edb86f9e1
pkg/fontconfig 2023-10-01 12:43:36 -07:00
Mitchell Hashimoto 2312c465c6
use package manager for font stack 2023-10-01 12:32:17 -07:00
Mitchell Hashimoto 6aef48288a
pkg/harfbuzz 2023-10-01 12:23:38 -07:00
Mitchell Hashimoto 7dc3fcc41e
pkg/freetype 2023-10-01 12:12:05 -07:00
Mitchell Hashimoto 6e2b7c607e
pkg/libpng, pkg/zlib use package manager 2023-10-01 11:25:18 -07:00
Mitchell Hashimoto 9e6cb63a1e
update zig 2023-10-01 09:11:57 -07:00
Nathan Youngman 73331887fe
fabs builtin was renamed
https://github.com/ziglang/zig/pull/17248

I just tried installing from source and ran into the error:

> error: invalid builtin function: '@fabs'
2023-09-28 15:29:08 -07:00
Mitchell Hashimoto 695c50a73a
update zig 2023-09-27 08:11:59 -07:00
Mitchell Hashimoto e644be3b25
update zig to 0.12.0-dev.464+a63a1c5cb 2023-09-21 11:03:34 -07:00
Mitchell Hashimoto f3662354e5
apprt/gtk: about window 2023-09-18 15:16:35 -07:00
Jonathan Marler a2e881ff4e windows: initial support for zig build test
Makes progress getting "zig build test" to work on windows.  Mostly
fixed issues around build configuration and added some branches throughout
the Zig code to return/throw errors for unimplemented parts.

I also added an initial implementation for getting the home dir.
2023-09-14 03:15:40 -06:00
Mitchell Hashimoto 63386e4a22
build: can select renderer with -Drenderer
Note that not all renderers work in all environments.
2023-08-25 08:12:31 -07:00
Mitchell Hashimoto ec69644de6
move stb to src/stb, add stb_image for png decoding 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto 936befa1af
update to 0.12.0-dev.141+ddf5859c2 2023-08-20 09:04:42 -07:00
Mitchell Hashimoto 7ccf86b175
remove imgui and devmode
imgui has been a source of compilation challenges (our fault not theirs)
and devmode hasn't worked in awhile, so drop it.
2023-08-20 08:50:24 -07:00
Mitchell Hashimoto e8a6d09297
build: gtk needs imgui 2023-08-18 08:25:20 -07:00
Mitchell Hashimoto 3879f7c2e8
build: imgui should not be linked without an apprt 2023-08-18 08:24:09 -07:00
Mitchell Hashimoto 7659a2a733
build: fix linking bugs for macos test 2023-08-18 08:23:58 -07:00
Mitchell Hashimoto 68a9110d8e
build: make glfw opt-in on all platforms, default to GTK on Linux
The GLFW build has grown farther and farther in feature parity with GTK
on Linux. And on macOS, the GLFW build has been unstable (crashes) for
months.

I still find the GLFW build useful for testing some core terminal work,
but it is increasingly user-hostile in case someone just downloads the
project and does a `zig build`.

I keep GLFW as up to date as I can, but the features that are missing
are due to fundamental limitations:

  - GLFW has no tabs, splits, etc. because it has no UI elements.
    I am not interested in painting UI widgets from scratch.

  - GLFW cannot support keyboard layouts robustly because it has no
    hooks to detect keyboard layouts or functions to get keymaps.

  - GLFW cannot support the Kitty keyboard protocol because the
    key/char API is too high level and it provides no low-level
    alternatives.

  - GLFW crashes on macOS under certain scenarios (this is my problem).
    I'm not interested in fixing it because the AppKit-based build
    is highly recommended.

To build or run the GLFW build you must now explicitly pass in
`-Dapp-runtime=glfw` to `zig build`.
2023-08-17 16:27:03 -07:00
Mitchell Hashimoto b18e7393e1
build: remove hardcoded glibc, I don't think this error is happening 2023-08-13 11:57:43 -07:00
Mitchell Hashimoto e33f6c71de
update libxev to fix split writes on large writes (i.e. big paste)
Fixes #258

This was an upstream bug in libxev where partial the queueWrite
mechanism would not correctly handle partial write results:
https://github.com/mitchellh/libxev/pull/60
2023-08-09 08:18:43 -07:00
Kevin Hovsäter 22b8173164 Fix typos 2023-08-08 14:27:34 +02:00
Mitchell Hashimoto a348adf26b
build: dynamic link first (mode_first) 2023-08-07 10:49:50 -07:00
Mitchell Hashimoto d356d5ea38
build: add libxml2/libbuid for fontconfig dynamic link for CI 2023-08-07 10:33:00 -07:00
Mitchell Hashimoto 68cd53e82d
build: always add /usr/lib/{triple} to search path for Linux
This is a common location for dynamic libraries. We already searched it
for Flatpak but we need to do this more generally.
2023-08-07 10:20:20 -07:00
Thorsten Ball 89227a1aac flatpak: install icon files to `/apps` path
I couldn't get icons to work for the flatpak version, so I looked at the
reference here: https://docs.flatpak.org/en/latest/freedesktop-quick-reference.html

That says the path format is `share/icons/hicolor/<resolution>/apps/<icon>`.

That also matches what I have on my Ubuntu machines: icons are, for
example, located in these two locations:

- `/usr/share/icons/hicolor/128x128/apps`
- `~/.local/share/icons/hicolor/128x128/apps`

Note the `/apps`.
2023-08-06 18:54:45 +02:00
Mitchell Hashimoto 9e3d59534d
update build.zig required zig version 2023-08-02 16:18:27 -07:00
Mitchell Hashimoto dd18eaab5d
fix various build scripts 2023-08-02 15:06:24 -07:00
Mitchell Hashimoto d649b3f6d4
update zig 2023-08-02 14:39:19 -07:00
Mitchell Hashimoto 4b3b42bc54
update zig 2023-07-28 10:22:58 -07:00
Mitchell Hashimoto 848943770a
start shell-integration folder, copy into zig-out 2023-07-06 13:26:28 -07:00
Mitchell Hashimoto ce77002198
remove metal workaround completely 2023-07-01 15:19:13 -07:00
Mitchell Hashimoto f537d7aab1
renderer: remove metal workaround, this caused crashes on x86_64
And it now works.
2023-07-01 15:14:24 -07:00
Mitchell Hashimoto a212d811e7
build: update min required zig version 2023-06-30 13:24:01 -07:00
Mitchell Hashimoto b7b3b9e7f2
build.zig update min version 2023-06-25 11:18:09 -07:00
Mitchell Hashimoto 56f8e39e5b
Update zig, mach, fmt 2023-06-25 11:08:20 -07:00
Mitchell Hashimoto 701cb9f2f5
build: fix race condition in build on creating 'share' dir 2023-06-24 15:34:17 -07:00
Mitchell Hashimoto 7e51dbb7e5
build: fix race conditions, use actual filesource 2023-06-24 14:24:58 -07:00
Mitchell Hashimoto d9421b87b0
build: copy the terminfo db using cp so we get symlinks 2023-06-24 12:40:12 -07:00
Mitchell Hashimoto da1248d973
build: copy terminfo data into Mac app bundle 2023-06-24 11:41:16 -07:00
Mitchell Hashimoto aad8483323
build: use tic to compile terminfo into database format 2023-06-24 09:45:26 -07:00
Mitchell Hashimoto 21d922304b
build: build.zig encodes and writes the terminfo source 2023-06-24 09:12:42 -07:00
Mitchell Hashimoto 7116ce0806
update zig version 2023-05-29 08:24:12 -07:00
Mitchell Hashimoto 57d8754c85
update required zig version in build.zig 2023-05-27 09:31:47 -07:00
Mitchell Hashimoto 97d9157d22
update zig version 2023-05-07 20:50:51 -07:00
Mitchell Hashimoto 4de8ddbeb5
update build 2023-04-06 08:57:29 -07:00
Jakub Konka 29e93a8984 macos: force macOS 12 SDK for latest macOS 13 as Mach does not support it 2023-03-26 22:51:37 +02:00
Mitchell Hashimoto 86c5b04ff9
copy mac binary must depend on binary 2023-03-24 20:33:36 -07:00
Mitchell Hashimoto 3be86cc79a
don't prefix warning 2023-03-24 20:19:04 -07:00
Mitchell Hashimoto 19106575eb
use new build struct 2023-03-24 20:17:25 -07:00
Mitchell Hashimoto 7a6826ee0e
build: run tests 2023-03-24 19:51:17 -07:00
Mitchell Hashimoto 5dc98da9a0
build compiles at least 2023-03-24 19:39:50 -07:00
Mitchell Hashimoto 8e8aabf4c0
build.zig: detect build outside of Nix environment and provide warning 2023-03-13 11:12:12 -07:00
Mitchell Hashimoto d99cc0aec1
build.zig: automatically patchelf the rpath when in a nix shell 2023-03-13 10:59:30 -07:00
Mitchell Hashimoto 03f5addd34
build.zig handles tagged releases 2023-03-05 09:04:59 -08:00
Mitchell Hashimoto 0907da4eba
build: generate a version number, show in log on startup 2023-03-04 20:34:15 -08:00
Mitchell Hashimoto 06035e2f95
can now use -Dfont-backend to choose the font backend to use 2023-03-04 10:50:13 -08:00
Mitchell Hashimoto 2b73fbaa0d
iterating on the new for loop syntax 2023-02-27 21:53:09 -08:00
Mitchell Hashimoto 5db9854e63
build: install the proper linux desktop file depending on flatpak or not 2023-02-27 15:20:31 -08:00
Mitchell Hashimoto 533cfbc9b8
ci: add flatpak builder 2023-02-27 14:37:52 -08:00
Mitchell Hashimoto 52d22a140c
termio: exec uses new flatpak command, no more host-spawn 2023-02-27 11:26:31 -08:00
Mitchell Hashimoto 5b9bc9abdb
flatpak: build GTK version 2023-02-25 23:08:04 -08:00
Mitchell Hashimoto f18789da87
build: omit icon that is too large for freedesktop 2023-02-25 19:39:16 -08:00
Mitchell Hashimoto b927105959
build: add freedesktop file and icon 2023-02-25 14:57:48 -08:00
Mitchell Hashimoto 3dbb7e44bf
build: don't build bench by default 2023-02-25 14:57:48 -08:00
Mitchell Hashimoto 90bea1b742
gtk: get proper content scaling 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto 48c9c65915
add app runtime option, add gtk backend 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto ff9af8a07b
lots of progress running a surface but still crashes 2023-02-19 10:44:56 -08:00
Mitchell Hashimoto f30d80cabe
build: must set run condition to always now 2023-02-19 10:44:55 -08:00
Mitchell Hashimoto 1f9d4eb9f4
update to latest build API, rebase 2023-02-19 10:44:55 -08:00
Mitchell Hashimoto 2b3531378f
build: bundle compiler rt 2023-02-19 10:44:54 -08:00
Mitchell Hashimoto 9bd527fe00
macos: config API 2023-02-19 10:44:54 -08:00
Mitchell Hashimoto d2d21801d8
macos: need to link to libstdc++ 2023-02-19 10:44:54 -08:00
Mitchell Hashimoto d2dd3df86a
libtoolstep 2023-02-19 10:44:54 -08:00
Mitchell Hashimoto 8b80e65928
lots of broken stuff 2023-02-19 10:44:54 -08:00
Mitchell Hashimoto 1abaf87de9
build: LipoStep 2023-02-19 10:44:53 -08:00
Mitchell Hashimoto 55aff76922
build: remove SwiftBuildStep 2023-02-19 10:44:53 -08:00
Mitchell Hashimoto abd739f3ef
build: just copy xcframework 2023-02-19 10:44:53 -08:00
Mitchell Hashimoto 8035865596
build: ghostty lib, framework, build into app 2023-02-19 10:44:53 -08:00
Mitchell Hashimoto 4d09f8dba6
build: add SwiftBuildStep to run "swift build" 2023-02-19 10:44:52 -08:00
Mitchell Hashimoto b49634a57c
add TODO notes about arch 2023-02-19 10:44:52 -08:00
Mitchell Hashimoto 1f70181032
build: can build the app using Swift (noop) 2023-02-19 10:44:52 -08:00
Mitchell Hashimoto a2f17aa71a
fix tests, wasm build works again 2023-02-14 21:06:09 -08:00
Mitchell Hashimoto be75109a1d
new build system 2023-02-14 20:58:33 -08:00
Mitchell Hashimoto 4a1ff37d63
build conformance into dedicated directory 2023-02-10 08:43:32 -08:00
Mitchell Hashimoto 7d16acdf06
build: add comptime check to verify Zig version 2023-02-08 15:42:41 -08:00
Mitchell Hashimoto f07e21c22e
remove libuv from build 2023-02-04 17:37:51 -08:00
Mitchell Hashimoto 60fca27c33
vendor/libxev 2023-01-30 19:17:43 -08:00
Mitchell Hashimoto e9bf2a5680
pkg/objc: extract to zig-objc repo 2023-01-02 21:35:32 -08:00
Mitchell Hashimoto ce490e21ea
can specify a wasm target in build 2022-12-31 08:53:11 -08:00
Mitchell Hashimoto 241bfee7d4
wasm: use shared, imported memory
This switches our wasm build to use "shared" memory. Shared memory can
be shared across multiple web workers, which is something we'll want to
support for our multi-threaded behaviors later.

Shared memory has a number of different restrictions so this updates
zig-js to support it as well as updates some of our functions that need
to be aware of it.
2022-12-24 16:24:43 -08:00
Mitchell Hashimoto c34d911488
wasm: disable stack protector 2022-12-13 10:03:26 -08:00
Mitchell Hashimoto 2c5b5429e3
wasm: build.zig uses addDeps for wasm 2022-12-07 18:39:46 -08:00