Commit Graph

553 Commits

Author SHA1 Message Date
Kovid Goyal
f979c24add Move some defines to only the source files where they are needed 2024-05-16 17:38:26 +05:30
Kovid Goyal
f30652c24a ... 2024-05-16 17:18:06 +05:30
Kovid Goyal
28a9f48786 Fix CI with systemd 2024-05-16 16:00:28 +05:30
Kovid Goyal
39ea084be9 Linux: Run all child processes in their own systemd scope to prevent the OOM killer from harvesting kitty when a child process misbehaves
Fixes #7427
2024-05-16 15:43:25 +05:30
Kovid Goyal
a4c9cb6d28 Small performance increase in SIMD code
Use OpenMP annotations with simde as the simde docs recommend.
2024-05-04 09:47:02 +05:30
Kovid Goyal
8183e9d3ef Fix CI build failure on macOS
Also update simde to version 0.8. Accidental was using it to debug
issues with building against simde, but now that it's done, keep it.
2024-04-30 09:48:51 +05:30
Kovid Goyal
437fc0d8c2 Revert renaming of kitty.dekstop to kitty-terminal.desktop
Changing the default value for application id/WM_CLASS is a no go, since
existing scripts can depend on it and I try to avoid breaking people's
workflows wherever possible. Guess xdg-mime will just have to live with
the horror of an unhyphenated file name.

Fixes #7326
2024-04-09 12:47:14 +05:30
Kovid Goyal
597710dd53 Add StartupNotify to kitty.desktop
See https://gitlab.gnome.org/GNOME/mutter/-/issues/2739

Also rename kitty.desktop to kitty-terminal.desktop as otherwise
xdg-menu-install complains about no vendor prefix.
2024-04-08 10:00:06 +05:30
Kovid Goyal
20375ee77a Fix #7310 2024-04-04 15:08:58 +05:30
Kovid Goyal
d260c0a679 ... 2024-03-29 13:31:31 +05:30
Kovid Goyal
c72963dfc5 Use requires-python in pyproject.toml to specify python requirement 2024-03-29 13:23:09 +05:30
Kovid Goyal
a0424bf1bd Dont omit frame pointer in debug and profile builds 2024-03-18 10:56:50 +05:30
Kovid Goyal
5e0185d3eb Ensure KITTY_NO_SIMD is defined for all files on arches without SIMD support 2024-03-15 12:19:47 +05:30
Kovid Goyal
0153c9bb85 Use -g3 for profiling rather than -g 2024-03-14 17:07:38 +05:30
Kovid Goyal
10cff577d6 Also get a backtrace when generating go code segfaults on CI 2024-03-14 16:25:52 +05:30
Kovid Goyal
77125798a4 Redirect to NULL instead of pipe since we dont use the output 2024-03-14 12:15:15 +05:30
Kovid Goyal
c26954c69e ... 2024-03-14 12:05:57 +05:30
Kovid Goyal
9667da307c Print detected compiler type in verbose mode 2024-03-14 12:04:33 +05:30
Kovid Goyal
baa3ec0a62 Explicitly detect compiler types gcc vs clang 2024-03-14 12:02:01 +05:30
Kovid Goyal
3950632517 Switch to detecting clang rather than gcc
gcc makes it impossible to detect that it is gcc via --version
so instead detect clang and assume gcc if not clang.

Fixes #7218
2024-03-14 10:48:27 +05:30
Kovid Goyal
297ac9c3fe ... 2024-03-14 08:54:39 +05:30
Kovid Goyal
17fe6b3373 Simplify sanitize args 2024-03-01 11:08:51 +05:30
Kovid Goyal
f16c2a0d67 Move checking for compiler brand into Env 2024-02-25 09:57:43 +05:30
Kovid Goyal
29a574a4bc Prevent duplicate VZEROUPPER instructions 2024-02-25 09:57:43 +05:30
Kovid Goyal
f1fe0bf40a Code to easily compare SIMD and scalar decode in a live instance
Also remove -mtune=intel as it fails with clang
2024-02-25 09:57:41 +05:30
Kovid Goyal
55c909c656 Use -mtune=intel for SIMD files when building without native optimizations 2024-02-25 09:57:40 +05:30
Kovid Goyal
68d800d4fa make clean should clean generated asm as well 2024-02-25 09:57:40 +05:30
Kovid Goyal
73342411bc Dont build any SIMD code when the target is neither ARM64 nor x86/amd64 2024-02-25 09:57:38 +05:30
Kovid Goyal
8dd6f9b07c Get universal builds working again
Now we use lipo and build individually so we can pass the correct
compiler flags per arch
2024-02-25 09:57:38 +05:30
Kovid Goyal
7e77a196e6 Build only the SIMD code with SIMD compiler flags 2024-02-25 09:57:38 +05:30
Kovid Goyal
465616223c Drop using the v2 microarch
No significant performance impact and small risk of breakage
2024-02-25 09:57:38 +05:30
Kovid Goyal
4fec11af05 Run dsymutil in post link phase 2024-02-25 09:57:37 +05:30
Kovid Goyal
5a9304e1b8 DRYer 2024-02-25 09:57:37 +05:30
Kovid Goyal
2b9c646c5b Build dSYM bundles on CI 2024-02-25 09:57:37 +05:30
Kovid Goyal
8762a939c0 Dont specify arch/tune when building universal binary 2024-02-25 09:57:37 +05:30
Kovid Goyal
903dd26a08 Sadly -march=x86-64-v2 is not the culprit for the intermittent SIGILL in macOS CI 2024-02-25 09:57:36 +05:30
Kovid Goyal
a9111f9a40 Try disabling x86-64-v2 on macOS 2024-02-25 09:57:35 +05:30
Kovid Goyal
0bd67620c6 ... 2024-02-25 09:57:30 +05:30
Kovid Goyal
73d657a21a Dont use intel intrinsics switches on ARM 2024-02-25 09:57:29 +05:30
Kovid Goyal
103f5f3956 Move ringbuf into 3rdparty 2024-02-25 09:57:29 +05:30
Kovid Goyal
56dcbca238 Move base64simd into a 3rdparty folder 2024-02-25 09:57:29 +05:30
Kovid Goyal
3d0a90e63d Switch to SIMD based base64 2024-02-25 09:57:29 +05:30
Kovid Goyal
4790959938 Use -fno-plt
We dont need the PLT and it frees up some registers
2024-02-25 09:57:28 +05:30
Kovid Goyal
33249c872f Use a better default march for binary builds
x86-64-v2 implies SSE4.2 which should be available everywhere by now. We
will see if we get errors with it.

https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level#architectural_considerations_for_rhel_9
2024-02-25 09:57:28 +05:30
Kovid Goyal
b032313c45 Only use SIMD if CPU supports it at runtime 2024-02-25 09:57:27 +05:30
Kovid Goyal
4f67b8b433 Need -msse4.2 on non-native builds 2024-02-25 09:57:27 +05:30
Kovid Goyal
859b0cc585 Include -march=native for debug builds 2024-02-25 09:57:26 +05:30
Kovid Goyal
5f809bf249 Get kitty building with the new VT parser 2024-02-25 09:57:22 +05:30
Kovid Goyal
b083ad9038 Start work on bytes based VT parser 2024-02-25 09:57:22 +05:30
Kovid Goyal
a3e324d623 When testing for cf-protection support take env into account 2024-01-21 08:42:55 +05:30