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

import("//build/config/python.gni")
import("//build/util/process_version.gni")

python_library("lacros_resource_sizes_py") {
  pydeps_file = "lacros_resource_sizes.pydeps"
  data = [ "//buildtools/third_party/eu-strip/bin/eu-strip" ]
  data_deps = [
    "//build/util:test_results",
    "//third_party/catapult/tracing:convert_chart_json",
  ]
}

# Lacros is built with "{arch}-generic" configuration. However, in Chrome
# OS, it is just "one board variation", so the libraries on the *-generic
# boards may not be compatible with the ones on the actual DUTs.
# One of the common pattern recently we hit is symbols exposed by libgcc.
# The symbols start to be exposed recently because of libunwind transition
# and along with it they are or are not re-exposed by other libraries, too,
# depending on per-board implementation.
# To mitigate the situation, marking -shared-libgcc to look up the system
# libgcc always.
config("optional_shared_libgcc") {
  ldflags = [ "-shared-libgcc" ]
}
