Maxime Coste
8566ae14a0
Reduce the amount of Regex VM Instruction code
...
Merge all lookarounds into the same instruction, merge splits, merge
literal ignore case with literal...
Besides reducing the amount of almost duplicated code, this improves
performance by reducing pressure on the (often failing) branch target
prediction for instruction dispatching by moving branches into the
instruction code themselves where they are more likely to be well
predicted.
2021-11-21 09:44:18 +11:00
Frank LENORMAND
36166d8b0f
src makefile: Install GDB types in debug mode
2021-11-08 13:39:55 +03:00
Frank LENORMAND
9f0b241e09
src: Uninstall libexec properly
2021-09-08 14:26:48 +03:00
Maxime Coste
3b4d2b63c6
Remove references to ncurses in Makefile
2021-07-12 10:25:58 +10:00
Maxime Coste
958a943121
Avoid non-POSIX ln -r switch
...
Fixes #3985
2020-12-25 12:07:13 +11:00
Maxime Coste
74c337df5d
Add a libexec/ directory and use it to find the kak command
...
Add that libexec directory to the PATH instead of the current kak
binary directory to avoid impacting other commands.
The libexec directory currently only contains a symlink back to
the Kakoune binary.
2020-12-09 09:13:45 +11:00
Nicolas Ouellet-payeur
4a59db1bd1
Fix wcwidth() compile error with MSYS2
...
We try to detect when compiling under Cygwin, so we can set the
_XOPEN_SOURCE define which lets us use wcwidth(). We look for the
string "CYGWIN" in the uname, which looks like:
CYGWIN_NT-10.0
MSYS2 is also based on Cygwin, so all of the above should still work.
However, we detect Cygwin by looking for the string "CYGWIN" in the
uname. In MSYS2, the uname looks like:
MSYS_NT-10.0-18362
This patch looks for the string "_NT" instead of the string "CYGWIN"
in the uname, since it's common to both environments. This fixes a
compilation error on MSYS2.
2020-10-19 09:36:25 -04:00
luka null
1296922d66
Add illumos/Solaris support
2020-09-18 05:22:25 -05:00
Frank LENORMAND
789caf89a3
rc Makefile: Fix the predicate to detect g++
...
Some distributions replace the expected "GCC" tag with their own name
and version, causing the Makefile not to include a compiler flag.
2020-03-12 17:04:34 +03:00
Frank LENORMAND
744336ef2b
src: Only remove objects and dependencies for the current target
2020-02-09 19:12:40 +01:00
Jiri Konecny
e6c7a8e44f
Make possible to change compression for make dist
...
This will make possible to get the same archive from make dist as from
GitHub archives. GitHub archives do not support current bzip2.
2019-12-18 17:59:18 +01:00
Maxime Coste
dc536da513
Split clang/gcc specific arguments
2019-10-17 12:30:24 +11:00
Justin Frank
8094ded9b5
Added -Wno-init-list-lifetime to CXXFLAGS
2019-09-17 13:38:17 -07:00
Maxime Coste
c2e43ee42c
Use -O0 for debug builds
...
-Og is not nice enough to work with in gdb, control jumps around
in too unpredictible ways due to inlining.
2019-07-09 19:27:55 +10:00
Maxime Coste
6e09f677f4
Fix silly typo
2019-06-23 18:11:16 +10:00
Maxime Coste
a2fce67e9d
Put -Og flag in CXXFLAGS, not CPPFLAGS
2019-06-23 16:30:42 +10:00
Maxime Coste
177f38afd1
Merge remote-tracking branch 'eraserhd/debug-optimizations'
2019-06-23 12:05:21 +10:00
codesoap
a0e0229f20
Fix the man path for OpenBSD
2019-05-28 11:21:29 +02:00
codesoap
6788b3ae27
Avoid using gzips '-k' for compatibility
...
OpenBSD's gzip doesn't have '-k', but file redirection should work
everywhere.
2019-05-28 11:21:29 +02:00
Jason Felice
a527aea465
Add -Og for debug builds
...
On my system, some optimizations are on by default (NixOS), resulting in
variables being optimized out on debug builds. It *seems to be*
something about a "_FORTIFY_SOURCE" feature? In any case, `-Og` is
documented as "Optimize debugging experience".
2019-05-21 08:44:26 -04:00
Maxime Coste
688afee41b
Only pass ncurses compilation flags to ncurses_ui.cc
2019-03-26 13:04:08 +11:00
Vladimir Bauer
247e8b4a19
find $(sharedir)/rc ...
2019-03-22 22:21:00 +03:00
Vladimir Bauer
b839e45573
undo clean section
2019-03-22 19:23:50 +03:00
Vladimir Bauer
a5897fe1b6
call find in BSD compatible way
2019-03-22 13:28:52 +03:00
Justin Frank
4c26a03a61
Fixed makefile so properly installs new rc structure
2019-03-21 18:49:04 -07:00
Maxime Coste
21fa4dcb13
Re-introduce -MP in the C++ compilation rule
...
It turns out it is important to avoid having to clean when a header
is deleted.
2019-03-05 20:56:44 +11:00
Justin Frank
6a3c3a3f82
-MP compile option isn't needed since header files aren't globbed
2019-02-27 22:46:04 -08:00
Justin Frank
8178400f8d
Fixed all reorder warnings
2019-02-27 22:45:31 -08:00
Justin Frank
29342836a6
Fixed Selection being defined as a struct and class
2019-02-27 22:45:31 -08:00
Maxime Coste
c07f052de7
Default to release build
...
Fixes #2701
2019-01-22 19:41:58 +11:00
Maxime Coste
3babd0685c
Switch to compilation standard to C++17
2019-01-20 22:59:28 +11:00
Maxime Coste
1a280e91c7
Add support for 'sanitizers=...' make option
...
Use make sanitizers=undefined,address to enable undefined and address
sanitizers.
Closes #2596
2018-12-19 19:31:04 +11:00
Frank LENORMAND
7fea08e736
src: The test
build target depends on kak
...
Not having the `test` target (in the Makefile) depend on the `kak` one
prevents users from running commands that make use of parallelism, e.g.:
$ make -j all test
The above command sometimes results in the test suite running before
the binary has been compiled and symlinked, resulting in failures.
2018-12-06 14:34:29 +03:00
Justin Frank
0d49c925e3
Keep doc/kak.1 when running make-install
2018-10-23 18:15:01 -07:00
Maxim Baz
9f6518a031
Fix Makefile for manpage
2018-10-23 02:34:05 +02:00
Frank LENORMAND
60b24c6a32
doc: Convert the man page to the TROFF format
...
Fixes #2504
2018-10-21 14:04:25 +03:00
Maxime Coste
b8dbe6135c
Remove leading v in archive names when generating releases
2018-09-04 08:22:28 +10:00
Maxime Coste
7cf3cbde8e
Cleanup some trailing whitespaces and double semicolon
2018-07-26 21:56:34 +10:00
dahlbaek
52a3e9a84d
Pass in OpenBSD binary path using preprocessor option
...
Alternative to hard coding binary path for OpenBSD
2018-06-20 14:20:55 +02:00
Patrick Marchand
2789857f32
Adds openbsd support
...
Seems to work on openbsd 6.3-current but needs more testing. Had to
hardcode the binary path as openbsd considers getting the executable
path at runtime a security flaw.
2018-06-20 14:20:55 +02:00
Stephen Hassard
eca53db2bf
remove dragonflybsd specific logic since pkg-config works perfectly fine now
2018-04-22 09:12:45 -07:00
Maxime Coste
0f38be544c
Makefile: use git-describe to get the version string
...
That means we can just tag releases and the version will be taken
from the tag to generate the tarball.
2018-04-14 13:05:59 +10:00
Maxime Coste
a2978bff25
Makefile: formatting fix
2018-04-10 19:02:32 +10:00
Maxime Coste
fc86acd9f0
Makefile: add a dist target to generate a tarball
2018-04-09 16:57:15 +10:00
Frank LENORMAND
01c1b4fd69
src makefile: Fix the --static
flag passed to pkg-config
2018-02-22 15:56:14 +03:00
Maxime Coste
eb2e44e0eb
Makefile: use PKG_CONFIG to get static compilation flags as well
2018-02-18 15:43:28 +11:00
Maxime Coste
52016d32bc
Makefile: Only check for pkg-config when on a system that uses it
...
This fixes compilation on OSX where pkg-config is not installed
by default.
2018-02-03 13:37:09 +11:00
Frank LENORMAND
202c977b3d
src makefile: Abort compilation when pkg-config
is not in PATH
...
Fixes #1792
2018-01-11 10:41:19 +03:00
Delapouite
bf222a0628
Docs: add missing -i <suffix> command line flag
2017-11-19 11:43:08 +01:00
Kylie McClain
3e1a4df3fb
Makefile: Add ability to disable compressing manpage
...
Some distributions don't compress them.
2017-11-19 01:53:40 -05:00