Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Kernel Liteos A
提交
a760c268
K
Kernel Liteos A
项目概览
OpenHarmony
/
Kernel Liteos A
1 年多 前同步成功
通知
460
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看板
提交
a760c268
编写于
6月 11, 2021
作者:
O
openharmony_ci
提交者:
Gitee
6月 11, 2021
浏览文件
操作
浏览文件
下载
差异文件
!312 musl归一化后调整和简化libc的构建
Merge pull request !312 from Caoruihong/porting2
上级
7ffc996b
5c782364
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
26 addition
and
192 deletion
+26
-192
lib/libc/Makefile
lib/libc/Makefile
+23
-166
lib/libc/musl
lib/libc/musl
+0
-1
lib/libc/optimization/arm/memchr.S
lib/libc/optimization/arm/memchr.S
+0
-1
lib/libc/optimization/arm/memcpy.S
lib/libc/optimization/arm/memcpy.S
+0
-1
lib/libc/optimization/arm/strcmp.S
lib/libc/optimization/arm/strcmp.S
+0
-1
lib/libc/optimization/arm/strcpy.c
lib/libc/optimization/arm/strcpy.c
+0
-1
lib/libc/optimization/arm/strlen.S
lib/libc/optimization/arm/strlen.S
+0
-1
lib/libc/optimization/asmdefs.h
lib/libc/optimization/asmdefs.h
+0
-1
tools/build/mk/los_config.mk
tools/build/mk/los_config.mk
+2
-5
tools/build/mk/module.mk
tools/build/mk/module.mk
+1
-14
未找到文件。
lib/libc/Makefile
浏览文件 @
a760c268
...
...
@@ -2,188 +2,45 @@ include $(LITEOSTOPDIR)/config.mk
MODULE_NAME
:=
c
LOCAL_MODULES
=
\
musl/src/ctype
\
musl/src/env
\
musl/src/errno
\
musl/src/exit
\
musl/src/internal
\
musl/src/linux
\
musl/src/locale
\
musl/src/malloc
\
musl/src/multibyte
\
musl/src/network
\
musl/src/prng
\
musl/src/sched
\
musl/src/stdio
\
musl/src/stdlib
\
musl/src/string
\
musl/src/math
\
musl/src/time
ARCH
=
arm
TOPDIR
=
$(LITEOSTOPDIR)
/../..
MUSLDIR
=
$(TOPDIR)
/third_party/musl
MUSLPORTINGDIR
=
$(MUSLDIR)
/porting/liteos_a/kernel
OPTRTDIR
=
$(TOPDIR)
/third_party/optimized-routines
LOCAL_SRCS
=
$(
wildcard
musl/src/ctype/
*
.c
)
\
$(
wildcard
musl/src/env/
*
.c
)
\
$(
wildcard
musl/src/errno/
*
.c
)
\
$(
wildcard
musl/src/exit/
*
.c
)
\
$(
wildcard
musl/src/linux/
*
.c
)
\
$(
wildcard
musl/src/locale/
*
.c
)
\
$(
wildcard
musl/src/malloc/
*
.c
)
\
$(
wildcard
musl/src/multibyte/
*
.c
)
\
$(
wildcard
musl/src/network/
*
.c
)
\
$(
wildcard
musl/src/prng/
*
.c
)
\
$(
wildcard
musl/src/sched/
*
.c
)
\
$(
wildcard
musl/src/stdlib/
*
.c
)
MUSL_SRCS
=
ifeq
($(LOSCFG_ARCH_ARM_VER), "armv7-a")
LOCAL_SRCS
+=
\
optimization/arm/memchr.S
\
optimization/arm/memcpy.S
\
optimization/arm/strcmp.S
\
optimization/arm/strcpy.c
\
optimization/arm/strlen.S
endif
MUSLPORTING_SRCS
=
\
src/
*
/
$(ARCH)
/
*
.[csS]
\
src/
*
/
*
.c
LOCAL_SRCS_MATH
=
$(
wildcard
musl/src/math/
*
.c
)
LOCAL_SRCS_INTERNAL
=
$(
wildcard
musl/src/internal/
*
.c
)
LOCAL_SRCS_STDIO
=
$(
wildcard
musl/src/stdio/
*
.c
)
LOCAL_SRCS_STRING
=
$(
wildcard
musl/src/string/
*
.c
)
LOCAL_SRCS_TIME
=
$(
wildcard
musl/src/time/
*
.c
)
LOCAL_SRCS
=
$(
wildcard
$(
addprefix
$(MUSLPORTINGDIR)
/,
$(MUSLPORTING_SRCS)
))
LOCAL_SRCS
:=
$(
filter-out
$(
subst
$(MUSLPORTINGDIR)
,
$(MUSLDIR)
,
$(LOCAL_SRCS)
)
,
$(
addprefix
$(MUSLDIR)
/,
$(MUSL_SRCS)
)
$(LOCAL_SRCS)
)
ifeq
($(LOSCFG_ARCH_ARM_VER), "armv7-a")
LOCAL_FILTER_SRCS_STRING
=
memchr.c memcpy.c strcmp.c strcpy.c strlen.c
LOCAL_SRCS_STRING
:=
$(
filter-out
$(LOCAL_FILTER_SRCS_STRING)
,
$(
wildcard
musl/src/string/
*
.c
))
LOCAL_SRCS
:=
$(
filter-out
$(
addprefix
$(MUSLDIR)
/src/string/,memchr.c memcpy.c strcmp.c strcpy.c strlen.c
)
,
$(LOCAL_SRCS)
)
LOCAL_SRCS
+=
\
$(OPTRTDIR)
/string/arm/memchr.S
\
$(OPTRTDIR)
/string/arm/memcpy.S
\
$(OPTRTDIR)
/string/arm/strcmp.S
\
$(OPTRTDIR)
/string/arm/strcpy.c
\
$(OPTRTDIR)
/string/arm/strlen-armv6t2.S
endif
LOCAL_SRCS
+=
$(
wildcard
src/
*
.c src/
*
/
*
.c
)
LOCAL_INCLUDE
:=
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/include
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/arch/arm
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/arch/generic
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/obj/include
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/src/include
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/src/dirent
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/src/errno
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/src/internal
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/src/multibyte
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/src/time
\
-I
$(LITEOSTOPDIR)
/syscall
\
-I
$(LITEOSTOPDIR)
/bsd/dev/random
\
-I
$(LITEOSTOPDIR)
/bsd/compat/linuxkpi/include
ifeq
($(LOSCFG_LLTSER), y)
LOCAL_INCLUDE
+=
-I
$(LITEOSTOPDIR)
/tools/gcov_ser
endif
LOCAL_INCLUDE
+=
$(
addprefix
-I
$(MUSLPORTINGDIR)
/, src/include src/internal
)
LOCAL_FLAGS
:=
$(LOCAL_INCLUDE)
LOCAL_FLAGS
:=
$(LOCAL_INCLUDE)
$(LITEOS_GCOV_OPTS)
ifeq
($(LOSCFG_COMPILER_CLANG_LLVM), y)
LOCAL_FLAGS
+=
-Wno-char-subscripts
-Wno-unknown-pragmas
else
LOCAL_FLAGS
+=
-frounding-math
-Wno-unused-but-set-variable
-Wno-unknown-pragmas
endif
ifeq
($(OS), Linux)
OBJOUT
:=
$(BUILD)
$(
dir
$(
subst
$(LITEOSTOPDIR)
,,
$(
shell
pwd
)))
$(MODULE_NAME)
LOCAL_PWD
:=
$(
shell
pwd
)
else
TEMPLITEOSTOPDIR
:=
$(
shell
cygpath
-u
$(LITEOSTOPDIR)
)
OBJOUT
:=
$(BUILD)
$(
dir
$(
subst
$(TEMPLITEOSTOPDIR)
,,
$(
shell
pwd
)))
$(MODULE_NAME)
LOCAL_PWD
:=
$(
shell
cygpath
-m
$(
shell
pwd
))
endif
ifeq
($(LOCAL_SO), y)
LIBSO
:=
$(OUT)
/lib/lib
$(MODULE_NAME)
.so
LIBA
:=
$(OUT)
/lib/lib
$(MODULE_NAME)
.a
else
LIBSO
:=
LIBA
:=
$(OUT)
/lib/lib
$(MODULE_NAME)
.a
endif
LIB
:=
$(LIBA)
$(LIBSO)
# create a separate list of objects per source type
LOCAL_CSRCS
:=
$(
filter
%.c,
$(LOCAL_SRCS)
)
LOCAL_CSRCS_MATH
:=
$(
filter
%.c,
$(LOCAL_SRCS_MATH)
)
LOCAL_CSRCS_INTERNAL
:=
$(
filter
%.c,
$(LOCAL_SRCS_INTERNAL)
)
LOCAL_CSRCS_STDIO
:=
$(
filter
%.c,
$(LOCAL_SRCS_STDIO)
)
LOCAL_CSRCS_STRING
:=
$(
filter
%.c,
$(LOCAL_SRCS_STRING)
)
LOCAL_CSRCS_TIME
:=
$(
filter
%.c,
$(LOCAL_SRCS_TIME)
)
LOCAL_ASMSRCS
:=
$(
filter
%.S,
$(LOCAL_SRCS)
)
LOCAL_COBJS
:=
$(
patsubst
%.c,
$(OBJOUT)
/%.o,
$(LOCAL_CSRCS)
)
LOCAL_COBJS_MATH
:=
$(
patsubst
%.c,
$(OBJOUT)
/%.o,
$(LOCAL_CSRCS_MATH)
)
LOCAL_COBJS_INTERNAL
:=
$(
patsubst
%.c,
$(OBJOUT)
/%.o,
$(LOCAL_CSRCS_INTERNAL)
)
LOCAL_COBJS_STDIO
:=
$(
patsubst
%.c,
$(OBJOUT)
/%.o,
$(LOCAL_CSRCS_STDIO)
)
LOCAL_COBJS_STRING
:=
$(
patsubst
%.c,
$(OBJOUT)
/%.o,
$(LOCAL_CSRCS_STRING)
)
LOCAL_COBJS_TIME
:=
$(
patsubst
%.c,
$(OBJOUT)
/%.o,
$(LOCAL_CSRCS_TIME)
)
LOCAL_ASMOBJS
:=
$(
patsubst
%.S,
$(OBJOUT)
/%.o,
$(LOCAL_ASMSRCS)
)
LOCAL_OBJS
:=
$(LOCAL_COBJS)
$(LOCAL_ASMOBJS)
$(LOCAL_COBJS_MATH)
$(LOCAL_COBJS_INTERNAL)
$(LOCAL_COBJS_STDIO)
$(LOCAL_COBJS_STRING)
$(LOCAL_COBJS_TIME)
LOCAL_CGCH
:=
$(
patsubst
%.h,%.h.gch,
$(LOCAL_CHS)
)
LOCAL_CPPGCH
:=
$(
patsubst
%.h,%.h.gch,
$(LOCAL_CPPHS)
)
all
:
$(LIB)
$(LOCAL_COBJS)
:
$(OBJOUT)/%.o: %.c sub_math
$(HIDE)$(OBJ_MKDIR)
$(HIDE)$(CC)
$(LITEOS_CFLAGS)
$(LOCAL_FLAGS)
-c
$<
-o
$@
$(LOCAL_ASMOBJS)
:
$(OBJOUT)/%.o: %.S
$(HIDE)$(OBJ_MKDIR)
$(HIDE)$(CC)
$(LITEOS_CFLAGS)
$(LOCAL_FLAGS)
-c
$<
-o
$@
sub_math
:
$(HIDE)$(MAKE)
-C
musl/src/math all
LOCAL_COBJS_MATH
=
"
$(LOCAL_COBJS_MATH)
"
OBJOUT
=
"
$(OBJOUT)
"
LOCAL_FLAGS
=
"
$(LOCAL_FLAGS)
"
sub_internal
:
sub_math
$(HIDE)$(MAKE)
-C
musl/src/internal all
LOCAL_COBJS_INTERNAL
=
"
$(LOCAL_COBJS_INTERNAL)
"
OBJOUT
=
"
$(OBJOUT)
"
LOCAL_FLAGS
=
"
$(LOCAL_FLAGS)
"
sub_stdio
:
sub_math
$(HIDE)$(MAKE)
-C
musl/src/stdio all
LOCAL_COBJS_STDIO
=
"
$(LOCAL_COBJS_STDIO)
"
OBJOUT
=
"
$(OBJOUT)
"
LOCAL_FLAGS
=
"
$(LOCAL_FLAGS)
"
sub_string
:
sub_math
$(HIDE)$(MAKE)
-C
musl/src/string all
LOCAL_COBJS_STRING
=
"
$(LOCAL_COBJS_STRING)
"
OBJOUT
=
"
$(OBJOUT)
"
LOCAL_FLAGS
=
"
$(LOCAL_FLAGS)
"
sub_time
:
sub_math
$(HIDE)$(MAKE)
-C
musl/src/time all
LOCAL_COBJS_TIME
=
"
$(LOCAL_COBJS_TIME)
"
OBJOUT
=
"
$(OBJOUT)
"
LOCAL_FLAGS
=
"
$(LOCAL_FLAGS)
"
$(LOCAL_CGCH)
:
%.h.gch : %.h
$(HIDE)$(CC)
$(LITEOS_CFLAGS)
$(LOCAL_FLAGS)
$>
$^
$(LOCAL_CPPGCH)
:
%.h.gch : %.h
$(HIDE)$(GPP)
$(LITEOS_CXXFLAGS)
$(LOCAL_FLAGS)
$(LOCAL_CPPFLAGS)
-x
c++-header
$>
$^
LOCAL_GCH
:=
$(LOCAL_CGCH)
$(LOCAL_CPPGCH)
$(LOCAL_OBJS)
:
$(LOCAL_GCH)
$(LIBA)
:
$(LOCAL_OBJS) sub_math sub_internal sub_stdio sub_string sub_time
$(HIDE)$(OBJ_MKDIR)
ifeq
($(OS), Linux)
$(HIDE)$(AR)
$(ARFLAGS)
$@
$(LOCAL_OBJS)
else
ifeq
($(LOCAL_MODULES),)
$(HIDE)$(AR)
$(ARFLAGS)
$@
$(LOCAL_OBJS)
else
$(HIDE)for
i
in
$(LOCAL_MODULES);
do
\
pushd
$(OBJOUT)/$$i
1>/dev/null;
\
$(AR)
$(ARFLAGS)
$@
*.o;\
popd
1>/dev/null;\
done
endif
endif
ifeq
($(LOCAL_SO), y)
$(LIBSO)
:
$(LOCAL_OBJS)
$(HIDE)$(CC)
$(LITEOS_CFLAGS)
-fPIC
-shared
$^
-o
$@
endif
clean
:
$(HIDE)$(RM)
$(LIB)
$(OBJOUT)
$(LOCAL_GCH)
*
.bak
*
~
.PHONY
:
all clean sub_math sub_internal sub_stdio sub_string sub_time
# clear some variables we set here
LOCAL_CSRCS
:=
LOCAL_COBJS
:=
include
$(MODULE)
lib/libc/musl
已删除
120000 → 0
浏览文件 @
7ffc996b
../../../../third_party/musl/kernel
\ No newline at end of file
lib/libc/optimization/arm/memchr.S
已删除
120000 → 0
浏览文件 @
7ffc996b
../../../../../../
third_party
/
optimized
-
routines
/
string
/
arm
/
memchr
.
S
\ No newline at end of file
lib/libc/optimization/arm/memcpy.S
已删除
120000 → 0
浏览文件 @
7ffc996b
../../../../../../
third_party
/
optimized
-
routines
/
string
/
arm
/
memcpy
.
S
\ No newline at end of file
lib/libc/optimization/arm/strcmp.S
已删除
120000 → 0
浏览文件 @
7ffc996b
../../../../../../
third_party
/
optimized
-
routines
/
string
/
arm
/
strcmp
.
S
\ No newline at end of file
lib/libc/optimization/arm/strcpy.c
已删除
120000 → 0
浏览文件 @
7ffc996b
..
/
..
/
..
/
..
/
..
/
..
/
third_party
/
optimized
-
routines
/
string
/
arm
/
strcpy
.
c
\ No newline at end of file
lib/libc/optimization/arm/strlen.S
已删除
120000 → 0
浏览文件 @
7ffc996b
../../../../../../
third_party
/
optimized
-
routines
/
string
/
arm
/
strlen
-
armv6t2
.
S
\ No newline at end of file
lib/libc/optimization/asmdefs.h
已删除
120000 → 0
浏览文件 @
7ffc996b
..
/
..
/
..
/
..
/
..
/
third_party
/
optimized
-
routines
/
string
/
asmdefs
.
h
\ No newline at end of file
tools/build/mk/los_config.mk
浏览文件 @
a760c268
...
...
@@ -229,10 +229,8 @@ ifeq ($(LOSCFG_LIB_LIBC), y)
LITEOS_BASELIB
+=
-lc
-lsec
LITEOS_LIBC_INCLUDE
+=
\
$(LITEOS_LIBSCREW_INCLUDE)
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/include
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/obj/include
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/arch/arm
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/arch/generic
\
-I
$(LITEOSTOPDIR)
/lib/libc/include
\
-I
$(LITEOSTHIRDPARTY)
/musl/porting/liteos_a/kernel/include
\
-I
$(LITEOSTHIRDPARTY)
/bounds_checking_function/include
endif
...
...
@@ -585,7 +583,6 @@ LITEOS_CXXINCLUDE += \
-I
$(LITEOS_COMPILER_CXX_PATH)
/c++/
$(VERSION_NUM)
/ext
\
-I
$(LITEOS_COMPILER_CXX_PATH)
/c++/
$(VERSION_NUM)
/backward
\
-I
$(LITEOSTOPDIR)
/compat/posix/include
\
-I
$(LITEOSTOPDIR)
/lib/libc/musl/include
\
-I
$(LITEOSTOPDIR)
/fs/include
\
-I
$(LITEOSTOPDIR)
/kernel/include
\
$(LITEOS_LIBC_INCLUDE)
...
...
tools/build/mk/module.mk
浏览文件 @
a760c268
...
...
@@ -63,25 +63,12 @@ LOCAL_OBJS := $(LOCAL_COBJS) $(LOCAL_CPPOBJS) $(LOCAL_ASMOBJS) $(LOCAL_ASMOBJS2)
LOCAL_CGCH
:=
$(
patsubst
%.h,%.h.gch,
$(LOCAL_CHS)
)
LOCAL_CPPGCH
:=
$(
patsubst
%.h,%.h.gch,
$(LOCAL_CPPHS)
)
#$(info LOCAL_SRCS = $(LOCAL_SRCS))
#$(info LOCAL_CSRCS = $(LOCAL_CSRCS))
#$(info LOCAL_CPPSRCS = $(LOCAL_CPPSRCS))
#$(info LOCAL_ASMSRCS = $(LOCAL_ASMSRCS))
#$(info LOCAL_ASMSRCS2 = $(LOCAL_ASMSRCS2))
#$(info LOCAL_CCSRCS = $(LOCAL_CCSRCS))
#$(info LOCAL_OBJS = $(LOCAL_OBJS))
#$(info LOCAL_COBJS = $(LOCAL_COBJS))
#$(info LOCAL_CPPOBJS = $(LOCAL_CPPOBJS))
#$(info LOCAL_ASMOBJS = $(LOCAL_ASMOBJS))
#$(info LOCAL_ASMOBJS2 = $(LOCAL_ASMOBJS2))
#$(info LOCAL_CCOBJS = $(LOCAL_CCOBJS))
all
:
$(LIB)
$(LOCAL_COBJS)
:
$(OBJOUT)/%.o: %.c
$(HIDE)$(OBJ_MKDIR)
$(HIDE)$(CC)
$(LITEOS_CFLAGS)
$(LOCAL_
INCLUDE)
$(LOCAL_
FLAGS)
$(LOCAL_CFLAGS)
-c
$<
-o
$@
$(HIDE)$(CC)
$(LITEOS_CFLAGS)
$(LOCAL_FLAGS)
$(LOCAL_CFLAGS)
-c
$<
-o
$@
$(LOCAL_CPPOBJS)
:
$(OBJOUT)/%.o: %.cpp
$(HIDE)$(OBJ_MKDIR)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录