mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-24 23:16:42 +00:00
cf86df688a
Signed-off-by: Alexey Neyman <stilor@att.net>
74 lines
2.1 KiB
Bash
74 lines
2.1 KiB
Bash
# Wrapper to build the companion tools facilities
|
|
|
|
# List all companion tools facilities, and parse their scripts
|
|
CT_COMP_TOOLS_FACILITY_LIST=
|
|
for f in "${CT_LIB_DIR}/scripts/build/companion_tools/"*.sh; do
|
|
_f="$(basename "${f}" .sh)"
|
|
_f="${_f#???-}"
|
|
__f="CT_COMP_TOOLS_${_f}"
|
|
if [ "${!__f}" = "y" ]; then
|
|
CT_DoLog DEBUG "Enabling companion tool '${_f}'"
|
|
. "${f}"
|
|
CT_COMP_TOOLS_FACILITY_LIST="${CT_COMP_TOOLS_FACILITY_LIST} ${_f}"
|
|
else
|
|
CT_DoLog DEBUG "Disabling companion tool '${_f}'"
|
|
fi
|
|
done
|
|
|
|
# Download the companion tools facilities
|
|
do_companion_tools_get() {
|
|
for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
|
|
do_companion_tools_${f}_get
|
|
done
|
|
}
|
|
|
|
# Extract and patch the companion tools facilities
|
|
do_companion_tools_extract() {
|
|
for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
|
|
do_companion_tools_${f}_extract
|
|
done
|
|
}
|
|
|
|
# Build the companion tools facilities for build
|
|
do_companion_tools_for_build() {
|
|
# Skip out if:
|
|
# - native/cross, and companion tools were neither selected
|
|
# to be built, nor included in the final toolchain
|
|
# - canadian/cross-native, and companion tools were not
|
|
# selected to be built
|
|
case "${CT_TOOLCHAIN_TYPE}" in
|
|
native|cross)
|
|
if [ -z "${CT_COMP_TOOLS}${CT_COMP_TOOLS_FOR_HOST}" ]; then
|
|
return
|
|
fi
|
|
;;
|
|
canadian|cross-native)
|
|
if [ -z "${CT_COMP_TOOLS}" ]; then
|
|
return
|
|
fi
|
|
;;
|
|
esac
|
|
for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
|
|
do_companion_tools_${f}_for_build
|
|
done
|
|
}
|
|
|
|
# Build the companion tools facilities for host
|
|
do_companion_tools_for_host() {
|
|
# For native/cross, build==host, and the tools were built
|
|
# earlier by do_companion_tools_for_build.
|
|
case "${CT_TOOLCHAIN_TYPE}" in
|
|
native|cross)
|
|
return
|
|
;;
|
|
canadian|cross-native)
|
|
if [ -z "${CT_COMP_TOOLS_FOR_HOST}" ]; then
|
|
return
|
|
fi
|
|
;;
|
|
esac
|
|
for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
|
|
do_companion_tools_${f}_for_host
|
|
done
|
|
}
|