# Copyright 2014 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("//sky/engine/bindings/idl.gni")
import("//sky/engine/core/core.gni")

# IDL file lists; see: http://www.chromium.org/developers/web-idl-interfaces
# Interface IDL files: generate individual bindings (includes testing)
core_interface_idl_files = core_idl_files

# Static IDL files
core_static_interface_idl_files = core_idl_files

core_static_dependency_idl_files = core_dependency_idl_files

# Generated IDL files
core_generated_dependency_idl_files =
    # FIXME: Generate separate core_global_constructors_idls
    # http://crbug.com/358074
    generated_global_constructors_idl_files  # partial interfaces

# Static IDL files / Generated IDL files
#
# In GYP, paths need to be passed separately for static and generated files, as
# static files are listed in a temporary file (b/c too long for command line),
# but generated files must be passed at the command line, as their paths are
# not fixed at GYP time, when the temporary file is generated, because their
# paths depend on the build directory, which varies.
#
# FIXME: GN does not have this restriction and we can combine them. While GYP
# is still supported, we match its behavior for easier maintenance but this can
# be simplified.
core_static_idl_files =
    core_static_interface_idl_files + core_static_dependency_idl_files
core_generated_idl_files = core_generated_dependency_idl_files

# Dependency IDL files: don't generate individual bindings, but do process
# in IDL dependency computation, and count as build dependencies
# 'core_dependency_idl_files' is already used in engine/core, so avoid
# collision
core_all_dependency_idl_files =
    core_static_dependency_idl_files + core_generated_dependency_idl_files
