Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Kernel Liteos A
提交
6e2a4be1
K
Kernel Liteos A
项目概览
OpenHarmony
/
Kernel Liteos A
9 个月 前同步成功
通知
450
Star
414
Fork
55
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel Liteos A
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6e2a4be1
编写于
8月 25, 2021
作者:
O
openharmony_ci
提交者:
Gitee
8月 25, 2021
浏览文件
操作
浏览文件
下载
差异文件
!569 启用mksh和toybox的make编译
Merge pull request !569 from Caoruihong/mksh_toybox
上级
45a128a4
682ae821
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
55 addition
and
125 deletion
+55
-125
BUILD.gn
BUILD.gn
+1
-1
Makefile
Makefile
+1
-1
apps/config.mk
apps/config.mk
+16
-8
apps/init/BUILD.gn
apps/init/BUILD.gn
+2
-16
apps/mksh/BUILD.gn
apps/mksh/BUILD.gn
+5
-1
apps/mksh/Makefile
apps/mksh/Makefile
+15
-37
apps/shell/BUILD.gn
apps/shell/BUILD.gn
+0
-14
apps/tftp/BUILD.gn
apps/tftp/BUILD.gn
+0
-14
apps/toybox/Makefile
apps/toybox/Makefile
+13
-28
tools/build/mk/los_config.mk
tools/build/mk/los_config.mk
+2
-5
未找到文件。
BUILD.gn
浏览文件 @
6e2a4be1
...
...
@@ -378,7 +378,7 @@ group("liteos_a") {
build_ext_component("make") {
exec_path = rebase_path(".", root_build_dir)
outdir = rebase_path(
get_path_info(".", "out_dir")
)
outdir = rebase_path(
"$target_out_dir/${target_name}_out"
)
sysroot_path = rebase_path(ohos_current_sysroot)
arch_cflags = string_join(" ", target_arch_cflags)
command = "./build.sh \"$board_name\" \"$ohos_build_compiler\" \"$root_build_dir\" \"$ohos_build_type\" \"$tee_enable\""
...
...
Makefile
浏览文件 @
6e2a4be1
...
...
@@ -180,8 +180,8 @@ else
$(HIDE)
cp
-fp
$$
(
$(CC)
$(LITEOS_CFLAGS)
-print-file-name
=
libgcc_s.so.1
)
$(OUT)
/musl
$(HIDE)
cp
-fp
$$
(
$(GPP)
$(LITEOS_CXXFLAGS)
-print-file-name
=
libstdc++.so.6
)
$(OUT)
/musl
endif
$(HIDE)$(STRIP)
$(OUT)
/musl/
*
$(HIDE)$(LITEOS_SCRIPTPATH)
/make_rootfs/rootfsdir.sh
$(OUT)
$(ROOTFS_DIR)
$(HIDE)
shopt
-s
nullglob
&&
$(STRIP)
$(ROOTFS_DIR)
/bin/
*
$(ROOTFS_DIR)
/lib/
*
ifneq
($(VERSION),)
$(HIDE)$(LITEOS_SCRIPTPATH)
/make_rootfs/releaseinfo.sh
"
$(VERSION)
"
$(ROOTFS_DIR)
endif
...
...
apps/config.mk
浏览文件 @
6e2a4be1
...
...
@@ -30,16 +30,24 @@
include
$(LITEOSTOPDIR)/config.mk
ifeq
($(LOSCFG_COMPILER_CLANG_LLVM), y)
LLVM_SYSROOT
:=
--sysroot
=
$(SYSROOT_PATH)
$(ARCH_CFLAGS)
LLVM_SYSROOT
:=
--sysroot
=
$(SYSROOT_PATH)
endif
# common flags config
BASE_OPTS
:=
-ffunction-sections
-fdata-sections
-fno-omit-frame-pointer
-fno-common
-fno-strict-aliasing
-D_GNU_SOURCE
\
$(LITEOS_SSP)
$(LITEOS_CORE_COPTS)
$(WARNING_AS_ERROR)
$(LLVM_EXTRA_OPTS)
$(LLVM_SYSROOT)
$(LITEOS_GCOV_OPTS)
BASE_OPTS
:=
-D_FORTIFY_SOURCE
=
2
-D_GNU_SOURCE
BASE_OPTS
+=
-ffunction-sections
-fdata-sections
-fno-omit-frame-pointer
-fno-common
-fno-strict-aliasing
BASE_OPTS
+=
-fstack-protector-strong
-Wall
-Werror
-flto
BASE_OPTS
+=
$(LITEOS_CORE_COPTS)
$(LLVM_EXTRA_OPTS)
$(LLVM_SYSROOT)
$(LITEOS_GCOV_OPTS)
CFLAGS
:=
-std
=
c99
-fPIE
-fno-exceptions
$(BASE_OPTS)
$(LITEOS_COPTS_OPTMIZE)
CXXFLAGS
:=
-std
=
c++11
-fPIE
-fexceptions
-fpermissive
-frtti
$(BASE_OPTS)
$(LITEOS_COPTS_OPTMIZE)
LDFLAGS
:=
-pie
-s
-Wl
,-z,relro,-z,now
$(BASE_OPTS)
$(LLVM_EXTRA_LD_OPTS)
ifeq
($(LOSCFG_COMPILER_CLANG_LLVM), y)
OPTMIZE_OPTS
=
-Oz
else
OPTMIZE_OPTS
=
-O2
endif
CFLAGS
:=
-std
=
c99
-fPIE
-fno-exceptions
$(BASE_OPTS)
$(OPTMIZE_OPTS)
CXXFLAGS
:=
-std
=
c++11
-fPIE
-fexceptions
-fpermissive
-frtti
$(BASE_OPTS)
$(OPTMIZE_OPTS)
LDFLAGS
:=
-pie
-Wl
,-z,relro,-z,now
-O2
$(BASE_OPTS)
$(LLVM_EXTRA_LD_OPTS)
# alias variable config
HIDE
:=
@
...
...
@@ -55,8 +63,8 @@ APP_SUBDIRS :=
ifeq
($(LOSCFG_SHELL), y)
APP_SUBDIRS
+=
shell
#
APP_SUBDIRS += mksh
#
APP_SUBDIRS += toybox
APP_SUBDIRS
+=
mksh
APP_SUBDIRS
+=
toybox
endif
ifeq
($(LOSCFG_USER_INIT_DEBUG), y)
...
...
apps/init/BUILD.gn
浏览文件 @
6e2a4be1
...
...
@@ -32,22 +32,8 @@ import("//kernel/liteos_a/liteos.gni")
executable("init") {
sources = [ "src/init.c" ]
cflags = [ "-fPIE" ]
if (defined(LOSCFG_COMPILER_CLANG_LLVM)) {
cflags += [
"-Wno-shift-op-parentheses",
"-Wno-bitwise-op-parentheses",
"-Wnonnull",
]
}
ldflags = [
"-pie",
"-s",
]
if (defined(LOSCFG_QUICK_START)) {
ldflags += [ "--static" ]
ldflags = [ "--static" ]
defines = [ "LOSCFG_QUICK_START" ]
}
}
apps/mksh/BUILD.gn
浏览文件 @
6e2a4be1
...
...
@@ -48,7 +48,6 @@ build_ext_component("build_mksh") {
"-flto",
"-fdata-sections",
"-ffunction-sections",
"-Oz",
"-fstack-protector-strong",
"-D_FORTIFY_SOURCE=2",
"-DMKSH_DISABLE_TTY_WARNING",
...
...
@@ -62,6 +61,11 @@ build_ext_component("build_mksh") {
"-DMKSH_NO_INITCOMS",
"-DADAPT_FOR_LITEOS_A",
]
if (defined(LOSCFG_COMPILER_CLANG_LLVM)) {
cflags += [ "-Oz" ]
} else {
cflags += [ "-O2" ]
}
cflags = string_join(" ", cflags)
extra_flags = string_join(" ", target_arch_cflags)
...
...
apps/mksh/Makefile
浏览文件 @
6e2a4be1
...
...
@@ -29,50 +29,28 @@
include
$(APPSTOPDIR)/config.mk
MKSH
:=
mksh
BUILD_DIR
:=
$(OUT)
/mksh_build
BUILD_LOG
:=
$(BUILD_DIR)
/build.log
MKSH_DIR
:=
$(
shell
pwd
)
/
CFLAGS
+=
-DMKSH_DISABLE_TTY_WARNING
-DMKSH_SMALL
=
1
-DMKSH_ASSUME_UTF8
=
1
-DMKSH_SMALL_BUT_FAST
=
0
-DMKSH_S_NOVI
=
1
-DHAVE_CAN_FSTACKPROTECTORSTRONG
=
1
CFLAGS
+=
-DMKSH_LESS_CMDLINE_EDITING
-DMKSH_LESS_BUILDINS
-DMKSH_NO_INITCOMS
-DADAPT_FOR_LITEOS_A
CFLAGS
+=
-Wno-error
LDFLAGS
+=
-Wl
,--gc-sections
APPS_OUT
:=
$(OUT)
/bin
ETC_OUT
:=
$(OUT)
/etc
BUILD_DIR
:=
$(MKSH_DIR)
/build
BUILD_LOG
:=
$(MKSH_DIR)
/build.log
TARGET_OS
:=
OpenHarmony
LOCAL_CFLAGS
:=
-flto
-fdata-sections
-ffunction-sections
-fstack-protector-strong
-D_FORTIFY_SOURCE
=
2
LOCAL_CFLAGS
+=
-DMKSH_DISABLE_TTY_WARNING
-DMKSH_SMALL
=
1
-DMKSH_ASSUME_UTF8
=
1
-DMKSH_SMALL_BUT_FAST
=
0
-DMKSH_S_NOVI
=
1
-DHAVE_CAN_FSTACKPROTECTORSTRONG
=
1
LOCAL_CFLAGS
+=
-DMKSH_LESS_CMDLINE_EDITING
-DMKSH_LESS_BUILDINS
-DMKSH_NO_INITCOMS
-DADAPT_FOR_LITEOS_A
LOCAL_LDFLAGS
:=
-Wl
,--gc-sections
-flto
-O2
ifeq
($(LOSCFG_COMPILER_CLANG_LLVM), y)
LOCAL_CFLAGS
+=
-Oz
--target
=
$(LLVM_TARGET)
$(LLVM_SYSROOT)
else
LOCAL_CFLAGS
+=
-O2
endif
all
:
$(MKSH)
$(MKSH)
:
all
:
ifneq
($(wildcard $(BUILD_DIR)/Rebuild.sh),)
$(HIDE)
echo
"not clean, rebuilding now"
$(HIDE)
chmod
+x
$(BUILD_DIR)
/Rebuild.sh
$(HIDE)
cd
$(BUILD_DIR)
&&
./Rebuild.sh
>
$(BUILD_LOG)
2>&1
$(HIDE)
cd
$(BUILD_DIR)
&&
sh ./Rebuild.sh
>
$(BUILD_LOG)
2>&1
else
$(HIDE)
mkdir
-p
$(BUILD_DIR)
$(HIDE)$(CP)
$(LITEOSTHIRDPARTY)
/
$(MKSH)
/.
$(BUILD_DIR)
$(HIDE)
chmod
+x
$(BUILD_DIR)
/Build.sh
$(HIDE)
cd
$(BUILD_DIR)
&&
CC
=
$(CC)
TARGET_OS
=
$(TARGET_OS)
CFLAGS
=
"
$(LOCAL_CFLAGS)
"
LDFLAGS
=
"
$(LOCAL_LDFLAGS)
"
./Build.sh
-r
>
$(BUILD_LOG)
2>&1
$(HIDE)$(CP)
$(LITEOSTHIRDPARTY)
/mksh/.
$(BUILD_DIR)
$(HIDE)
cd
$(BUILD_DIR)
&&
CC
=
"
$(CC)
"
TARGET_OS
=
OpenHarmony
CFLAGS
=
"
$(CFLAGS)
"
LDFLAGS
=
"
$(LDFLAGS)
"
sh ./Build.sh
-r
>
$(BUILD_LOG)
2>&1
endif
$(HIDE)$(CP)
-rf
$(BUILD_DIR)
/
$(MKSH)
.
$(HIDE)$(STRIP)
$(MKSH)
$(HIDE)
mkdir
-p
$(APPS_OUT)
$(HIDE)$(CP)
$(MKSH)
$(APPS_OUT)
$(HIDE)
mkdir
-p
$(ETC_OUT)
$(HIDE)$(CP)
-rf
$(BUILD_DIR)
/.mkshrc
$(ETC_OUT)
/
$(HIDE)$(RM)
$(BUILD_DIR)
$(BUILD_LOG)
$(HIDE)
mkdir
-p
$(OUT)
/bin/
$(OUT)
/etc/
$(HIDE)$(STRIP)
$(BUILD_DIR)
/mksh
-o
$(OUT)
/bin/mksh
$(HIDE)$(CP)
$(BUILD_DIR)
/.mkshrc
$(OUT)
/etc/
clean
:
$(HIDE)$(RM)
$(MKSH)
$(BUILD_DIR)
$(BUILD_LOG)
$(HIDE)$(RM)
$(BUILD_DIR)
.PHONY
:
all
$(MKSH)
clean
.PHONY
:
all clean
apps/shell/BUILD.gn
浏览文件 @
6e2a4be1
...
...
@@ -41,18 +41,4 @@ executable("shell") {
deps = [ "$LITEOSTHIRDPARTY/bounds_checking_function:libsec_static" ]
include_dirs = [ "include" ]
cflags = [ "-fPIE" ]
if (defined(LOSCFG_COMPILER_CLANG_LLVM)) {
cflags += [
"-Wno-shift-op-parentheses",
"-Wno-bitwise-op-parentheses",
]
}
ldflags = [
"-pie",
"-s",
]
}
apps/tftp/BUILD.gn
浏览文件 @
6e2a4be1
...
...
@@ -38,18 +38,4 @@ executable("tftp") {
deps = [ "$LITEOSTHIRDPARTY/bounds_checking_function:libsec_static" ]
include_dirs = [ "include" ]
cflags = [ "-fPIE" ]
if (defined(LOSCFG_COMPILER_CLANG_LLVM)) {
cflags += [
"-Wno-shift-op-parentheses",
"-Wno-bitwise-op-parentheses",
]
}
ldflags = [
"-pie",
"-s",
]
}
apps/toybox/Makefile
浏览文件 @
6e2a4be1
...
...
@@ -29,40 +29,25 @@
include
$(APPSTOPDIR)/config.mk
TOYBOX
:=
toybox
BUILD_DIR
:=
$(OUT)
/toybox_build
BUILD_LOG
:=
$(BUILD_DIR)
/build.log
TOYBOX_DIR
:=
$(
shell
pwd
)
CFLAGS
+=
-Wno-error
APPS_OUT
:=
$(OUT)
/bin
BUILD_DIR
:=
$(TOYBOX_DIR)
/build
BUILD_LOG
:=
$(TOYBOX_DIR)
/build.log
OUTNAME
:=
$(TOYBOX)
CFLAGS
:=
-D_FORTIFY_SOURCE
=
2
-fstack-protector-strong
LDFLAGS
:=
ifeq
($(LOSCFG_COMPILER_CLANG_LLVM), y)
CFLAGS
+=
--target
=
$(LLVM_TARGET)
$(LLVM_SYSROOT)
LDFLAGS
+=
--target
=
$(LLVM_TARGET)
$(LLVM_SYSROOT)
endif
$(TOYBOX)
:
all
:
ifneq
($(wildcard $(BUILD_DIR)),)
$(HIDE)
echo
"not clean, rebuilding now"
;
$(HIDE)
echo
"not clean, rebuilding now"
else
$(HIDE)
mkdir
$(BUILD_DIR)
$(HIDE)$(CP)
$(LITEOSTHIRDPARTY)
/
$(TOYBOX)
/.
$(BUILD_DIR)
$(HIDE)$(CP)
-p
$(LITEOSTHIRDPARTY)
/
$(TOYBOX)
/porting/liteos_a/.
$(BUILD_DIR)
$(HIDE)
mkdir
-p
$(BUILD_DIR)
$(HIDE)$(CP)
$(LITEOSTHIRDPARTY)
/toybox/.
$(BUILD_DIR)
$(HIDE)$(CP)
$(LITEOSTHIRDPARTY)
/toybox/porting/liteos_a/.
$(BUILD_DIR)
$(HIDE)$(CP)
liteos_a_custom.config
$(BUILD_DIR)
/../
endif
$(HIDE)CFLAGS
=
"
$(CFLAGS)
"
CC
=
"
$(CC)
"
OUTNAME
=
"
$(OUTNAME)
"
\
LDFLAGS
=
"
$(LDFLAGS)
"
STRIP
=
"
$(STRIP)
"
\
$(HIDE)
unset
KCONFIG_CONFIG CROSS_COMPILE
&&
\
env
CC
=
"
$(CC)
"
OUTNAME
=
"
$(OUT)
/bin/toybox"
CFLAGS
=
"
$(CFLAGS)
"
LDFLAGS
=
"
$(LDFLAGS)
"
STRIP
=
"
$(STRIP)
"
\
make
-C
$(BUILD_DIR)
toybox
-j
>
$(BUILD_LOG)
2>&1
$(HIDE)$(CP)
$(BUILD_DIR)/$(TOYBOX)
.
$(HIDE)mkdir
-p
$(APPS_OUT)
$(HIDE)$(CP)
$(TOYBOX)
$(APPS_OUT)
$(HIDE)$(RM)
$(BUILD_DIR)
$(BUILD_LOG)
clean
:
$(HIDE)$(RM)
$(
TOYBOX)
$(BUILD_DIR)
$(BUILD_LOG
)
$(HIDE)$(RM)
$(
BUILD_DIR
)
.PHONY
:
all
$(TOYBOX)
clean
.PHONY
:
all clean
tools/build/mk/los_config.mk
浏览文件 @
6e2a4be1
...
...
@@ -595,12 +595,9 @@ LITEOS_LD_SCRIPT := -T$(LITEOSTOPDIR)/tools/build/liteos.ld
endif
##compiler##
ifeq
($(LOSCFG_COMPILER_CLANG_LLVM), y)
_CC
=
$(CC)
$(LLVM_EXTRA_OPTS)
$(LLVM_EXTRA_LD_OPTS)
$(LITEOS_CORE_COPTS)
LITEOS_BASELIB
+=
$(
shell
$(_CC)
"-print-file-name=libunwind.a"
)
--no-dependent-libraries
else
_CC
=
$(CC)
$(LITEOS_CORE_COPTS)
LITEOS_BASELIB
+=
$(
shell
$(_CC)
"-print-file-name=libgcc_eh.a"
)
ifeq
($(LOSCFG_COMPILER_CLANG_LLVM), y)
_CC
+=
$(LLVM_EXTRA_OPTS)
$(LLVM_EXTRA_LD_OPTS)
endif
LITEOS_BASELIB
+=
$(
shell
$(_CC)
"-print-libgcc-file-name"
)
LITEOS_LIB_INCLUDE
+=
-isystem
$(
shell
$(_CC)
"-print-file-name=include"
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录