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.
This commit is contained in:
parent
ce97c0dd17
commit
74c337df5d
1
libexec/kak
Symbolic link
1
libexec/kak
Symbolic link
|
@ -0,0 +1 @@
|
|||
../src/kak
|
|
@ -55,6 +55,7 @@ PREFIX ?= /usr/local
|
|||
DESTDIR ?= # root dir
|
||||
|
||||
bindir := $(DESTDIR)$(PREFIX)/bin
|
||||
libexecdir := $(DESTDIR)$(PREFIX)/libexec/kak
|
||||
sharedir := $(DESTDIR)$(PREFIX)/share/kak
|
||||
docdir := $(DESTDIR)$(PREFIX)/share/doc/kak
|
||||
mandir := $(DESTDIR)$(PREFIX)/share/man/man1
|
||||
|
@ -162,6 +163,7 @@ distclean: clean
|
|||
|
||||
installdirs:
|
||||
install -d $(bindir) \
|
||||
$(libexecdir) \
|
||||
$(sharedir)/rc \
|
||||
$(sharedir)/colors \
|
||||
$(sharedir)/doc \
|
||||
|
@ -170,6 +172,7 @@ installdirs:
|
|||
|
||||
install: kak man installdirs
|
||||
install -m 0755 kak $(bindir)
|
||||
ln -rsf $(bindir)/kak $(libexecdir)/kak
|
||||
install -m 0644 ../share/kak/kakrc $(sharedir)
|
||||
install -m 0644 ../doc/pages/*.asciidoc $(sharedir)/doc
|
||||
cp -r ../rc/* $(sharedir)/rc
|
||||
|
|
|
@ -72,7 +72,7 @@ ShellManager::ShellManager(ConstArrayView<EnvVarDesc> builtin_env_vars)
|
|||
// have access to the kak command regardless of if the user installed it
|
||||
{
|
||||
const char* path = getenv("PATH");
|
||||
auto new_path = format("{}:{}", path, split_path(get_kak_binary_path()).first);
|
||||
auto new_path = format("{}../libexec/kak:{}", split_path(get_kak_binary_path()).first, path);
|
||||
setenv("PATH", new_path.c_str(), 1);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user