xref: /aosp_15_r20/external/toolchain-utils/cros_utils/toolchain_utils.sh (revision 760c253c1ed00ce9abd48f8546f08516e57485fe)
1*760c253cSXin Li#!/bin/bash
2*760c253cSXin Li# Copyright 2012 The ChromiumOS Authors
3*760c253cSXin Li# Use of this source code is governed by a BSD-style license that can be
4*760c253cSXin Li# found in the LICENSE file.
5*760c253cSXin Li
6*760c253cSXin Li# TODO: Convert this to python.
7*760c253cSXin Li
8*760c253cSXin Liget_all_board_toolchains()
9*760c253cSXin Li{
10*760c253cSXin Li  cros_setup_toolchains --show-board-cfg="$1" | sed 's:,: :g'
11*760c253cSXin Li}
12*760c253cSXin Li
13*760c253cSXin Liget_ctarget_from_board()
14*760c253cSXin Li{
15*760c253cSXin Li  local all_toolchains=( $(get_all_board_toolchains "$@") )
16*760c253cSXin Li  echo "${all_toolchains[0]}"
17*760c253cSXin Li}
18*760c253cSXin Li
19*760c253cSXin Liget_board_arch()
20*760c253cSXin Li{
21*760c253cSXin Li  local ctarget=$(get_ctarget_from_board "$@")
22*760c253cSXin Li
23*760c253cSXin Li  # Ask crossdev what the magical portage arch is!
24*760c253cSXin Li  local arch=$(eval $(crossdev --show-target-cfg "${ctarget}"); echo ${arch})
25*760c253cSXin Li  if [[ -z ${arch} ]] ; then
26*760c253cSXin Li    error "Unable to determine ARCH from toolchain: ${ctarget}"
27*760c253cSXin Li    return 1
28*760c253cSXin Li  fi
29*760c253cSXin Li
30*760c253cSXin Li  echo "${arch}"
31*760c253cSXin Li  return 0
32*760c253cSXin Li}
33