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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
local lm = require 'luamake'
local platform = require 'bee.platform'
local exe = platform.OS == 'Windows' and ".exe" or ""
lm.bindir = "bin"
lm.EXE_DIR = ""
if platform.OS == 'macOS' then
if lm.platform == "darwin-arm64" then
lm.target = "arm64-apple-macos11"
else
lm.target = "x86_64-apple-macos10.12"
end
end
if platform.OS == 'Windows' then
if lm.platform == "win32-ia32" then
lm.arch = "x86"
else
lm.arch = "x86_64"
end
end
lm:import "3rd/bee.lua/make.lua"
lm:source_set 'lpeglabel' {
rootdir = '3rd',
includes = "bee.lua/3rd/lua",
sources = "lpeglabel/*.c",
defines = {
'MAXRECLEVEL=1000',
},
}
lm:executable "lua-language-server" {
deps = {"lpeglabel", "source_bootstrap"},
includes = {
"3rd/bee.lua",
"3rd/bee.lua/3rd/lua",
},
sources = "make/modules.cpp",
windows = {
sources = {
"make/lua-language-server.rc",
}
},
linux = {
crt = "static",
}
}
lm:copy "copy_bootstrap" {
input = "make/bootstrap.lua",
output = lm.bindir.."/main.lua",
}
if lm.target == 'arm64-apple-macos11' then
return
end
lm:build 'copy_vcrt' {
'$luamake', 'lua', 'make/copy_vcrt.lua', lm.bindir, lm.arch,
}
lm:build "bee-test" {
lm.bindir.."/lua-language-server"..exe, "3rd/bee.lua/test/test.lua",
pool = "console",
deps = {
"lua-language-server",
"copy_bootstrap",
},
windows = {
deps = {
"copy_vcrt"
}
}
}
lm:build 'unit-test' {
lm.bindir.."/lua-language-server"..exe, 'test.lua',
pool = "console",
deps = {
"bee-test",
}
}
lm:default {
"bee-test",
"unit-test",
}
|