mirror of
https://github.com/neovim/neovim.git
synced 2026-04-24 08:15:41 +00:00
feat(build): build.zig MVP: build and run functionaltests on linux
NEW BUILD SYSTEM!
This is a MVP implementation which supports building the "nvim" binary,
including cross-compilation for some targets.
As an example, you can build a aarch64-macos binary from
an x86-64-linux-gnu host, or vice versa
Add CI target for build.zig currently for functionaltests on linux
x86_64 only
Follow up items:
- praxis for version and dependency bumping
- windows 💀
- full integration of libintl and gettext (or a desicion not to)
- update help and API metadata files
- installation into a $PREFIX
- more tests and linters
This commit is contained in:
@@ -17,7 +17,9 @@ local sleep = uv.sleep
|
||||
--- Functions executing in the current nvim session/process being tested.
|
||||
local M = {}
|
||||
|
||||
local runtime_set = 'set runtimepath^=./build/lib/nvim/'
|
||||
local lib_path = t.is_zig_build() and './zig-out/lib' or './build/lib/nvim/'
|
||||
M.runtime_set = 'set runtimepath^=' .. lib_path
|
||||
|
||||
M.nvim_prog = (os.getenv('NVIM_PRG') or t.paths.test_build_dir .. '/bin/nvim')
|
||||
-- Default settings for the test session.
|
||||
M.nvim_set = (
|
||||
@@ -34,7 +36,7 @@ M.nvim_argv = {
|
||||
'NONE',
|
||||
-- XXX: find treesitter parsers.
|
||||
'--cmd',
|
||||
runtime_set,
|
||||
M.runtime_set,
|
||||
'--cmd',
|
||||
M.nvim_set,
|
||||
-- Remove default user commands and mappings.
|
||||
@@ -425,7 +427,7 @@ local function remove_args(args, args_rm)
|
||||
last = ''
|
||||
elseif vim.tbl_contains(args_rm, arg) then
|
||||
last = arg
|
||||
elseif arg == runtime_set and vim.tbl_contains(args_rm, 'runtimepath') then
|
||||
elseif arg == M.runtime_set and vim.tbl_contains(args_rm, 'runtimepath') then
|
||||
table.remove(new_args) -- Remove the preceding "--cmd".
|
||||
last = ''
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user