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.
38 lines
1.1 KiB
38 lines
1.1 KiB
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)
|
|
|