Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
Mace
提交
ceeb69fc
Mace
项目概览
Xiaomi
/
Mace
通知
106
Star
40
Fork
27
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Mace
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ceeb69fc
编写于
2月 01, 2018
作者:
L
liuqi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Merge export_local_lib to export_lib.
上级
0436bb8e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
22 addition
and
129 deletion
+22
-129
tools/export_lib.sh
tools/export_lib.sh
+22
-4
tools/export_local_lib.sh
tools/export_local_lib.sh
+0
-125
未找到文件。
tools/export_lib.sh
浏览文件 @
ceeb69fc
...
...
@@ -71,6 +71,17 @@ build_target()
$DSP_MODE_BUILD_FLAGS
||
exit
-1
}
build_local_target
()
{
BAZEL_TARGET
=
$1
bazel build
--verbose_failures
-c
opt
--strip
always
$BAZEL_TARGET
\
--copt
=
"-std=c++11"
\
--copt
=
"-D_GLIBCXX_USE_C99_MATH_TR1"
\
--copt
=
"-Werror=return-type"
\
--copt
=
"-DMACE_OBFUSCATE_LITERALS"
\
--define
openmp
=
true
||
exit
-1
}
merge_libs
()
{
CREATE_LIB_NAME
=
$1
...
...
@@ -113,10 +124,17 @@ bash mace/tools/git/gen_version_source.sh ${CODEGEN_DIR}/version/version.cc || e
echo
"Step 3: Build libmace targets"
bazel clean
for
target
in
${
all_targets
[*]
}
do
build_target
${
target
}
done
if
[
x
"
${
RUNTIME
}
"
=
x
"local"
]
;
then
for
target
in
${
all_targets
[*]
}
do
build_local_target
${
target
}
done
else
for
target
in
${
all_targets
[*]
}
do
build_target
${
target
}
done
fi
echo
"Step 4: Create mri files and generate merged libs"
...
...
tools/export_local_lib.sh
已删除
100755 → 0
浏览文件 @
0436bb8e
#!/bin/bash
set
-e
Usage
()
{
echo
"Usage: ./tools/export_local_lib.sh export_include_dir export_lib_dir"
echo
"eg: ./tools/export_local_lib.sh ../include ../lib/libmace_v7"
}
if
[
$#
-lt
2
]
;
then
Usage
exit
-1
fi
EXPORT_INCLUDE_DIR
=
$1
EXPORT_LIB_DIR
=
$2
MACE_SOURCE_DIR
=
`
/bin/pwd
`
CODEGEN_DIR
=
${
MACE_SOURCE_DIR
}
/mace/codegen
VERSION_CODEGEN_DIR
=
${
CODEGEN_DIR
}
/version
STRIP
=
"--strip always"
# TO REMOVE
LIBMACE_TEMP_DIR
=
`
mktemp
-d
-t
libmace.XXXX
`
LIBMACE_NAME
=
"libmace"
LIBMACE_DEV_NAME
=
"libmace_dev"
LIBMACE_PROD_NAME
=
"libmace_prod"
libmace_targets
=(
"//mace/ops:ops"
"//mace/kernels:kernels"
"//mace/codegen:generated_version"
"//mace/core:core"
"//mace/utils:logging"
)
libmace_dev_targets
=(
"//mace/codegen:generated_opencl_dev"
"//mace/core:opencl_dev"
"//mace/utils:tuner_dev"
)
libmace_prod_targets
=(
"//mace/core:opencl_prod"
"//mace/utils:tuner_prod"
)
all_targets
=(
${
libmace_targets
[*]
}
${
libmace_dev_targets
[*]
}
${
libmace_prod_targets
[*]
}
)
build_target
()
{
BAZEL_TARGET
=
$1
bazel build
--verbose_failures
-c
opt
--strip
always
$BAZEL_TARGET
\
--copt
=
"-std=c++11"
\
--copt
=
"-D_GLIBCXX_USE_C99_MATH_TR1"
\
--copt
=
"-Werror=return-type"
\
--copt
=
"-DMACE_OBFUSCATE_LITERALS"
\
--define
openmp
=
true
||
exit
-1
}
merge_libs
()
{
CREATE_LIB_NAME
=
$1
LIBS_LIST
=
$2
echo
"create
${
LIBMACE_TEMP_DIR
}
/
${
CREATE_LIB_NAME
}
.a"
>
${
LIBMACE_TEMP_DIR
}
/
${
CREATE_LIB_NAME
}
.mri
||
exit
-1
for
lib_target
in
${
LIBS_LIST
[*]
}
do
lib_dir
=
`
echo
${
lib_target
}
|
cut
-d
:
-f1
`
lib_dir
=
${
lib_dir
#//
}
lib_name_prefix
=
lib
`
echo
${
lib_target
}
|
cut
-d
:
-f2
`
bin_path
=
"
${
MACE_SOURCE_DIR
}
/bazel-bin/
${
lib_dir
}
/
${
lib_name_prefix
}
"
if
[
-f
"
${
bin_path
}
.a"
]
;
then
bin_path
=
"
${
bin_path
}
.a"
else
bin_path
=
"
${
bin_path
}
.lo"
fi
echo
"addlib
${
bin_path
}
"
>>
${
LIBMACE_TEMP_DIR
}
/
${
CREATE_LIB_NAME
}
.mri
||
exit
-1
done
echo
"save"
>>
${
LIBMACE_TEMP_DIR
}
/
${
CREATE_LIB_NAME
}
.mri
||
exit
-1
echo
"end"
>>
${
LIBMACE_TEMP_DIR
}
/
${
CREATE_LIB_NAME
}
.mri
||
exit
-1
$ANDROID_NDK_HOME
/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar
\
-M
<
${
LIBMACE_TEMP_DIR
}
/
${
CREATE_LIB_NAME
}
.mri
||
exit
-1
}
echo
"Step 1: Generate encrypted opencl source"
python mace/python/tools/encrypt_opencl_codegen.py
\
--cl_kernel_dir
=
./mace/kernels/opencl/cl/
\
--output_path
=
${
CODEGEN_DIR
}
/opencl/opencl_encrypt_program.cc
||
exit
-1
echo
"Step 2: Generate version source"
rm
-rf
${
VERSION_CODEGEN_DIR
}
mkdir
${
VERSION_CODEGEN_DIR
}
bash mace/tools/git/gen_version_source.sh
${
CODEGEN_DIR
}
/version/version.cc
||
exit
-1
echo
"Step 3: Build libmace targets"
bazel clean
for
target
in
${
all_targets
[*]
}
do
build_target
${
target
}
done
echo
"Step 4: Create mri files and generate merged libs"
merge_libs
"libmace"
"
${
libmace_targets
[*]
}
"
merge_libs
"libmace_dev"
"
${
libmace_dev_targets
[*]
}
"
merge_libs
"libmace_prod"
"
${
libmace_prod_targets
[*]
}
"
echo
"Step 5: Export lib"
rm
-rf
${
EXPORT_INCLUDE_DIR
}
mkdir
-p
${
EXPORT_INCLUDE_DIR
}
/mace/core/public
rm
-rf
${
EXPORT_LIB_DIR
}
mkdir
-p
${
EXPORT_LIB_DIR
}
cp
${
MACE_SOURCE_DIR
}
/mace/core/public/
*
${
EXPORT_INCLUDE_DIR
}
/mace/core/public
||
exit
-1
cp
${
LIBMACE_TEMP_DIR
}
/libmace.a
${
LIBMACE_TEMP_DIR
}
/libmace_dev.a
${
LIBMACE_TEMP_DIR
}
/libmace_prod.a
${
EXPORT_LIB_DIR
}
/
||
exit
-1
echo
"Step 6: Remove temporary file"
rm
-rf
${
LIBMACE_TEMP_DIR
}
echo
"Done!"
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录