summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-09-30 23:27:45 +0800
committerGitHub <[email protected]>2024-09-30 23:27:45 +0800
commitdab564a1f04db9e46ec0f8b832a20a4ff1409d80 (patch)
treef18234b482716aca0f3898298fe279474279e861
parentab08bdeeaf5a87bd6cca90037b65fa077b5b2441 (diff)
parenta1c7cf23142f6476224c250cbc3a83bc1a9a0f8f (diff)
Merge pull request #5677 from 24bit-xjkp/dev
feat(rules/iverilog): Improve the iverilog build rules
-rw-r--r--xmake/rules/iverilog/xmake.lua12
1 files changed, 4 insertions, 8 deletions
diff --git a/xmake/rules/iverilog/xmake.lua b/xmake/rules/iverilog/xmake.lua
index 4295d1625..3b55e297a 100644
--- a/xmake/rules/iverilog/xmake.lua
+++ b/xmake/rules/iverilog/xmake.lua
@@ -20,7 +20,7 @@
-- @see https://github.com/xmake-io/xmake/issues/3257
rule("iverilog.binary")
- set_extensions(".v", ".vhd")
+ set_extensions(".v", ".sv", ".vhd")
on_load(function (target)
target:set("kind", "binary")
if not target:get("extension") then
@@ -80,11 +80,8 @@ rule("iverilog.binary")
end
-- get defines
- local defines = target:get("defines")
- if defines then
- for _, define in ipairs(defines) do
- table.insert(argv, "-D" .. define)
- end
+ for _, define in ipairs((target:get_from("defines", "*"))) do
+ table.insert(argv, "-D" .. define)
end
-- get includedirs
@@ -114,6 +111,5 @@ rule("iverilog.binary")
on_run(function (target)
local toolchain = assert(target:toolchain("iverilog"), 'we need set_toolchains("iverilog") in target("%s")', target:name())
local vvp = assert(toolchain:config("vvp"), "vvp not found!")
-
- os.execv(vvp, {"-n", target:targetfile(), "-lxt2"})
+ os.execv(vvp, {"-n", target:targetfile()})
end)