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

import("//build/buildflag_header.gni")
import("//extensions/buildflags/buildflags.gni")

# TODO(crbug.com/731689): Assert that extensions are enabled.

# This file is in a separate directory so all targets in the build can refer to
# the buildflag header to get the necessary preprocessor defines without
# bringing in all of extensions. Other targets can depend on this target
# regardless of whether extensions are enabled.

buildflag_header("buildflags") {
  header = "buildflags.h"
  flags = [
    "ENABLE_EXTENSIONS=$enable_extensions",
    "ENABLE_WIFI_DISPLAY=$enable_wifi_display",
  ]
}
