Commit Graph

522 Commits

Author SHA1 Message Date
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
Kovid Goyal
d6116f7426 Fix #7026 2024-01-21 08:33:59 +05:30
Maytham Alsudany
30905db75f Explicit GO111MODULE=on when getting required Go version 2024-01-19 22:46:48 +08:00
Kovid Goyal
1c72a94b2f Fix universal build with cf-protection failing 2024-01-15 12:45:55 +05:30
Kovid Goyal
46bb027d14 Fix building on old gcc/clang 2024-01-15 11:23:42 +05:30
Kovid Goyal
d4ff54e0d8 Dont use branch-protection=standard on linux ARM as it reportedly causes crashes
See https://github.com/kovidgoyal/kitty/issues/6845#issuecomment-1835886938
2023-12-01 16:48:30 +05:30
Kovid Goyal
f2075f99fd More comprehensive is_arm check
Apparently on some Linux machines platform.machine() is 'aarch64' not
'arm64'.
2023-12-01 16:36:34 +05:30
Kovid Goyal
788295e534 Turn on control flow protection build options 2023-12-01 07:36:02 +05:30
Kovid Goyal
2047ea8eec Allow package build to complete without docs if user chose to skip building kitten 2023-11-12 08:16:26 +05:30
Kovid Goyal
a3c8f32c1a Fix Linux CI build 2023-11-11 17:36:10 +05:30
Kovid Goyal
0f2196357c Make mypy happy 2023-11-11 16:07:18 +05:30
Kovid Goyal
2759ec1fe1 Add an option to setup.py to skip building kitten
Fixes #6809
2023-11-11 15:55:56 +05:30
Kovid Goyal
77292a16d6 Make shebangs consistent
Follow PEP 0394 and use /usr/bin/env python so that the python in the
users venv is respected. Not that the kitty python files are meant to be
executed standalone anyway, but, whatever.

Fixes #6810
2023-11-11 08:32:05 +05:30
Kovid Goyal
a9b412baba Fix a regression that broke kitten update-self
Fixes #6729
2023-10-18 19:19:35 +05:30
Kovid Goyal
56063b96fd Move gen scripts into their own package 2023-10-14 07:44:18 +05:30
Bernhard M. Wiedemann
50968c12b1 Make build reproducible
This needs 3 fixes:
* for an ordering issue in docs_ref_map_generated.h
* for a filesystem-order issue in uniforms_generated.h
* to normalize mtimes in the data_generated.bin tar

This patch was done while working on reproducible builds for openSUSE.
2023-10-08 04:48:51 +02:00
Kovid Goyal
dda5771ccd Yet another stupid entry in Info.plist for Apple's security theatre
Fixes #6632
2023-09-18 22:31:52 +05:30
Jeff Pitman
0626c0f5d9 Handles go versions like go1.22-YYYYMMDD-RCXX. 2023-09-10 17:49:24 -07:00
Kovid Goyal
193c2542bd Make mypy 1.5.0 happy 2023-08-11 08:34:22 +05:30
Kovid Goyal
05373c6e2a Get the new rsync code building 2023-07-30 19:49:43 +05:30
Kovid Goyal
d485d487ea Use pkg_config for xxhash flags 2023-07-30 19:49:42 +05:30
Kovid Goyal
fabb6bd8cc Start work on porting Go rsync implementation to C 2023-07-30 19:49:42 +05:30
Kovid Goyal
52ffc417b6 Build a minimal kitty.app in develop mode 2023-07-29 11:10:54 +05:30
Kovid Goyal
b2c1afdcbb Use an absolute path to python code for develop builds on macOS 2023-07-29 10:46:22 +05:30
Kovid Goyal
f8fd6031c9 Get develop builds working on macOS as well 2023-07-28 21:14:31 +05:30
Kovid Goyal
aab1bf305a Move include path logic for develop into setup.py 2023-07-28 10:23:54 +05:30
Kovid Goyal
916ce43475 make develop now builds on Linux 2023-07-28 10:07:07 +05:30
Kovid Goyal
db0b524aa3 Cleanup compile_python to use facilities from modern python 2023-07-27 11:50:53 +05:30
Kovid Goyal
22dd8ecb62 Apparently people out there want to build kitty with rc Go versions
Fixes #6499
2023-07-26 02:14:50 +05:30
Kovid Goyal
2b6b0ea9d5 Make mypy happy 2023-06-22 19:57:15 +05:30
Kovid Goyal
248301f8b3 Cleanup a bunch of shader infrastructure
1) No longer us glScissor. It's an awful API and is not available in
   Vulkan. Instead the graphics drawing code ensures the graphic is
   drawn within the current viewport

2) Use generated code to automatically get the locations of uniforms
   from shaders. Greatly simplifies adding new uniforms to a shader.

3) Dont use a VAO for loading graphics vertices. Greatly simplifies
   a bunch of book keeping code.
2023-06-22 19:38:05 +05:30
Kovid Goyal
a5a7db6ce5 Add command line options to setup.py to override the python build flags 2023-06-14 10:53:44 +05:30