Enhance build-libraries.sh and env.sh for toolchain integration
- Updated build-libraries.sh to consistently use the --toolchain flag for environment registration and unregistration. - Modified env.sh to clarify usage instructions and enforce the --toolchain option for environment setup, improving user experience and consistency in toolchain management.
This commit is contained in:
@@ -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_DIR}"
|
. ./env.sh --toolchain --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_DIR}" "rc"
|
. ./env.sh --toolchain --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_DIR}"
|
. ./env.sh --toolchain --register "${INSTALL_DIR}"
|
||||||
export CFLAGS=""
|
export CFLAGS=""
|
||||||
export CXXFLAGS=""
|
export CXXFLAGS=""
|
||||||
|
|
||||||
@@ -174,4 +174,4 @@ make install
|
|||||||
# ==================================================================
|
# ==================================================================
|
||||||
|
|
||||||
cd ${TOP}
|
cd ${TOP}
|
||||||
. ./env.sh --unregister
|
. ./env.sh --toolchain --unregister
|
||||||
61
env.sh
61
env.sh
@@ -2,17 +2,14 @@
|
|||||||
# env.sh — окружение для сборки под arm-uclinuxfdpiceabi (FDPIC, thumb)
|
# env.sh — окружение для сборки под arm-uclinuxfdpiceabi (FDPIC, thumb)
|
||||||
#
|
#
|
||||||
# Использование:
|
# Использование:
|
||||||
# . ./env.sh [arflags]
|
# . ./env.sh --toolchain --register /path/to/install [arflags]
|
||||||
# (по умолчанию: --register и путь берётся из текущей директории: ./arm-uclinuxfdpiceabi)
|
# . ./env.sh --toolchain --unregister
|
||||||
# . ./env.sh --register /path/to/install [arflags]
|
|
||||||
# . ./env.sh --unregister
|
|
||||||
|
|
||||||
_env_usage() {
|
_env_usage() {
|
||||||
echo "Использование:"
|
echo "Использование:"
|
||||||
echo " . ./env.sh [arflags]"
|
echo " . ./env.sh"
|
||||||
echo " (по умолчанию: --register, тулчейн в ./arm-uclinuxfdpiceabi)"
|
echo " . ./env.sh --toolchain --register /path/to/install [arflags]"
|
||||||
echo " . ./env.sh --register /path/to/install [arflags]"
|
echo " . ./env.sh --toolchain --unregister"
|
||||||
echo " . ./env.sh --unregister"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_env_register() {
|
_env_register() {
|
||||||
@@ -102,6 +99,43 @@ _env_unregister() {
|
|||||||
echo "Окружение деактивировано, PATH восстановлен"
|
echo "Окружение деактивировано, PATH восстановлен"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
TOP="$(pwd)"
|
||||||
|
TARGET="arm-uclinuxfdpiceabi"
|
||||||
|
TOOLCHAIN="${TARGET}"
|
||||||
|
TOOLCHAIN_PATH="${TOP}/${TARGET}/bin"
|
||||||
|
CFLAGS_TOOLSET='-O2'
|
||||||
|
CFLAGS_TARGET='-Os -mthumb'
|
||||||
|
|
||||||
|
if [ -z "${_ENV_ORIG_PATH:-}" ]; then
|
||||||
|
_ENV_ORIG_PATH="$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
CFLAGS="${CFLAGS_TOOLSET}"
|
||||||
|
CFLAGS_FOR_TARGET="${CFLAGS_TARGET}"
|
||||||
|
CXXFLAGS_FOR_TARGET="${CFLAGS_TARGET}"
|
||||||
|
PATH="${TOOLCHAIN_PATH}:${_ENV_ORIG_PATH}"
|
||||||
|
|
||||||
|
export TOP TARGET TOOLCHAIN TOOLCHAIN_PATH
|
||||||
|
export CFLAGS_TOOLSET CFLAGS_TARGET
|
||||||
|
export CFLAGS CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET
|
||||||
|
export SUBARCH=armv7-m
|
||||||
|
export SUBMODE=thumb
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
echo "Окружение по умолчанию активировано"
|
||||||
|
echo " TOP = $TOP"
|
||||||
|
echo " TARGET = $TARGET"
|
||||||
|
echo " PATH = $TOOLCHAIN_PATH:\$PATH"
|
||||||
|
return 0 2>/dev/null || exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${1:-}" != "--toolchain" ]; then
|
||||||
|
_env_usage
|
||||||
|
return 1 2>/dev/null || exit 1
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
|
||||||
case "${1:-}" in
|
case "${1:-}" in
|
||||||
--register)
|
--register)
|
||||||
shift
|
shift
|
||||||
@@ -110,16 +144,7 @@ case "${1:-}" in
|
|||||||
--unregister)
|
--unregister)
|
||||||
_env_unregister
|
_env_unregister
|
||||||
;;
|
;;
|
||||||
"")
|
|
||||||
# Нет аргументов => автоматом register для тулчейна из текущей директории
|
|
||||||
_env_register "" ""
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
# Если аргумент не начинается с "--", трактуем как [arflags] для тулчейна из текущей директории
|
_env_usage
|
||||||
if [[ "$1" != --* ]]; then
|
|
||||||
_env_register "" "$1"
|
|
||||||
else
|
|
||||||
_env_usage
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
Reference in New Issue
Block a user