summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-11-29 17:48:51 +0800
committerruki <[email protected]>2020-11-29 17:48:51 +0800
commitd48118e840fc0be69f3d78a3894e4bf76b8d801b (patch)
treea1c8cc286e5ea36e1a1a275c93dfdb2d3b56113c
parentdf66e75b59c300af221c647faadb58d9db527abd (diff)
export yacc includedirs
-rw-r--r--tests/projects/lex_yacc/src/test.c4
-rw-r--r--tests/projects/lex_yacc/xmake.lua2
-rw-r--r--xmake/rules/lex_yacc/lex/xmake.lua2
-rw-r--r--xmake/rules/lex_yacc/yacc/xmake.lua3
4 files changed, 9 insertions, 2 deletions
diff --git a/tests/projects/lex_yacc/src/test.c b/tests/projects/lex_yacc/src/test.c
new file mode 100644
index 000000000..241c78f99
--- /dev/null
+++ b/tests/projects/lex_yacc/src/test.c
@@ -0,0 +1,4 @@
+#include "calc.tab.h"
+void test()
+{
+}
diff --git a/tests/projects/lex_yacc/xmake.lua b/tests/projects/lex_yacc/xmake.lua
index 42e940c86..2608c7524 100644
--- a/tests/projects/lex_yacc/xmake.lua
+++ b/tests/projects/lex_yacc/xmake.lua
@@ -3,4 +3,4 @@ add_rules("mode.debug", "mode.release")
target("calc")
set_kind("binary")
add_rules("lex", "yacc")
- add_files("src/*.l", "src/*.y")
+ add_files("src/*.c", "src/*.l", "src/*.y")
diff --git a/xmake/rules/lex_yacc/lex/xmake.lua b/xmake/rules/lex_yacc/lex/xmake.lua
index 382081730..2993eedb5 100644
--- a/xmake/rules/lex_yacc/lex/xmake.lua
+++ b/xmake/rules/lex_yacc/lex/xmake.lua
@@ -69,7 +69,7 @@ rule("lex")
local compinst = compiler.load((extension == ".ll" and "cxx" or "cc"), {target = target})
-- get compile flags
- local compflags = compinst:compflags({target = target, sourcefile = sourcefile_cx, configs = {includedirs = sourcefile_dir}})
+ local compflags = compinst:compflags({target = target, sourcefile = sourcefile_cx})
-- add objectfile
table.insert(target:objectfiles(), objectfile)
diff --git a/xmake/rules/lex_yacc/yacc/xmake.lua b/xmake/rules/lex_yacc/yacc/xmake.lua
index 460b977ef..c5fa5ad34 100644
--- a/xmake/rules/lex_yacc/yacc/xmake.lua
+++ b/xmake/rules/lex_yacc/yacc/xmake.lua
@@ -74,6 +74,9 @@ rule("yacc")
-- add objectfile
table.insert(target:objectfiles(), objectfile)
+ -- add includedirs
+ target:add("includedirs", sourcefile_dir)
+
-- load dependent info
local dependfile = target:dependfile(objectfile)
local dependinfo = option.get("rebuild") and {} or (depend.load(dependfile) or {})