Commit graph

542 commits

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