summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-11-17 12:39:43 +0800
committerruki <[email protected]>2021-11-17 12:39:43 +0800
commit1402a2bffb0f8f1e3a0891f2f20217ffee27e585 (patch)
treef150a2c1d3c9a5bfd58e8ab1730aad6a0a123cf7
parent90efbbce0bbfb8403e1581414a289e7de48e23cc (diff)
parente11da30f5fa33d81172864ba336a8dd6992d5331 (diff)
Merge branch 'dev' of /Volumes/Macintosh HD - 数据/Users/ruki/projects/personal/xmake into dev
-rw-r--r--core/src/lcurses/lcurses.c6
-rw-r--r--tests/projects/mdk/hello/xmake.lua3
-rw-r--r--xmake/core/ui/program.lua8
-rw-r--r--xmake/languages/asm/xmake.lua3
-rw-r--r--xmake/modules/core/tools/armasm.lua7
-rw-r--r--xmake/modules/core/tools/armcc.lua7
-rw-r--r--xmake/modules/core/tools/armclang.lua7
-rw-r--r--xmake/modules/core/tools/armlink.lua7
-rw-r--r--xmake/rules/mdk/xmake.lua1
9 files changed, 44 insertions, 5 deletions
diff --git a/core/src/lcurses/lcurses.c b/core/src/lcurses/lcurses.c
index a55b86606..6e7758ccf 100644
--- a/core/src/lcurses/lcurses.c
+++ b/core/src/lcurses/lcurses.c
@@ -609,6 +609,12 @@ static void register_curses_constants(lua_State *L)
CC(KEY_COPY) CC(KEY_CREATE) CC(KEY_END)
CC(KEY_EXIT) CC(KEY_FIND) CC(KEY_HELP)
CC(KEY_MARK) CC(KEY_MESSAGE)
+#ifdef PDCURSES
+ // https://github.com/xmake-io/xmake/issues/1610#issuecomment-971149885
+ CC(KEY_C2) CC(KEY_A2) CC(KEY_B1)
+ CC(KEY_B3)
+#endif
+
#if !defined(XCURSES)
#ifndef NOMOUSE
CC(KEY_MOUSE)
diff --git a/tests/projects/mdk/hello/xmake.lua b/tests/projects/mdk/hello/xmake.lua
index 97d640297..6afb714af 100644
--- a/tests/projects/mdk/hello/xmake.lua
+++ b/tests/projects/mdk/hello/xmake.lua
@@ -1,5 +1,7 @@
add_rules("mode.debug", "mode.release")
+set_runtimes("microlib")
+
target("foo")
add_rules("mdk.static")
add_files("src/foo/*.c")
@@ -8,5 +10,4 @@ target("hello")
add_deps("foo")
add_rules("mdk.console")
add_files("src/*.c", "src/*.s")
- add_defines("__EVAL", "__MICROLIB")
add_includedirs("src/lib/cmsis")
diff --git a/xmake/core/ui/program.lua b/xmake/core/ui/program.lua
index f537a2daf..49eff8679 100644
--- a/xmake/core/ui/program.lua
+++ b/xmake/core/ui/program.lua
@@ -350,10 +350,10 @@ function program:_key_map()
--
-- @see https://github.com/xmake-io/xmake/issues/1610
-- https://github.com/wmcbrine/PDCurses/blob/HEAD/curses.h#L766-L774
- [curses.KEY_C2 ] = "Down",
- [curses.KEY_A2 ] = "Up",
- [curses.KEY_B1 ] = "Left",
- [curses.KEY_B3 ] = "Right"
+ [curses.KEY_C2 or -1 ] = "Down",
+ [curses.KEY_A2 or -1 ] = "Up",
+ [curses.KEY_B1 or -1 ] = "Left",
+ [curses.KEY_B3 or -1 ] = "Right"
}
end
return self._KEYMAP
diff --git a/xmake/languages/asm/xmake.lua b/xmake/languages/asm/xmake.lua
index cb9aa22f5..bdf4a4514 100644
--- a/xmake/languages/asm/xmake.lua
+++ b/xmake/languages/asm/xmake.lua
@@ -40,6 +40,7 @@ language("asm")
, "target.includedirs"
, "target.defines"
, "target.undefines"
+ , "target.runtimes"
, "toolchain.includedirs"
, "toolchain.defines"
, "toolchain.undefines"
@@ -52,6 +53,7 @@ language("asm")
, "target.rpathdirs"
, "target.strip"
, "target.symbols"
+ , "target.runtimes"
, "toolchain.linkdirs"
, "toolchain.rpathdirs"
, "config.links"
@@ -63,6 +65,7 @@ language("asm")
, "target.linkdirs"
, "target.strip"
, "target.symbols"
+ , "target.runtimes"
, "toolchain.linkdirs"
, "config.links"
, "target.links"
diff --git a/xmake/modules/core/tools/armasm.lua b/xmake/modules/core/tools/armasm.lua
index 3065fe0a3..3ae578c55 100644
--- a/xmake/modules/core/tools/armasm.lua
+++ b/xmake/modules/core/tools/armasm.lua
@@ -92,6 +92,13 @@ function nf_language(self, stdname)
end
end
+-- make runtime flag
+function nf_runtime(self, runtime)
+ if runtime == "microlib" then
+ return {"--pd", "__MICROLIB SETA 1"}
+ end
+end
+
-- make the define flag
function nf_define(self, macro)
return {"--pd", macro .. " SETA 1"}
diff --git a/xmake/modules/core/tools/armcc.lua b/xmake/modules/core/tools/armcc.lua
index 6215242ec..403e143f0 100644
--- a/xmake/modules/core/tools/armcc.lua
+++ b/xmake/modules/core/tools/armcc.lua
@@ -45,6 +45,13 @@ function nf_symbol(self, level)
end
end
+-- make runtime flag
+function nf_runtime(self, runtime)
+ if runtime == "microlib" then
+ return "-D__MICROLIB"
+ end
+end
+
-- make the optimize flag
function nf_optimize(self, level)
local maps =
diff --git a/xmake/modules/core/tools/armclang.lua b/xmake/modules/core/tools/armclang.lua
index 42bec8fd5..dcec82015 100644
--- a/xmake/modules/core/tools/armclang.lua
+++ b/xmake/modules/core/tools/armclang.lua
@@ -23,3 +23,10 @@ inherit("gcc")
function init(self)
_super.init(self)
end
+
+-- make runtime flag
+function nf_runtime(self, runtime)
+ if runtime == "microlib" then
+ return "-D__MICROLIB"
+ end
+end
diff --git a/xmake/modules/core/tools/armlink.lua b/xmake/modules/core/tools/armlink.lua
index 02c2b4800..e25a81967 100644
--- a/xmake/modules/core/tools/armlink.lua
+++ b/xmake/modules/core/tools/armlink.lua
@@ -41,6 +41,13 @@ function nf_linkdir(self, dir)
return {"--userlibpath", dir}
end
+-- make runtime flag
+function nf_runtime(self, runtime)
+ if runtime == "microlib" then
+ return "--library_type=microlib"
+ end
+end
+
-- make the link arguments list
function linkargv(self, objectfiles, targetkind, targetfile, flags)
return self:program(), table.join("-o", targetfile, objectfiles, flags)
diff --git a/xmake/rules/mdk/xmake.lua b/xmake/rules/mdk/xmake.lua
index f45e04c6e..0c491b528 100644
--- a/xmake/rules/mdk/xmake.lua
+++ b/xmake/rules/mdk/xmake.lua
@@ -40,3 +40,4 @@ rule("mdk.static")
-- set default output binary
target:set("kind", "static")
end)
+