# Copyright 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# We moved a lot of files to the project-freon overlay. Make sure we
# regen the board setup for each freon board.

BOARDS=(
  veyron
  veyron_brain
  veyron_danger
  veyron_gus
  veyron_jaq
  veyron_jerry
  veyron_mighty
  veyron_minnie
  veyron_pinky
  veyron_remy
  veyron_rialto
  veyron_speedy
)

for b in "${BOARDS[@]}"; do
  if [[ -d /build/${b} ]]; then
    ~/trunk/src/scripts/setup_board \
      --board=${b} \
      --skip_chroot_upgrade \
      --regen_configs
  fi
done
