Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Musl
提交
5f476c63
T
Third Party Musl
项目概览
OpenHarmony
/
Third Party Musl
8 个月 前同步成功
通知
37
Star
125
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Musl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
5f476c63
编写于
7月 15, 2022
作者:
O
openharmony_ci
提交者:
Gitee
7月 15, 2022
浏览文件
操作
浏览文件
下载
差异文件
!391 新增支持使用从linux内核源码中构建出的UAPI
Merge pull request !391 from Caoruihong/make_uapi_from_linux
上级
4c11def9
b8cd319c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
35 addition
and
3 deletion
+35
-3
BUILD.gn
BUILD.gn
+34
-3
musl_config.gni
musl_config.gni
+1
-0
未找到文件。
BUILD.gn
浏览文件 @
5f476c63
...
...
@@ -192,11 +192,42 @@ action("create_syscall_h") {
deps = [ ":create_porting_src" ]
}
action("make_uapi") {
kernel_dir = rebase_path(linux_kernel_dir)
kernel_out_dir = rebase_path(get_path_info("${kernel_dir}/", "out_dir"))
uapi_dir = "${kernel_out_dir}/usr/include"
make_uapi_cmd = "rm -rf ${uapi_dir}"
make_uapi_cmd += " && make -C ${kernel_dir} -sj headers O=${kernel_out_dir} ARCH=${target_cpu}"
make_uapi_cmd += " && cp -f ${kernel_dir}/drivers/staging/android/uapi/ashmem.h ${uapi_dir}/linux/ashmem.h"
make_uapi_cmd += " && sed -i '/#define _INPUT_H/i#define _UAPI_INPUT_H' ${uapi_dir}/linux/input.h"
make_uapi_cmd += " && sed -i '/struct __kernel_sockaddr_storage/i#define sockaddr_storage __kernel_sockaddr_storage' ${uapi_dir}/linux/socket.h"
outputs = [ "${target_out_dir}/" + rebase_path(uapi_dir, target_out_dir) ]
script = "/bin/sh"
args = [ "-c" ]
args += [ make_uapi_cmd ]
}
# if uapi_dir does not exist, then make uapi from linux_kernel_dir
if (exec_script("/bin/sh",
[
"-c",
"if [ ! -d " + rebase_path(uapi_dir) +
" ]; then echo true; else echo false; fi",
],
"value")) {
uapi_dir = get_path_info("${linux_kernel_dir}/", "out_dir") + "/usr/include"
uapi_deps = [ ":make_uapi" ]
} else {
uapi_deps = []
}
action("copy_uapi") {
outputs = [ "${target_out_dir}/${musl_inc_out_dir}/linux" ]
outputs = [ "${target_out_dir}/${musl_inc_out_dir}" ]
inputs = [ uapi_dir ]
deps = uapi_deps
script = "scripts/copy_uapi.sh"
args = [ "-i" ] +
[ rebase_path("${uapi_dir}") ]
args += [ "-o" ] +
[ rebase_path("${target_out_dir}/${musl_inc_out_dir}") ]
args = [ "-i" ] +
rebase_path(inputs)
args += [ "-o" ] +
rebase_path(outputs)
args += [ "-t" ] + [ "${musl_arch}" ]
}
...
...
musl_config.gni
浏览文件 @
5f476c63
...
...
@@ -33,6 +33,7 @@ declare_args() {
musl_ported_dir = "intermidiates/${musl_target_os}/musl_src_ported"
musl_inc_out_dir = "usr/include/${musl_target_triple}"
uapi_dir = "//kernel/linux/patches/linux-5.10/prebuilts/usr/include"
linux_kernel_dir = "//kernel/linux/linux-5.10"
musl_dir = "//third_party/musl"
musl_porting_dir = "//third_party/musl/porting/linux/user"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录