Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
codefast
toolchain_2021
提交
87e30d0d
T
toolchain_2021
项目概览
codefast
/
toolchain_2021
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
toolchain_2021
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
87e30d0d
编写于
2月 08, 2021
作者:
wenliang999
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update setup_env.sh
上级
3d984d4f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
97 addition
and
45 deletion
+97
-45
script/setup_env.sh
script/setup_env.sh
+97
-45
未找到文件。
script/setup_env.sh
浏览文件 @
87e30d0d
...
...
@@ -11,9 +11,34 @@ if [ "$0" == "${BASH_SOURCE[0]}" ] ; then
echo
-e
"
\0
33[1;31m[ERROR](
${
SCRIPT_NAME
}
) Using the shell
\"
source
\"
command to this script.
\0
33[0m
\0
33[0;33msource
${
BASH_SOURCE
[0]
}
\0
33[0m"
;
fi
echo_quiet_disable
=
0
;
for
argv
in
$*
;
do if
[
"
$argv
"
==
"info"
]
;
then
echo_quiet_disable
=
1
;
fi done
function
echo_quiet
()
{
if
[
"
$echo_quiet_disable
"
==
"1"
]
;
then
echo
"
$*
"
;
fi
}
# ----------------------------------------------------------------------------------------------------
toolchain_echo_quiet_state
=
0
;
for
argv
in
$*
;
do if
[
"
$argv
"
==
"info"
]
;
then
toolchain_echo_quiet_state
=
1
;
fi done
function
toolchain_echo
()
{
if
[
"
$toolchain_echo_quiet_state
"
==
"1"
]
;
then
echo
"
$*
"
;
fi
}
function
toolchain_echo_yellow
(){
echo
-e
"
\0
33[0;33m
$*
\0
33[0m"
;
}
function
toolchain_echo_var
()
{
var_name_len_max
=
16
;
if
[
-n
"
$2
"
]
;
then
var_name_len_max
=
$2
;
fi
var_name
=
$1
var_data
=
$(
eval echo
\$
{
${
var_name
}
}
)
var_name_len
=
${#
var_name
}
for
((
i
=
${
var_name_len
}
;
i<
${
var_name_len_max
}
;
i++
))
;
do
var_name
=
"
${
var_name
}
"
done
toolchain_echo
"
${
var_name
}
:
${
var_data
}
"
}
function
toolchain_echo_var_yellow
()
{
var_name_len_max
=
16
;
if
[
-n
"
$2
"
]
;
then
var_name_len_max
=
$2
;
fi
var_name
=
$1
var_data
=
$(
eval echo
\$
{
${
var_name
}
}
)
var_name_len
=
${#
var_name
}
for
((
i
=
${
var_name_len
}
;
i<
${
var_name_len_max
}
;
i++
))
;
do
var_name
=
"
${
var_name
}
"
done
toolchain_echo
"
${
var_name
}
:
${
var_data
}
"
}
# ----------------------------------------------------------------------------------------------------
function
find_aarch64-linux-gnu-gcc
()
{
if
[
-n
"
$FINDED_COMPILER
"
]
;
then
...
...
@@ -33,7 +58,7 @@ function find_aarch64-linux-gnu-gcc() {
if
[
-n
"
$FINDED_COMPILER
"
]
;
then
TOOLCHAIN_PATH
=
${
FINDED_COMPILER
%/*/*
}
GCC_INCLUDE_PATH
=
${
TOOLCHAIN_PATH
}
/aarch64-linux-gnu/include
GCC_VERSION
=
$(
ls
${
TOOLCHAIN_PATH
}
/lib/gcc/
*
-
*
|
head
-n
1
)
#
GCC_VERSION=$(ls ${TOOLCHAIN_PATH}/lib/gcc/*-* | head -n 1)
PATH
=
${
TOOLCHAIN_PATH
}
/bin:
$PATH
PATH
=
${
TOOLCHAIN_PATH
}
/sbin:
$PATH
...
...
@@ -43,19 +68,8 @@ function find_aarch64-linux-gnu-gcc() {
CCACHE_PATH
=
${
TOOLCHAIN_PATH
}
/bin:
${
TOOLCHAIN_PATH
}
/bin/../aarch64-linux-gnu/bin:
${
TOOLCHAIN_PATH
}
/bin/aarch64-linux-gnu:
${
TOOLCHAIN_PATH
}
/bin/aarch64-linux-gnu-uclibc:
${
TOOLCHAIN_PATH
}
/bin/aarch64-linux-gnu-musl:
$CCACHE_PATH
export
CC
=
"aarch64-linux-gnu-gcc"
export
CXX
=
"aarch64-linux-gnu-g++"
export
CPP
=
"aarch64-linux-gnu-cpp"
export
AS
=
"aarch64-linux-gnu-as"
export
LD
=
"aarch64-linux-gnu-ld"
export
GDB
=
"aarch64-linux-gnu-gdb"
export
STRIP
=
"aarch64-linux-gnu-strip"
export
RANLIB
=
"aarch64-linux-gnu-ranlib"
export
OBJCOPY
=
"aarch64-linux-gnu-objcopy"
export
OBJDUMP
=
"aarch64-linux-gnu-objdump"
export
READELF
=
"aarch64-linux-gnu-readelf"
export
AR
=
"aarch64-linux-gnu-ar"
export
NM
=
"aarch64-linux-gnu-nm"
export
GCC_PATH
=
${
TOOLCHAIN_PATH
}
export
GCC_PREFIX
=
"aarch64-linux-gnu-"
C_INCLUDE_PATH
=
${
GCC_INCLUDE_PATH
}
:
${
TOOLCHAIN_PATH
}
/aarch64-linux-gnu/libc/usr/include:
${
C_INCLUDE_PATH
}
CPLUS_INCLUDE_PATH
=
${
GCC_INCLUDE_PATH
}
:
${
TOOLCHAIN_PATH
}
/aarch64-linux-gnu/libc/usr/include:
${
CPLUS_INCLUDE_PATH
}
...
...
@@ -85,7 +99,7 @@ function find_aarch64-qnx-gnu-gcc() {
if
[
-n
"
$FINDED_COMPILER
"
]
;
then
TOOLCHAIN_PATH
=
${
FINDED_COMPILER
%/*/*
}
GCC_INCLUDE_PATH
=
${
TOOLCHAIN_PATH
}
/ntoaarch64/include
GCC_VERSION
=
$(
ls
${
TOOLCHAIN_PATH
}
/lib/gcc/
*
-
*
|
head
-n
1
)
#
GCC_VERSION=$(ls ${TOOLCHAIN_PATH}/lib/gcc/*-* | head -n 1)
PATH
=
${
TOOLCHAIN_PATH
}
/bin:
$PATH
PATH
=
${
TOOLCHAIN_PATH
}
/sbin:
$PATH
...
...
@@ -95,19 +109,8 @@ function find_aarch64-qnx-gnu-gcc() {
CCACHE_PATH
=
${
TOOLCHAIN_PATH
}
/bin:
${
TOOLCHAIN_PATH
}
/bin/../ntoaarch64/bin:
${
TOOLCHAIN_PATH
}
/bin/ntoaarch64:
${
TOOLCHAIN_PATH
}
/bin/ntoaarch64-uclibc:
${
TOOLCHAIN_PATH
}
/bin/ntoaarch64-musl:
$CCACHE_PATH
export
CC
=
"ntoaarch64-gcc"
export
CXX
=
"ntoaarch64-g++"
export
CPP
=
"ntoaarch64-cpp"
export
AS
=
"ntoaarch64-as"
export
LD
=
"ntoaarch64-ld"
export
GDB
=
"ntoaarch64-gdb"
export
STRIP
=
"ntoaarch64-strip"
export
RANLIB
=
"ntoaarch64-ranlib"
export
OBJCOPY
=
"ntoaarch64-objcopy"
export
OBJDUMP
=
"ntoaarch64-objdump"
export
READELF
=
"ntoaarch64-readelf"
export
AR
=
"ntoaarch64-ar"
export
NM
=
"ntoaarch64-nm"
export
GCC_PATH
=
${
TOOLCHAIN_PATH
}
export
GCC_PREFIX
=
"ntoaarch64-"
C_INCLUDE_PATH
=
${
GCC_INCLUDE_PATH
}
:
${
TOOLCHAIN_PATH
}
/ntoaarch64/libc/usr/include:
${
C_INCLUDE_PATH
}
CPLUS_INCLUDE_PATH
=
${
GCC_INCLUDE_PATH
}
:
${
TOOLCHAIN_PATH
}
/ntoaarch64/libc/usr/include:
${
CPLUS_INCLUDE_PATH
}
...
...
@@ -122,8 +125,9 @@ function find_aarch64-qnx-gnu-gcc() {
export
QNX_TARGET QNX_HOST QNX_CONFIGURATION MAKEFLAGS PATH
unset
PYTHONPATH
echo_quiet
"QNX_HOST :
${
QNX_HOST
}
"
echo_quiet
"QNX_TARGET :
${
QNX_TARGET
}
"
toolchain_echo_var_yellow QNX_HOST
toolchain_echo_var_yellow QNX_TARGET
fi
return
}
...
...
@@ -133,25 +137,73 @@ if [ "$0" != "${BASH_SOURCE[0]}" ] ; then
unset
FINDED_COMPILER
unset
TOOLCHAIN_CMAKE
unset
find_info
find_aarch64-linux-gnu-gcc
find_aarch64-qnx-gnu-gcc
if
[
-n
"
$FINDED_COMPILER
"
]
;
then
gcc_target
=
$(
${
FINDED_COMPILER
}
-v
2>&1 |
grep
Target |
cut
-d
" "
-f
2 |
sed
's/linux-gnu/linux/g'
|
sed
's/unknown-nto-qnx/qnx/g'
)
gcc_version
=
$(
${
FINDED_COMPILER
}
-v
2>&1 |
grep
"gcc version"
|
cut
-d
" "
-f
3
)
export
CC
=
"
${
GCC_PREFIX
}
gcc"
export
CXX
=
"
${
GCC_PREFIX
}
g++"
export
CPP
=
"
${
GCC_PREFIX
}
cpp"
export
AS
=
"
${
GCC_PREFIX
}
as"
export
LD
=
"
${
GCC_PREFIX
}
ld"
export
GDB
=
"
${
GCC_PREFIX
}
gdb"
export
STRIP
=
"
${
GCC_PREFIX
}
strip"
export
RANLIB
=
"
${
GCC_PREFIX
}
ranlib"
export
OBJCOPY
=
"
${
GCC_PREFIX
}
objcopy"
export
OBJDUMP
=
"
${
GCC_PREFIX
}
objdump"
export
READELF
=
"
${
GCC_PREFIX
}
readelf"
export
AR
=
"
${
GCC_PREFIX
}
ar"
export
NM
=
"
${
GCC_PREFIX
}
nm"
gcc_target
=
$(
${
CC
}
-v
2>&1 |
grep
Target |
cut
-d
" "
-f
2 |
sed
's/linux-gnu/linux/g'
|
sed
's/unknown-nto-qnx/qnx/g'
)
gcc_version
=
$(
${
CC
}
-v
2>&1 |
grep
"gcc version"
|
cut
-d
" "
-f
3
)
gcc_target_tag
=
${
gcc_target
}
-
${
gcc_version
}
GCC_TARGET
=
${
gcc_target
}
GCC_VERSION
=
${
gcc_version
}
GCC_TARGET_TAG
=
${
gcc_target_tag
}
echo_quiet
"SCRIPT_NAME :
${
SCRIPT_NAME
}
"
echo_quiet
"SCRIPT_PATH :
${
SCRIPT_PATH
}
"
echo_quiet
"SEARCH_PATH :
${
SEARCH_PATH
}
"
echo_quiet
"FINDED_COMPILER :
${
FINDED_COMPILER
}
"
echo_quiet
"TOOLCHAIN_PATH :
${
TOOLCHAIN_PATH
}
"
;
echo_quiet
"GCC_INCLUDE_PATH :
${
GCC_INCLUDE_PATH
}
"
;
echo_quiet
"GCC_VERSION :
${
GCC_VERSION
}
"
;
echo_quiet
"gcc_target :
${
gcc_target
}
"
;
echo_quiet
"gcc_version :
${
gcc_version
}
"
;
echo_quiet
"gcc_target_tag :
${
gcc_target_tag
}
"
;
echo_quiet
"TOOLCHAIN_CMAKE :
${
TOOLCHAIN_CMAKE
}
"
;
# toolchain_echo "-----------------: --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------";
# toolchain_echo_var SCRIPT_NAME
# toolchain_echo_var SCRIPT_PATH
# toolchain_echo_var SEARCH_PATH
# toolchain_echo_var FINDED_COMPILER
# toolchain_echo_var TOOLCHAIN_PATH
# toolchain_echo_var GCC_INCLUDE_PATH
# toolchain_echo_var GCC_VERSION
# toolchain_echo_var gcc_target
# toolchain_echo_var gcc_version
# toolchain_echo_var gcc_target_tag
# toolchain_echo_var TOOLCHAIN_CMAKE
# toolchain_echo "-----------------: --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------";
toolchain_echo
"-----------------: --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------"
;
toolchain_echo_var_yellow SCRIPT_NAME
toolchain_echo_var_yellow SCRIPT_PATH
toolchain_echo_var_yellow GCC_PATH
toolchain_echo_var_yellow GCC_PREFIX
toolchain_echo_var_yellow GCC_VERSION
toolchain_echo_var_yellow GCC_TARGET
toolchain_echo_var_yellow GCC_TARGET_TAG
toolchain_echo_var_yellow GCC_INCLUDE_PATH
toolchain_echo_var_yellow TOOLCHAIN_CMAKE
toolchain_echo
" :"
;
toolchain_echo_var_yellow CC
toolchain_echo_var_yellow CXX
toolchain_echo_var_yellow CPP
toolchain_echo_var_yellow AS
toolchain_echo_var_yellow LD
toolchain_echo_var_yellow GDB
toolchain_echo_var_yellow STRIP
toolchain_echo_var_yellow RANLIB
toolchain_echo_var_yellow OBJCOPY
toolchain_echo_var_yellow OBJDUMP
toolchain_echo_var_yellow READELF
toolchain_echo_var_yellow AR
toolchain_echo_var_yellow NM
toolchain_echo
"-----------------: --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------"
;
else
echo
-e
"
\0
33[1;31m[ERROR](
${
SCRIPT_NAME
}
) Toolchain was not found.
\0
33[0m"
;
fi
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录