diff options
Diffstat (limited to 'scripts/build/companion_tools.sh')
-rw-r--r-- | scripts/build/companion_tools.sh | 45 |
1 files changed, 40 insertions, 5 deletions
diff --git a/scripts/build/companion_tools.sh b/scripts/build/companion_tools.sh index b703c415..415f3a2b 100644 --- a/scripts/build/companion_tools.sh +++ b/scripts/build/companion_tools.sh @@ -7,11 +7,11 @@ for f in "${CT_LIB_DIR}/scripts/build/companion_tools/"*.sh; do _f="${_f#???-}" __f="CT_COMP_TOOLS_${_f}" if [ "${!__f}" = "y" ]; then - CT_DoLog DEBUG "Enabling companion tools '${_f}'" + 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 tools '${_f}'" + CT_DoLog DEBUG "Disabling companion tool '${_f}'" fi done @@ -29,10 +29,45 @@ do_companion_tools_extract() { done } -# Build the companion tools facilities -do_companion_tools() { +# 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}_build + 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 +} |