package An official xmake package repository
https://xrepo.xmake.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
3 months ago
|
add_rules("mode.debug", "mode.release")
|
||
|
|
||
|
if is_subhost("windows") then
|
||
|
add_requires("strawberry-perl")
|
||
|
add_packages("strawberry-perl")
|
||
|
end
|
||
|
add_requires("gperf")
|
||
|
add_packages("gperf")
|
||
|
|
||
|
add_requires("libparserutils")
|
||
|
add_packages("libparserutils")
|
||
|
if is_plat("windows") then
|
||
|
add_requires("strings_h")
|
||
|
add_packages("strings_h")
|
||
|
end
|
||
|
|
||
|
target("hubbub")
|
||
|
set_kind("$(kind)")
|
||
|
add_files("src/**.c")
|
||
|
add_includedirs("include", "src")
|
||
|
add_headerfiles("include/(hubbub/*.h)")
|
||
|
|
||
|
if is_plat("windows") and is_kind("shared") then
|
||
|
add_rules("utils.symbols.export_all")
|
||
|
end
|
||
|
|
||
|
before_build(function (target)
|
||
|
local perl, gperf
|
||
|
if is_subhost("windows") then
|
||
|
perl = path.join(target:pkg("strawberry-perl"):installdir(), "perl/bin/perl.exe")
|
||
|
gperf = path.join(target:pkg("gperf"):installdir(), "bin/gperf.exe")
|
||
|
else
|
||
|
perl = "perl"
|
||
|
gperf = "gperf"
|
||
|
end
|
||
|
os.vrunv(perl, {"build/make-entities.pl"})
|
||
|
os.vrunv(gperf, {"src/treebuilder/element-type.gperf", "--output-file=src/treebuilder/autogenerated-element-type.c"})
|
||
|
end)
|