# Copyright 2023 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

buildconfig = "//BUILDCONFIG.gn"

default_args = {
  # Default gn build virtualenv target.
  pw_build_PYTHON_BUILD_VENV = "//:gonk_build_venv"

  dir_pw_third_party_freertos = "//third_party/FreeRTOS"
  dir_pw_third_party_stm32cube_f7 = "//third_party/stm32cube_f7"

  pw_arduino_build_CORE_PATH = "//third_party"
  pw_arduino_build_CORE_NAME = "stm32duino"
  pw_arduino_build_PACKAGE_NAME = "stm32/2.6.0"
  pw_arduino_build_BOARD = "GenF7"
  pw_arduino_build_MENU_OPTIONS = [
    "menu.pnum.GENERIC_F730R8TX",
    "menu.dbg.enable_all",
    "menu.usb.CDCgen",
    "menu.rtlib.nano",
    "menu.xusb.FS",
    "menu.xserial.generic",
    "menu.upload_method.swdMethod",
  ]
}
