Commit Graph

539 Commits

Author SHA1 Message Date
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
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