Refactor build-libraries.sh and env.sh for improved environment setup
- Updated build-libraries.sh to use --global and --path options for environment registration, enhancing clarity and consistency. - Modified env.sh to support custom paths and improved error handling for the --path argument, streamlining toolchain path resolution. - Removed redundant SYSROOT_DIR assignments to simplify the script logic.
This commit is contained in:
@@ -8,9 +8,10 @@ source "$(dirname "$0")/versions.sh"
|
|||||||
TOP="$(pwd)"
|
TOP="$(pwd)"
|
||||||
INSTALL_DIR="${TOP}/build/install"
|
INSTALL_DIR="${TOP}/build/install"
|
||||||
INSTALL_BIN_DIR="${INSTALL_DIR}/bin"
|
INSTALL_BIN_DIR="${INSTALL_DIR}/bin"
|
||||||
|
SYSROOT_DIR="${INSTALL_DIR}/sysroot"
|
||||||
|
|
||||||
# Запускаем предварительно для того чтобы подтянуть переменные
|
# Запускаем предварительно для того чтобы подтянуть переменные
|
||||||
. ./env.sh --toolchain --register "${INSTALL_DIR}"
|
. ./env.sh --global --path "${INSTALL_DIR}"
|
||||||
|
|
||||||
# Сбрасываем CFLAGS/CXXFLAGS — все флаги уже встроены в CC/CXX
|
# Сбрасываем CFLAGS/CXXFLAGS — все флаги уже встроены в CC/CXX
|
||||||
export CFLAGS=""
|
export CFLAGS=""
|
||||||
@@ -19,7 +20,6 @@ export CXXFLAGS=""
|
|||||||
# Подготавливаем пути к разделам
|
# Подготавливаем пути к разделам
|
||||||
|
|
||||||
LIB_DIR="${TOP}/src/libs"
|
LIB_DIR="${TOP}/src/libs"
|
||||||
SYSROOT_DIR="${SYSROOT}"
|
|
||||||
SYSROOT_ETC_DIR="${SYSROOT_DIR}/etc"
|
SYSROOT_ETC_DIR="${SYSROOT_DIR}/etc"
|
||||||
SYSROOT_USR_DIR="${SYSROOT_DIR}/usr"
|
SYSROOT_USR_DIR="${SYSROOT_DIR}/usr"
|
||||||
BUILD_SRC_DIR="${TOP}/build"
|
BUILD_SRC_DIR="${TOP}/build"
|
||||||
@@ -77,8 +77,8 @@ echo "== Распаковка завершена =="
|
|||||||
# Установка окружения
|
# Установка окружения
|
||||||
# ==================================================================
|
# ==================================================================
|
||||||
|
|
||||||
cd ${TOP}
|
cd "${TOP}"
|
||||||
. ./env.sh --toolchain --register "${INSTALL_DIR}" "rc"
|
. ./env.sh --global --path "${INSTALL_DIR}"
|
||||||
export CFLAGS=""
|
export CFLAGS=""
|
||||||
export CXXFLAGS=""
|
export CXXFLAGS=""
|
||||||
|
|
||||||
@@ -89,8 +89,8 @@ make install
|
|||||||
|
|
||||||
# ==================================================================
|
# ==================================================================
|
||||||
|
|
||||||
cd ${TOP}
|
cd "${TOP}"
|
||||||
. ./env.sh --toolchain --register "${INSTALL_DIR}"
|
. ./env.sh --global --path "${INSTALL_DIR}"
|
||||||
export CFLAGS=""
|
export CFLAGS=""
|
||||||
export CXXFLAGS=""
|
export CXXFLAGS=""
|
||||||
|
|
||||||
@@ -173,5 +173,4 @@ make install
|
|||||||
|
|
||||||
# ==================================================================
|
# ==================================================================
|
||||||
|
|
||||||
cd ${TOP}
|
cd "${TOP}"
|
||||||
. ./env.sh --toolchain --unregister
|
|
||||||
28
env.sh
28
env.sh
@@ -1,15 +1,31 @@
|
|||||||
TOP="$(pwd)"
|
TOP="$(pwd)"
|
||||||
TOOLCHAIN_PATH=""
|
TOOLCHAIN_PATH=""
|
||||||
GLOBAL_MODE=0
|
GLOBAL_MODE=0
|
||||||
|
CUSTOM_PATH=""
|
||||||
|
|
||||||
for arg in "$@"; do
|
while [ $# -gt 0 ]; do
|
||||||
if [ "$arg" = "--global" ]; then
|
case "$1" in
|
||||||
GLOBAL_MODE=1
|
--global)
|
||||||
break
|
GLOBAL_MODE=1
|
||||||
fi
|
shift
|
||||||
|
;;
|
||||||
|
--path)
|
||||||
|
if [ -z "$2" ]; then
|
||||||
|
echo "Ошибка: для --path нужно указать путь"
|
||||||
|
return 1 2>/dev/null || exit 1
|
||||||
|
fi
|
||||||
|
CUSTOM_PATH="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ -d "${TOP}/arm-uclinuxfdpiceabi" ]; then
|
if [ -n "${CUSTOM_PATH}" ]; then
|
||||||
|
TOOLCHAIN_PATH="${CUSTOM_PATH}"
|
||||||
|
elif [ -d "${TOP}/arm-uclinuxfdpiceabi" ]; then
|
||||||
TOOLCHAIN_PATH="${TOP}/arm-uclinuxfdpiceabi"
|
TOOLCHAIN_PATH="${TOP}/arm-uclinuxfdpiceabi"
|
||||||
elif [ -d "${TOP}/build/install" ]; then
|
elif [ -d "${TOP}/build/install" ]; then
|
||||||
TOOLCHAIN_PATH="${TOP}/build/install"
|
TOOLCHAIN_PATH="${TOP}/build/install"
|
||||||
|
|||||||
Reference in New Issue
Block a user