add_rules("mode.debug", "mode.release")
set_languages("c11")
add_requires("python", {kind = "binary"})
add_packages("python")
add_defines("HAVE_STRING_H")
if is_plat("windows") then
add_defines("_CRT_SECURE_NO_WARNINGS")
end
add_includedirs(".")
option("tools", {default = false, description = "Build the udcli executable tool"})
target("libudis86")
set_kind("$(kind)")
add_files("libudis86/*.c")
if is_kind("shared") and is_plat("windows") then
add_defines("_USRDLL", "LIBUDIS86_EXPORTS")
end
add_headerfiles("libudis86/*.h", {prefixdir = "libudis86"})
add_headerfiles("udis86.h")
on_config(function (target)
import("lib.detect.find_tool")
local args = {
path.join(os.curdir(), "scripts", "ud_itab.py"),
path.join(os.curdir(), "docs", "x86", "optable.xml"),
path.join(os.curdir(), "libudis86")
}
local python = find_tool("python")
os.vrunv(python.program, args)
end)
target("udcli")
set_kind("binary")
set_enabled(has_config("tools"))
add_files("udcli/udcli.c")
add_deps("libudis86")