blob: aea6ee3c210e3b67aa344614286745b6ebd3c2fc [file] [log] [blame]
# 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("//build/config/ui.gni")
if (is_android) {
import("//build/config/android/config.gni")
} else {
# TODO(brettw) remove this once && early-out is checked in.
is_android_webview_build = false
}
if (cpu_arch == "arm") {
import("//build/config/arm.gni")
} else {
# TODO(brettw) remove this once && early-out is checked in.
arm_version = 0
}
declare_args() {
# Enables the Oilpan garbage-collection infrastructure.
enable_oilpan = false
# Set to true to enable the clang plugin that checks the usage of the Blink
# garbage-collection infrastructure during compilation.
blink_gc_plugin = false
blink_gc_plugin_dump_graph = false
blink_asserts_always_on = false
}
use_default_render_theme = use_aura
# Whether Android ARM or x86 build uses OpenMAX DL FFT. Currently only
# supported on Android ARMv7+, ia32 or x64 without webview. When enabled, this
# will also enable WebAudio support on Android ARM, ia32 and x64. Default is
# enabled. Whether WebAudio is actually available depends on runtime settings
# and flags.
use_openmax_dl_fft = is_android && !is_android_webview_build &&
(cpu_arch == "x86" ||
cpu_arch == "x64" ||
(cpu_arch == "arm" && arm_version >= 7))
use_webaudio_ffmpeg = !is_mac && !is_android
# Set this to true to enable use of concatenated impulse responses for the HRTF
# panner in WebAudio.
# TODO(brettw) do we need this or can we assume its always on?
use_concatenated_impulse_responses = true
# feature_defines_list ---------------------------------------------------------
feature_defines_list = [
"ENABLE_SVG_FONTS=1",
]
if (is_debug) {
# TODO(GYP) this should also be set when release_valgrind_build is set,
# but we don't have that flag in the GN build yet.
feature_defines_list += [ "WTF_USE_DYNAMIC_ANNOTATIONS=1" ]
}
if (use_concatenated_impulse_responses) {
feature_defines_list += [ "WTF_USE_CONCATENATED_IMPULSE_RESPONSES=1" ]
}
if (!is_android) {
feature_defines_list += [
"ENABLE_INPUT_MULTIPLE_FIELDS_UI=1",
"ENABLE_WEB_AUDIO=1",
]
}
if (use_webaudio_ffmpeg) {
feature_defines_list += [ "WTF_USE_WEBAUDIO_FFMPEG=1" ]
}
if (use_openmax_dl_fft) {
feature_defines_list += [
"WTF_USE_WEBAUDIO_OPENMAX_DL_FFT=1",
# Enabling the FFT is enough to enable WebAudio support to
# allow most WebAudio features to work on Android.
"ENABLE_WEB_AUDIO=1",
]
}
if (!is_mac) {
# Mac OS X has not implemented support for ENABLE(OPENTYPE_VERTICAL) yet.
feature_defines_list += [ "ENABLE_OPENTYPE_VERTICAL=1" ]
}
if (use_default_render_theme) {
feature_defines_list += [ "WTF_USE_DEFAULT_RENDER_THEME=1" ]
}
if (enable_oilpan) {
feature_defines_list += [ "ENABLE_OILPAN=1" ]
}
if (blink_asserts_always_on) {
feature_defines_list += [ "ENABLE_ASSERT=1" ]
}
# feature_defines_string -------------------------------------------------------
# Convert the list to a space-separated string for passing to scripts.
# This would be the equivalent of passing '<(feature_defines)' in GYP.
feature_defines_string = exec_script(
"build/gn_list_to_space_separated_string.py",
feature_defines_list,
"trim string")