# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

# This file is copied and modified from Chromium (src/BUILD.gn).
group("root") {
  external = true

  deps = [
  ]
}

# A standard (non-group) target is required in the build to load any of the
# configurations, which is in turn required to load all of the build parameters
# (in build/config/BUILD.gn).
executable("dummy") {
  external = true
}

