From 94d5e5989bb82989a3bef1fc1172137c4b4e1aeb Mon Sep 17 00:00:00 2001 From: rcitach Date: Wed, 18 Jun 2025 08:02:08 +0000 Subject: [PATCH 1/6] add lp64d rtt lib --- sdk/lib/risc-v/rv64gc/{ => lp64}/libcxx.a | Bin sdk/lib/risc-v/rv64gc/{ => lp64}/libcxx.so | Bin sdk/lib/risc-v/rv64gc/lp64d/libcxx.a | Bin 0 -> 4022 bytes sdk/lib/risc-v/rv64gc/lp64d/libcxx.so | Bin 0 -> 7792 bytes .../lib/risc-v/rv64gc/{ => lp64}/librtthread.a | Bin .../lib/risc-v/rv64gc/{ => lp64}/librtthread.so | Bin .../lib/risc-v/rv64gc/lp64d/librtthread.a | Bin 0 -> 60704 bytes .../lib/risc-v/rv64gc/lp64d/librtthread.so | Bin 0 -> 34120 bytes 8 files changed, 0 insertions(+), 0 deletions(-) rename sdk/lib/risc-v/rv64gc/{ => lp64}/libcxx.a (100%) rename sdk/lib/risc-v/rv64gc/{ => lp64}/libcxx.so (100%) create mode 100644 sdk/lib/risc-v/rv64gc/lp64d/libcxx.a create mode 100755 sdk/lib/risc-v/rv64gc/lp64d/libcxx.so rename sdk/rt-thread/lib/risc-v/rv64gc/{ => lp64}/librtthread.a (100%) rename sdk/rt-thread/lib/risc-v/rv64gc/{ => lp64}/librtthread.so (100%) create mode 100644 sdk/rt-thread/lib/risc-v/rv64gc/lp64d/librtthread.a create mode 100755 sdk/rt-thread/lib/risc-v/rv64gc/lp64d/librtthread.so diff --git a/sdk/lib/risc-v/rv64gc/libcxx.a b/sdk/lib/risc-v/rv64gc/lp64/libcxx.a similarity index 100% rename from sdk/lib/risc-v/rv64gc/libcxx.a rename to sdk/lib/risc-v/rv64gc/lp64/libcxx.a diff --git a/sdk/lib/risc-v/rv64gc/libcxx.so b/sdk/lib/risc-v/rv64gc/lp64/libcxx.so similarity index 100% rename from sdk/lib/risc-v/rv64gc/libcxx.so rename to sdk/lib/risc-v/rv64gc/lp64/libcxx.so diff --git a/sdk/lib/risc-v/rv64gc/lp64d/libcxx.a b/sdk/lib/risc-v/rv64gc/lp64d/libcxx.a new file mode 100644 index 0000000000000000000000000000000000000000..610a56bb410278c0a31381d18032b66ce1e448a3 GIT binary patch literal 4022 zcmbuB&u<%55XZ-Ml7^5Jr!6$1{CFe?T7E3Hngj=-C~;Z}QiZCjKtMwF#&&SQKO%b* z0z!~hAP^@GNFYuX;sWA?IH0ORg%c+PQvZMoRU!v2h!dB>e0OKu=a*g7(y{zz_Pd`q z`}V!rw|n1{ey38OA9>95TmJFsxk5faGnY3e7oM_PV+ym%mq&6g~lJGIir=}xfjH#VrUxml`o0Cw%VrEuyd9pMUSSa#a&~y4~`Kjx8-cVGbU9 z_PIkm&0gNip*v;6mMHV)NlLwyN*x$W)BUVXh#tD)Zgb>J`h$Vu=rBG1L-D84v?=bU zkXyJ;uAao5>d*I461UvXeV4>p`3^F3xu47S?jz!|xR3ub)Yt(1`A-~^iLF4MOa8@K zhBLV~779BnS@mJ3gX;Gr=vX`3luyzhv0;vtFDB?u-=KaXfv+a$uil{EN#H+B(EI9( z8NJ^m{nLazUnl6_I64k9gx#p$^tvvu`uTpmH_o3E^h=J8!wl`(q3#Kl1S zu+uW+RwvPZ#`ajxh1T8OtY>$o2=@^1%Bg=y@@TzHO5c1!o>}3wejX5hUUXew&2vI+Im69T4zEFe88&(6ZCCo=iL0Gj?RsB~YwJN*#;e!HI_X^C zlR7_cL_7c-hN7q=u_@FQ1B`qB{5yVc^b44E{EW z;Zz52e?ojI4EVhg!>JA)wW#*11mN)usHqPA4i(w|EirhlRY%P$p{1x)L zK_~KcjXJf4?*+BZfV`?7_~fm0yX1A+(Ltr%Y}Q(QuGJ1|9)CAJ+70~5YYd=UtzKH~ z_|2ML=4QR&1o#TF*9tio(6C*KT(3>{qA0*U5Ac5>I_$OEl5h*j*|4?<^%>S$#rpz! zhX1zhlYX{_*p=}eg`EGlKk5}Z-TRu53mxKfw(0m)o8tgzP6hFc(%-H{oD#X`i+zaX28Z}mm!_Wu_(2`%pc literal 0 HcmV?d00001 diff --git a/sdk/lib/risc-v/rv64gc/lp64d/libcxx.so b/sdk/lib/risc-v/rv64gc/lp64d/libcxx.so new file mode 100755 index 0000000000000000000000000000000000000000..f9b524f1b92509307c84475811684ee9ec05c887 GIT binary patch literal 7792 zcmeHMeQX?85ud%a9k;};Qj@`aq6g59r$PhQxbyHJ&h1qj-wO9rIE!GSfAT@Yqp7yFk(ok`h>g-huvTm;Lc@yPAoR+Rv(}ZU*jM`O!W$;AO<+ zyfvj#xZOi=kqsyW?gfG^4(j8w2vub&4 z4rz_v#go5|Y^l4*?JsFy%t*v|`0V^yV@utoZErx+_MMMkHFtgU>gCnnU;g33 zee-`Di6(2ExkDA||8kA`O9oW3-roLGZsGi&Dr<22Zl0tZEXm72l5%@`;jjr zpGN)?@+IV}$e%{uYLw2Ec`y#fR}EupLkMu8@SP9v+|{);3pqp^t?t922Wz66>mmM& z=u4YJRYXU* zH5JF9+ijw8Y|zFGY|OyM3~bCmX$J7spy)hvkzWqTud@6B<`R!>Wm#gE53($A*=>P( ziJ>0hhW>GNEk`Q&!c>HzfTAZj2$R^Vje|A%z9IUnX2owKdXEuF>{f3nu^4mqX%TK= zF0ok)%S+s_;ID8;WnA^#KZ(VpJ$&V;{-0xgeBCNp=5dwf6I}mqmZhKE{QsR{KNN}M z6&_!Z%XhZuU5od2b$!Ze>mA&8x3!}^yn|!=cegSzwwLwxYnr$^vhL-$39{bhcn!$D zD939-=C>TL16h}Hd=tp}mgDsx`=A`Z0c76F@%7)yRBz(0d{Q=&&%lJu#e9ViM*Rk8 zm5t`BFfpE&bLN9l|0a<0RgO17rS&vn3w~($HFep||( zx7JFCE>T{?s4%YE5f4?!FWkX+Tn@Z;13MWne%CSnS>%SVpVSYc&*5cMn4hm9PVLHf zBk2-7gctdlut>r@lxFZKa-+ih{{-<$x928F-17TnKwF&^AM?TD)wz1X5I>_wdN8o_+Z0mg&*lo7^* z`IMO|{!doHpHO}Rok8)(>_3>7d7ANHUgjCZt@Uo;l`8n(l%Mqm|Ez-lSK$@%K8d_n z@TSJb!kB`wV|{i{JhD4xM`OMHgSHK&gploJ>;$ER3Y6u^+2iTlsFSvnUM^p-ov9f} zAFcY}g)-Lg`Nl;;|X@9Bzl?~BLmf&Rh!BfYVrN%!XmBfI;%(AGC4r3_bRXDPXac`Kc- zqU=_+tX0K~Secjd%vv!^rt)K)EPGEWJC$2gNi#{XLAWrR@tjfQUS9JFDUD~R!V^wm z0>a7JEUIblWc*7 z(t1O{@(EETw6Atf+ae~AP!|Yb#C3#Is z97*x#+Za=cy~Gp3CI26^XSZ-C7AU_i_7ZmpKZNI)h}t6^XMk0D0B#a`kQ;S#5! ziXwI=BJ9Ev25QCrOB^HIVomA4v?Dx<^%R4OEb)$Tv8Vo1+tPn5DtZ9#GByGvE)xD6 zfk@K6*vt68fOTX~{UDO~NqC=zl|AL_gZ3kcQNQH1FYhJcl;iSK6AQv!l>PSdzlCsF zKk*^+B=VQpUT}%qgx@WS%%%SV7XtRx{)ZBMnkzpYMuGY-?Moaeyq+q36m0)nSVyTX zSs#fPEdr5(`XUQoL>>CSNbDu9Y`aeT@1ZTNo!CqKAphrG;Qq_FrCnLSAE7O&h&@;+ z5V3;jYjFK|p27;heZ8eM>)C$47%~@s!p|a3WoduJ(uyN&-=W3gUF-yS1`E`Fy8z6^ zKKLIM=@R+5ti7($_Ze=#jlbJ&MVR)Yv@hq6!b<78w$%6K_iJ7ga4zkNE`AwQw11pG Mj9(B%=0W@a0U#?HZ2$lO literal 0 HcmV?d00001 diff --git a/sdk/rt-thread/lib/risc-v/rv64gc/librtthread.a b/sdk/rt-thread/lib/risc-v/rv64gc/lp64/librtthread.a similarity index 100% rename from sdk/rt-thread/lib/risc-v/rv64gc/librtthread.a rename to sdk/rt-thread/lib/risc-v/rv64gc/lp64/librtthread.a diff --git a/sdk/rt-thread/lib/risc-v/rv64gc/librtthread.so b/sdk/rt-thread/lib/risc-v/rv64gc/lp64/librtthread.so similarity index 100% rename from sdk/rt-thread/lib/risc-v/rv64gc/librtthread.so rename to sdk/rt-thread/lib/risc-v/rv64gc/lp64/librtthread.so diff --git a/sdk/rt-thread/lib/risc-v/rv64gc/lp64d/librtthread.a b/sdk/rt-thread/lib/risc-v/rv64gc/lp64d/librtthread.a new file mode 100644 index 0000000000000000000000000000000000000000..ec091395b4669c1206a528d9164f7a7116d15287 GIT binary patch literal 60704 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 literal 0 HcmV?d00001 diff --git a/sdk/rt-thread/lib/risc-v/rv64gc/lp64d/librtthread.so b/sdk/rt-thread/lib/risc-v/rv64gc/lp64d/librtthread.so new file mode 100755 index 0000000000000000000000000000000000000000..4571e3c3e28348f99fb277c4f42246a8fc3f412c GIT binary patch literal 34120 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 AZvX%Q literal 0 HcmV?d00001 From de43a49db06ee2f493f7d5a2b2172a4f380e7c04 Mon Sep 17 00:00:00 2001 From: rcitach Date: Wed, 18 Jun 2025 08:02:54 +0000 Subject: [PATCH 2/6] add xuantie toolchain --- .../packages/x/xuantie-900-gcc-musl/xmake.lua | 57 +++++++++++++++++ .../modules/rt/private/build/rtflags.lua | 6 +- tools/scripts/tasks/smart-rootfs/on_run.lua | 61 ++++++++++++++++--- .../toolchains/xuantie-900-gcc-musl.lua | 47 ++++++++++++++ tools/scripts/xmake.lua | 3 +- 5 files changed, 161 insertions(+), 13 deletions(-) create mode 100644 repo/packages/x/xuantie-900-gcc-musl/xmake.lua create mode 100644 tools/scripts/toolchains/xuantie-900-gcc-musl.lua diff --git a/repo/packages/x/xuantie-900-gcc-musl/xmake.lua b/repo/packages/x/xuantie-900-gcc-musl/xmake.lua new file mode 100644 index 0000000..264f2b7 --- /dev/null +++ b/repo/packages/x/xuantie-900-gcc-musl/xmake.lua @@ -0,0 +1,57 @@ +-- 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) 2023-2023 RT-Thread Development Team +-- +-- @author xqyjlj +-- @file xmake.lua +-- +-- Change Logs: +-- Date Author Notes +-- ------------ ---------- ----------------------------------------------- +-- 2023-05-12 xqyjlj initial version +-- +package("xuantie-900-gcc-musl") +do + set_kind("toolchain") + set_homepage("https://www.xrvm.cn/") + set_description("riscv64 xuantie embedded compiler for rt-smart.") + + local version = os.getenv("RT_XMAKE_TOOLCHAIN_XUANTIE_VERSION") + local sha256 = os.getenv("RT_XMAKE_TOOLCHAIN_XUANTIE_SHA256") + + if is_host("linux") then + add_urls( + "https://github.com/RT-Thread/toolchains-ci/releases/download/v1.9/Xuantie-900-gcc-linux-6.6.0-musl64-x86_64-V$(version).tar.gz") + + if (version and sha256) then + add_versions(version, sha256) + else + add_versions("3.0.2", "26b338747a10cc32c8b83f340ce1980b786e7a0445380a70544867b6ed10199b") + end + end + + on_install("@windows", "@linux|x86_64", function(package) + os.vcp("*", package:installdir(), {rootdir = ".", symlink = true}) + package:addenv("PATH", "bin") + end) + + on_test(function(package) + local gcc = "riscv64-unknown-linux-musl-gcc" + if is_host("windows") then + gcc = gcc .. ".exe" + end + local file = os.tmpfile() .. ".c" + io.writefile(file, "int main(int argc, char** argv) {return 0;}") + os.vrunv(gcc, {"-c", file}) + end) +end diff --git a/tools/scripts/modules/rt/private/build/rtflags.lua b/tools/scripts/modules/rt/private/build/rtflags.lua index b16bb9e..df9f12d 100644 --- a/tools/scripts/modules/rt/private/build/rtflags.lua +++ b/tools/scripts/modules/rt/private/build/rtflags.lua @@ -69,9 +69,11 @@ function get_sdk() elseif arch == "aarch64" then arch = "aarch64/cortex-a" elseif arch == "riscv64gc" then - arch = "risc-v/rv64gc" + arch = "risc-v/rv64gc/lp64" elseif arch == "riscv64gcv" then - arch = "risc-v/rv64gcv" + arch = "risc-v/rv64gcv/lp64" + elseif arch == "xuantie" then + arch = "risc-v/rv64gc/lp64d" end table.insert(cxflags, "-DHAVE_CCONFIG_H") diff --git a/tools/scripts/tasks/smart-rootfs/on_run.lua b/tools/scripts/tasks/smart-rootfs/on_run.lua index 45305f3..0f88030 100644 --- a/tools/scripts/tasks/smart-rootfs/on_run.lua +++ b/tools/scripts/tasks/smart-rootfs/on_run.lua @@ -133,16 +133,9 @@ function deploy_target(rootfs) end end -function deploy_syslib(toolchains, rootfs) +function deploy_syslib(rootfs) local sdkdir = rt_utils.sdk_dir() local arch = config.arch() - local pkg = project:required_packages()[toolchains] - - if string.startswith(toolchains, "riscv64") then - toolchains = "riscv64-unknown-smart-musl" - end - - toolchains = string.gsub(toolchains, "smart", "linux") -- TODO: should replace, when toolchains renamed if arch == "arm64" then arch = "aarch64" @@ -152,6 +145,12 @@ function deploy_syslib(toolchains, rootfs) arch = "arm/cortex-a" elseif arch == "aarch64" then arch = "aarch64/cortex-a" + elseif arch == "riscv64gc" then + arch = "risc-v/rv64gc/lp64" + elseif arch == "riscv64gcv" then + arch = "risc-v/rv64gcv/lp64" + elseif arch == "xuantie" then + arch = "risc-v/rv64gc/lp64d" end local rtlibdir = path.join(sdkdir, "rt-thread", "lib", arch) @@ -164,6 +163,16 @@ function deploy_syslib(toolchains, rootfs) local filename = path.filename(filepath) rt_utils.cp_with_symlink(filepath, path.join(rootfs, "lib", filename)) end +end + +function deploy_toolchainlib(toolchains, rootfs) + local pkg = project:required_packages()[toolchains] + + if string.startswith(toolchains, "riscv64") then + toolchains = "riscv64-unknown-smart-musl" + end + + toolchains = string.gsub(toolchains, "smart", "linux") -- TODO: should replace, when toolchains renamed for _, filepath in ipairs(os.files(path.join(pkg:installdir(), toolchains) .. "/*/lib*.so*")) do if path.extension(filepath) ~= ".py" then @@ -178,6 +187,31 @@ function deploy_syslib(toolchains, rootfs) end end +function deploy_xuantietoolchainlib(toolchains, rootfs) + local pkg = project:required_packages()[toolchains] + local path_root = "sysroot" + local lib_path = { + "usr/lib64/lp64d", + "lib64/lp64d", + } + + for _, filepath_lib in ipairs(lib_path) do + for _, filepath in ipairs(os.files(path.join(pkg:installdir(), path_root, filepath_lib) .. "/lib*.so*")) do + if path.extension(filepath) ~= ".py" then + local filename = path.filename(filepath) + os.tryrm(path.join(rootfs, "lib", filename)) + os.vcp(filepath, path.join(rootfs, "lib", filename)) + end + end + end + + for _, filepath in ipairs(os.files(path.join(pkg:installdir(), path_root) .. "/*/ld-musl-*.so.*")) do + local filename = path.filename(filepath) + os.tryrm(path.join(rootfs, "lib", filename)) + os.vcp(filepath, path.join(rootfs, "lib", filename)) + end +end + function copy_packages() local name = option.get("export") if name == "all" then @@ -216,7 +250,7 @@ function main() local target = project.targets()[targetname] local toolchains = string.gsub(target:get("toolchains"), "@", "") local rootfs = option.get("output") or rt_utils.rootfs_dir() - + local arch = config.arch() if (option.get("no-symlink")) then os.setenv("--rt-xmake-no-symlink", "true") end @@ -224,7 +258,14 @@ function main() create_rootfs(rootfs) deploy_package(rootfs) deploy_target(rootfs) - deploy_syslib(toolchains, rootfs) + deploy_syslib(rootfs) + + if arch == "xuantie" then + deploy_xuantietoolchainlib(toolchains, rootfs) + else + deploy_toolchainlib(toolchains, rootfs) + end + local size = rt_utils.dirsize(rootfs) cprint("${green}> rootfs: %s", rootfs) diff --git a/tools/scripts/toolchains/xuantie-900-gcc-musl.lua b/tools/scripts/toolchains/xuantie-900-gcc-musl.lua new file mode 100644 index 0000000..05bdad6 --- /dev/null +++ b/tools/scripts/toolchains/xuantie-900-gcc-musl.lua @@ -0,0 +1,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() diff --git a/tools/scripts/xmake.lua b/tools/scripts/xmake.lua index f1f2e2d..c8f7885 100644 --- a/tools/scripts/xmake.lua +++ b/tools/scripts/xmake.lua @@ -52,7 +52,8 @@ end local archs = { aarch64 = "aarch64-smart-musleabi", arm = "arm-smart-musleabi", - riscv64gc = "riscv64gc-unknown-smart-musl" + riscv64gc = "riscv64gc-unknown-smart-musl", + xuantie = "xuantie-900-gcc-musl" } if not get_config("target_os") then From 1dc3c499144ea800c0de0c5e1fbd9aba2051874d Mon Sep 17 00:00:00 2001 From: rcitach Date: Wed, 18 Jun 2025 08:03:49 +0000 Subject: [PATCH 3/6] Added support for Xuantie apps --- apps/player/xmake.lua | 4 ++-- apps/xmake.lua | 27 +++++++++++++++++++++++---- repo/packages/f/ffmpeg/xmake.lua | 2 +- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/apps/player/xmake.lua b/apps/player/xmake.lua index 0f3953b..ec46afc 100644 --- a/apps/player/xmake.lua +++ b/apps/player/xmake.lua @@ -1,7 +1,7 @@ add_rules("mode.debug", "mode.release") -add_requires("sdl2") -add_requires("sdl2_image") +add_requires("sdl2",{configs={shared = false}}) +add_requires("sdl2_image",{configs={shared = false}}) add_requires("ffmpeg") target("player") diff --git a/apps/xmake.lua b/apps/xmake.lua index 45627af..ef44d15 100644 --- a/apps/xmake.lua +++ b/apps/xmake.lua @@ -1,6 +1,25 @@ -for _, packagedir in ipairs(os.dirs(path.join(os.scriptdir(), "*"))) do - local packagefile = path.join(packagedir, "xmake.lua") - if os.isfile(packagefile) then - includes(packagefile) +local arch = get_config("arch") +if arch == "xuantie" then + local run_apps = { + "busybox", + "cpp", + "hello", + "shm_ping", + "shm_pong", + "smart-fetch", + "zlib", + } + for _, packagedir in ipairs(run_apps) do + local packagefile = path.join(path.join(os.scriptdir(), packagedir), "xmake.lua") + if os.isfile(packagefile) then + includes(packagefile) + end + end +else + for _, packagedir in ipairs(os.dirs(path.join(os.scriptdir(), "*"))) do + local packagefile = path.join(packagedir, "xmake.lua") + if os.isfile(packagefile) then + includes(packagefile) + end end end diff --git a/repo/packages/f/ffmpeg/xmake.lua b/repo/packages/f/ffmpeg/xmake.lua index c2c685f..a7bc1c6 100644 --- a/repo/packages/f/ffmpeg/xmake.lua +++ b/repo/packages/f/ffmpeg/xmake.lua @@ -66,7 +66,7 @@ do if package:config("shared") then table.insert(configs, "--enable-shared") end - + table.insert(configs, "--disable-doc") local buildenvs = import("package.tools.autoconf").buildenvs(package, {ldflags = ldflags, packagedeps = packagedeps}) import("package.tools.autoconf").configure(package, configs, {envs = buildenvs}) From 5f2db536aabd04cf772f10179126f7043a1b4740 Mon Sep 17 00:00:00 2001 From: rcitach Date: Wed, 18 Jun 2025 08:04:01 +0000 Subject: [PATCH 4/6] add xuantie explanation documentation --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0b301e6..85d6b37 100644 --- a/README.md +++ b/README.md @@ -55,8 +55,10 @@ xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua xmake f -a aarch64 # 配置为 aarch64平台,如果不执行该条指令进行配置,则默认为 aarch64 xmake -j$(nproc) ``` - - 目前支持的平台:arm、aarch64、riscv64gc。 +> 如果使用其他平台,只需修改上述的配置命令,然后再执行编译命令,这里以xuantie平台为例: +> `xmake f -a xuantie` +> 目前支持的平台:arm、aarch64、riscv64gc、xuantie。 +> 注:目前xuantie平台只验证了busybox ![image-20230531173059551](./assets/image-20230531173059551.png) From 55d0804d08fd30b71f31f92c5605d72d4d55bb66 Mon Sep 17 00:00:00 2001 From: rcitach Date: Wed, 18 Jun 2025 08:04:15 +0000 Subject: [PATCH 5/6] add xuantie arch ci caretaker --- .github/workflows/build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6c3cf2a..9617942 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,6 +36,7 @@ jobs: - aarch64 - arm - riscv64gc + - xuantie steps: - name: ⬇️ checkout @@ -85,7 +86,8 @@ jobs: export XMAKE_ROOT=y # Only need to use "--root" in CI xmake --version source env.sh - pushd apps/${{ matrix.app }} + pushd apps + echo "includes(path.join(path.join(os.scriptdir(), \"${{ matrix.app }}\"), \"xmake.lua\"))" > xmake.lua xmake f -a x86_64 --target_os=linux -vyD xmake -j$(nproc) -vyD -P . popd From 16f2ee7e497eebcc8b120b06a2ca520819982ac3 Mon Sep 17 00:00:00 2001 From: rcitach Date: Wed, 18 Jun 2025 10:46:34 +0000 Subject: [PATCH 6/6] set xmake version 2.8.7 --- .github/workflows/build.yml | 6 +++++- apps/player/xmake.lua | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9617942..ddc8f0b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,7 +45,11 @@ jobs: submodules: true - name: ⬇️ install xmake - uses: xmake-io/github-action-setup-xmake@v1 + shell: bash + run: | + wget -q https://github.com/xmake-io/xmake/releases/download/v2.8.7/xmake-v2.8.7.gz.run + sudo chmod 777 ./xmake-v2.8.7.gz.run + ./xmake-v2.8.7.gz.run - name: 👷 build shell: bash diff --git a/apps/player/xmake.lua b/apps/player/xmake.lua index ec46afc..0f3953b 100644 --- a/apps/player/xmake.lua +++ b/apps/player/xmake.lua @@ -1,7 +1,7 @@ add_rules("mode.debug", "mode.release") -add_requires("sdl2",{configs={shared = false}}) -add_requires("sdl2_image",{configs={shared = false}}) +add_requires("sdl2") +add_requires("sdl2_image") add_requires("ffmpeg") target("player")