summaryrefslogtreecommitdiff
path: root/pkg/vis/gen.lua
blob: 00aaf30cb009d5ab52100472bd0b4e200c6ac72d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
set('version', 'v0.6')
cflags{
	'-std=c99',
	'-D CONFIG_HELP=1',
	'-D CONFIG_CURSES=1',
	'-D CONFIG_LUA=1',
	'-D CONFIG_LPEG=1',
	'-D CONFIG_TRE=0',
	'-D CONFIG_SELINUX=0',
	'-D CONFIG_ACL=0',
	'-D HAVE_MEMRCHR=1',
	'-D _XOPEN_SOURCE=700',
	[[-D 'VERSION="$version"']],
	string.format([[-D 'VIS_PATH="%s/share/vis"']], config.prefix),
	'-D NDEBUG',
	'-I $outdir',
	'-isystem $builddir/pkg/libtermkey/include',
	'-isystem $builddir/pkg/lua/include',
	'-isystem $builddir/pkg/ncurses/include',
}

build('copy', '$outdir/config.h', '$srcdir/config.def.h')

pkg.deps = {
	'$outdir/config.h',
	'pkg/libtermkey/headers',
	'pkg/lua/headers',
	'pkg/ncurses/headers',
}

exe('vis', [[
	array.c buffer.c libutf.c main.c map.c
	sam.c text.c text-motions.c text-objects.c text-util.c
	ui-terminal.c view.c vis.c vis-lua.c vis-modes.c vis-motions.c
	vis-operators.c vis-registers.c vis-marks.c vis-prompt.c vis-text-objects.c text-regex.c
	$builddir/pkg/libtermkey/libtermkey.a.d
	$builddir/pkg/lpeg/liblpeg.a
	$builddir/pkg/lua/liblua.a
	$builddir/pkg/ncurses/libncurses.a
]])
file('bin/vis', '755', '$outdir/vis')

exe('vis-digraph', {'vis-digraph.c'})
file('bin/vis-digraph', '755', '$outdir/vis-digraph')

exe('vis-menu', {'vis-menu.c'})
file('bin/vis-menu', '755', '$outdir/vis-menu')

file('bin/vis-open', '755', '$srcdir/vis-open')

for _, f in ipairs{'vis.1', 'vis-digraph.1', 'vis-menu.1', 'vis-open.1'} do
	build('sed', '$outdir/'..f, '$srcdir/man/'..f, {expr='s,VERSION,$version,'})
	man{'$outdir/'..f}
end

for f in iterlines('lua.txt') do
	file('share/vis/'..f, '644', '$srcdir/lua/'..f)
end
sym('share/vis/lexer.lua', 'lexers/lexer.lua')
sym('share/vis/themes/default-16.lua', 'dark-16.lua')
sym('share/vis/themes/default-256.lua', 'dark-16.lua')

fetch 'git'