fpga arm制作完成
This commit is contained in:
@@ -304,6 +304,7 @@ attach_env_local_cross() {
|
||||
bge_toolchain_name="${gev_cur_toolchain_name}"
|
||||
build_gcc_ex
|
||||
)
|
||||
check_ret_exit "attach_env_local_cross 构建失败"
|
||||
log_info "attach_env_local_cross end"
|
||||
}
|
||||
|
||||
@@ -345,27 +346,30 @@ attach_env_canadian_stage3() {
|
||||
cacl_toolchain_name_canadian toolchain_name "${host}" "${ver}"
|
||||
bge_install_prefix="${gev_canadian_dir}/${toolchain_name}"
|
||||
(
|
||||
local target_toolchain_name host_toolchain_name
|
||||
cacl_toolchain_name_cross target_toolchain_name "${ver}"
|
||||
cacl_toolchain_name host_toolchain_name "${bge_build}" "${bge_build}" "${bge_host}" "${ver}"
|
||||
local target_toolchain_name
|
||||
cacl_toolchain_name_cross target_toolchain_name "${ver}"
|
||||
local target_tool_chain="${gev_cross_dir}/${target_toolchain_name}"
|
||||
local host_tool_chain="${gev_cross_dir}/${host_toolchain_name}"
|
||||
if [[ -d "$target_tool_chain" ]]; then
|
||||
load_toolchain "${target_tool_chain}" "${target}"
|
||||
load_toolchain_bin_only "${target_tool_chain}"
|
||||
else
|
||||
log_warn "target_tool_chain not exists: $target_tool_chain"
|
||||
fi
|
||||
if [[ -d "$host_tool_chain" ]]; then
|
||||
load_toolchain "${host_tool_chain}" "${host}"
|
||||
else
|
||||
log_warn "host_tool_chain not exists: $host_tool_chain"
|
||||
log_error "target_tool_chain not exists: $target_tool_chain"
|
||||
exit 1
|
||||
fi
|
||||
command -v "${host}-gcc" >/dev/null 2>&1 || {
|
||||
log_error "host cross compiler not found: ${host}-gcc"
|
||||
exit 1
|
||||
}
|
||||
command -v "${target}-gcc" >/dev/null 2>&1 || {
|
||||
log_error "target cross compiler not found: ${target}-gcc"
|
||||
exit 1
|
||||
}
|
||||
bge_source_sysroot="$gev_target_sysroot"
|
||||
bge_sysroot_use_mode="link"
|
||||
bge_gcc_ver="${ver}"
|
||||
bge_toolchain_name="${gev_cur_toolchain_name}"
|
||||
build_gcc_ex
|
||||
)
|
||||
check_ret_exit "attach_env_canadian_stage3 构建失败"
|
||||
log_info "attach_env_canadian_stage3 end"
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +86,20 @@ exec_record_fast_fail_no_log() {
|
||||
exit "$ret"
|
||||
fi
|
||||
}
|
||||
exec_args_fast_fail() {
|
||||
local ret
|
||||
local cmd
|
||||
printf -v cmd '%q ' "$@"
|
||||
cmd="${cmd% }"
|
||||
log_info "[%s] exec: %s" "$(pwd)" "$cmd"
|
||||
if "$@"; then
|
||||
return 0
|
||||
else
|
||||
ret=$?
|
||||
fi
|
||||
log_error "[%s] exec failed ret=%s: %s" "$(pwd)" "$ret" "$cmd"
|
||||
exit "$ret"
|
||||
}
|
||||
append_rpath() {
|
||||
local dir_path="$1"
|
||||
local rpath_value="$2"
|
||||
@@ -142,6 +156,11 @@ _prepend_path_unique() {
|
||||
fi
|
||||
export "$var_name"
|
||||
}
|
||||
load_toolchain_bin_only() {
|
||||
local prefix="$1"
|
||||
log_info "load_toolchain_bin_only path: %s" "$prefix"
|
||||
_prepend_path_unique PATH "${prefix}/bin"
|
||||
}
|
||||
load_toolchain() {
|
||||
local prefix="$1"
|
||||
local triplet="$2"
|
||||
|
||||
@@ -157,9 +157,25 @@ bge_check_params() {
|
||||
}
|
||||
|
||||
|
||||
bge_setup_canadian_compilers() {
|
||||
[[ "$bge_build_mode" == "canadian_stage3" ]] || return 0
|
||||
local build_cc
|
||||
local build_cxx
|
||||
build_cc="$(command -v gcc)"
|
||||
build_cxx="$(command -v g++)"
|
||||
export CC="${bge_host}-gcc"
|
||||
export CXX="${bge_host}-g++"
|
||||
export CC_FOR_BUILD="$build_cc"
|
||||
export CXX_FOR_BUILD="$build_cxx"
|
||||
export CPP_FOR_BUILD="$build_cc -E"
|
||||
export CC_FOR_TARGET="${bge_target}-gcc"
|
||||
export CXX_FOR_TARGET="${bge_target}-g++"
|
||||
log_info "canadian compilers: build=%s host=%s target=%s" "$CC_FOR_BUILD" "$CC" "$CC_FOR_TARGET"
|
||||
}
|
||||
# sudo apt install flex bison git依赖
|
||||
build_gcc_ex() {
|
||||
bge_check_params
|
||||
bge_setup_canadian_compilers
|
||||
local sysroot=""
|
||||
|
||||
if [[ "$bge_build_mode" == "cross" ||
|
||||
|
||||
@@ -26,6 +26,7 @@ include "${BASH_SOURCE[0]}" ./cmake.bash
|
||||
include "${BASH_SOURCE[0]}" ./lld.bash
|
||||
include "${BASH_SOURCE[0]}" ./install_llvm.bash
|
||||
init_build_environment
|
||||
enable_strict_error_mode
|
||||
# shellcheck source=./cmake.bash
|
||||
# shellcheck source=./lld.bash
|
||||
# shellcheck source=./install_llvm.bash
|
||||
@@ -72,8 +73,7 @@ function safe_llvm_strip {
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
build_kylin_ver() {
|
||||
build_mingw64_canadian_toolchain() {
|
||||
local ver=${1}
|
||||
local ver2=${2}
|
||||
local toolchain_name
|
||||
@@ -88,10 +88,12 @@ build_kylin_ver() {
|
||||
|
||||
# --debug-trycompile --debug-output -DCMAKE_TRY_COMPILE_NO_CLEANUP
|
||||
# 工具链运行的时候居然也需要 zlib1.dll 但是没重装系统前没发现
|
||||
local python_pkg="${pkg_root}/mingw-w64-x86_64-python-3.12.12-1-any.pkg.tar.zst"
|
||||
tar --zstd -xf "${python_pkg}" -C "${toolchain_root}" --strip-components=1 mingw64
|
||||
local zlib_pkg="${pkg_root}/mingw-w64-x86_64-zlib-1.3.2-2-any.pkg.tar.zst"
|
||||
tar --zstd -xf "${zlib_pkg}" -C "${toolchain_root}" --strip-components=1 mingw64
|
||||
local python_pkg
|
||||
local zlib_pkg
|
||||
download_msys2_pkg python_pkg "mingw64" "mingw-w64-x86_64-python-3.12.12-1-any.pkg.tar.zst" "${pkg_root}"
|
||||
download_msys2_pkg zlib_pkg "mingw64" "mingw-w64-x86_64-zlib-1.3.2-2-any.pkg.tar.zst" "${pkg_root}"
|
||||
exec_args_fast_fail tar --zstd -xf "${python_pkg}" -C "${toolchain_root}" --strip-components=1 mingw64
|
||||
exec_args_fast_fail tar --zstd -xf "${zlib_pkg}" -C "${toolchain_root}" --strip-components=1 mingw64
|
||||
|
||||
local script_text
|
||||
local script_path="${toolchain_root}/configure_python.bash"
|
||||
@@ -128,7 +130,7 @@ build_kylin_ver() {
|
||||
}
|
||||
|
||||
build_arm_kylin() {
|
||||
name="win_arm_kylin_414_1224"
|
||||
name="win_arm_kylin_414_1236"
|
||||
local target="aarch64-linux-gnu"
|
||||
local sysroot="${_ae_root_}/sysroots/arm_kylin"
|
||||
init_env "${name}" "${sysroot}" "${target}"
|
||||
@@ -136,7 +138,7 @@ build_arm_kylin() {
|
||||
local root="${gev_target_sysroot}"
|
||||
check_and_create_dir_var root
|
||||
patch_system_qt5 "${root}" "${root}/usr/lib/aarch64-linux-gnu/cmake" "${_ae_root_}/sysroots/win_qt_host_tool/5.14.2/msvc2017_64/qt5/bin"
|
||||
build_kylin_ver "releases/gcc-9.3.0" "9.3.0"
|
||||
build_mingw64_canadian_toolchain "releases/gcc-9.3.0" "9.3.0"
|
||||
#build_kylin_ver "releases/gcc-15.2.0" "15.2.0"
|
||||
compress_directory_tar_gz "${_ae_root_}/env/${name}" "${_ae_root_}/env" "${name}.tar.gz"
|
||||
}
|
||||
@@ -201,7 +203,21 @@ build_ubuntu_2004() {
|
||||
compress_directory_tar_gz "${_ae_root_}/env/${name}" "${_ae_root_}/env" "${name}.tar.gz"
|
||||
}
|
||||
|
||||
build_ubuntu2004_gcc93_clang_then_windows_lld_linux_x86
|
||||
#build_ubuntu2004_gcc93_clang_then_windows_lld_linux_x86
|
||||
|
||||
build_arm_vitis_2022_2_gcc_15_1_0() {
|
||||
local name="win_arm_vitis_2022_2_gcc_15_1_0_1104"
|
||||
local target="aarch64-xilinx-linux"
|
||||
local sysroot="/opt/vitis.pkg/pkg/tools/Xilinx/Vitis/2022.2/gnu/aarch64/lin/aarch64-linux/aarch64-xilinx-linux"
|
||||
local ver="releases/gcc-15.1.0"
|
||||
local ver2="15.1.0"
|
||||
init_env "${name}" "${sysroot}" "${target}"
|
||||
gev_cur_toolchain_name="vitis_2022_2_${target}_${ver2}"
|
||||
build_mingw64_canadian_toolchain "${ver}" "${ver2}"
|
||||
compress_directory_tar_gz "${_ae_root_}/env/${name}" "${_ae_root_}/env" "${name}.tar.gz"
|
||||
}
|
||||
|
||||
build_arm_vitis_2022_2_gcc_15_1_0
|
||||
|
||||
exit 0
|
||||
echo "执行完毕 !!!"
|
||||
|
||||
Reference in New Issue
Block a user