Make --register accept install root instead of bin directory

env.sh now appends /bin internally, so callers pass the install root
(e.g. build/install) consistently, both when using the default path
and when specifying it explicitly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-18 10:10:52 +03:00
parent 3bdde2147b
commit a0b70bd271
2 changed files with 11 additions and 11 deletions

View File

@@ -10,7 +10,7 @@ INSTALL_DIR="${TOP}/build/install"
INSTALL_BIN_DIR="${INSTALL_DIR}/bin" INSTALL_BIN_DIR="${INSTALL_DIR}/bin"
# Запускаем предварительно для того чтобы подтянуть переменные # Запускаем предварительно для того чтобы подтянуть переменные
. ./env.sh --register "${INSTALL_BIN_DIR}" . ./env.sh --register "${INSTALL_DIR}"
# Сбрасываем CFLAGS/CXXFLAGS — все флаги уже встроены в CC/CXX # Сбрасываем CFLAGS/CXXFLAGS — все флаги уже встроены в CC/CXX
export CFLAGS="" export CFLAGS=""
@@ -78,7 +78,7 @@ echo "== Распаковка завершена =="
# ================================================================== # ==================================================================
cd ${TOP} cd ${TOP}
. ./env.sh --register "${INSTALL_BIN_DIR}" "rc" . ./env.sh --register "${INSTALL_DIR}" "rc"
export CFLAGS="" export CFLAGS=""
export CXXFLAGS="" export CXXFLAGS=""
@@ -90,7 +90,7 @@ make install
# ================================================================== # ==================================================================
cd ${TOP} cd ${TOP}
. ./env.sh --register "${INSTALL_BIN_DIR}" . ./env.sh --register "${INSTALL_DIR}"
export CFLAGS="" export CFLAGS=""
export CXXFLAGS="" export CXXFLAGS=""

16
env.sh
View File

@@ -2,27 +2,27 @@
# env.sh — окружение для сборки под arm-uclinuxfdpiceabi (FDPIC, thumb) # env.sh — окружение для сборки под arm-uclinuxfdpiceabi (FDPIC, thumb)
# #
# Использование: # Использование:
# . ./env.sh --register /path/to/bin [arflags] # . ./env.sh --register /path/to/install [arflags]
# . ./env.sh --unregister # . ./env.sh --unregister
_env_usage() { _env_usage() {
echo "Использование:" echo "Использование:"
echo " . ./env.sh --register /path/to/bin [arflags]" echo " . ./env.sh --register /path/to/install [arflags]"
echo " . ./env.sh --unregister" echo " . ./env.sh --unregister"
} }
_env_register() { _env_register() {
local toolchain_path="${1:-}" local install_root="${1:-}"
local arflags_target="${2:-}" local arflags_target="${2:-}"
# Если путь не указан — пробуем найти локальную папку тулчейна # Если путь не указан — пробуем найти локальную папку тулчейна
if [ -z "$toolchain_path" ]; then if [ -z "$install_root" ]; then
local default_path="$(pwd)/arm-uclinuxfdpiceabi/bin" local default_path="$(pwd)/arm-uclinuxfdpiceabi"
if [ -d "$default_path" ]; then if [ -d "$default_path" ]; then
toolchain_path="$default_path" install_root="$default_path"
echo "Путь не указан, используется: ${default_path}" echo "Путь не указан, используется: ${default_path}"
else else
echo "Ошибка: не указан путь к тулчейну и папка arm-uclinuxfdpiceabi/bin не найдена" echo "Ошибка: не указан путь к тулчейну и папка arm-uclinuxfdpiceabi не найдена"
_env_usage _env_usage
return 1 return 1
fi fi
@@ -31,7 +31,7 @@ _env_register() {
TOP="$(pwd)" TOP="$(pwd)"
TARGET=arm-uclinuxfdpiceabi TARGET=arm-uclinuxfdpiceabi
TOOLCHAIN=arm-uclinuxfdpiceabi TOOLCHAIN=arm-uclinuxfdpiceabi
TOOLCHAIN_PATH="$toolchain_path" TOOLCHAIN_PATH="${install_root}/bin"
SYSROOT="${TOOLCHAIN_ROOT}/sysroot" SYSROOT="${TOOLCHAIN_ROOT}/sysroot"
PREFIX="${SYSROOT}/usr" PREFIX="${SYSROOT}/usr"