# Copyright 2018 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("//components/contextual_search/features.gni")

# This file is in a separate target so all targets in the build can refer to the
# buildflag header to get the necessary preprocessor defines without bringing in
# any of the other targets in this component.
buildflag_header("buildflags") {
  header = "buildflags.h"
  flags = [ "BUILD_CONTEXTUAL_SEARCH=$build_contextual_search" ]
}
