forked from RT-Thread/userapps
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxuantie-900-gcc-musl.lua
More file actions
47 lines (43 loc) · 1.76 KB
/
Copy pathxuantie-900-gcc-musl.lua
File metadata and controls
47 lines (43 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-- Licensed under the Apache License, Version 2.0 (the "License");
-- You may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
--
-- Copyright (C) 2022-2023 RT-Thread Development Team
--
-- @author xqyjlj
-- @file riscv64gc-unknown-smart-musl.lua
--
-- Change Logs:
-- Date Author Notes
-- ------------ ---------- -----------------------------------------------
-- 2023-03-08 xqyjlj initial version
--
set_xmakever("2.7.2")
toolchain("xuantie-900-gcc-musl") -- add toolchain
do
set_kind("cross") -- set toolchain kind
set_description("riscv64 xuantie embedded compiler for rt-smart")
on_load(function(toolchain)
import("rt.private.build.rtflags")
toolchain:load_cross_toolchain()
toolchain:set("toolset", "cxx", "riscv64-unknown-linux-musl-g++")
toolchain:add("cxflags", "-mcmodel=medany", "-march=rv64imafdc", "-mabi=lp64d ", "-Wno-return-mismatch", {force = true})
local link_type = os.getenv("RT_XMAKE_LINK_TYPE") or "shared"
if link_type == "static" then
local ldscript = rtflags.get_ldscripts(false)
toolchain:add("ldflags", ldscript.ldflags, {force = true})
else
local ldscript = rtflags.get_ldscripts(true)
toolchain:add("ldflags", ldscript.ldflags, {force = true})
end
end)
end
toolchain_end()