blob: da79174dae7dfe6ee0a90621cc840422d562c9a5 [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")
import("//third_party/WebKit/public/features.gni")
if (is_android) {
import("//build/config/android/config.gni")
}
if (current_cpu == "arm") {
import("//build/config/arm.gni")
}
declare_args() {
# Set to true to enable the clang plugin that checks the usage of the Blink
# garbage-collection infrastructure during compilation.
blink_gc_plugin = true
# If true, force blink asserts to be off in a release build. When false,
# blink asserts in release build may be controlled by DCHECK_ALWAYS_ON.
blink_asserts_off_in_release = false
# If true, doesn't compile debug symbols into webcore reducing the
# size of the binary and increasing the speed of gdb.
remove_webcore_debug_symbols = false
}
# Whether Android build uses OpenMAX DL FFT. Currently supported only on
# ARMv7+, ARM64, x86 or x64 without webview. Also enables WebAudio support.
# Whether WebAudio is actually available depends on runtime settings and flags.
use_openmax_dl_fft =
is_android && (current_cpu == "x86" || current_cpu == "x64" ||
(current_cpu == "arm" && arm_version >= 7) ||
current_cpu == "arm64" || current_cpu == "mipsel")
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_LAYOUT_UNIT_IN_INLINE_BOXES=0" ]
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 || use_aura) {
feature_defines_list += [ "ENABLE_INPUT_MULTIPLE_FIELDS_UI=1" ]
}
if (is_android) {
feature_defines_list += [ "WTF_USE_LOW_QUALITY_IMAGE_INTERPOLATION=1" ]
} else {
feature_defines_list += [
"WTF_USE_ICCJPEG=1",
"WTF_USE_QCMSLIB=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" ]
}
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_off_in_release && !is_debug) {
feature_defines_list += [ "ENABLE_ASSERT=0" ]
}
# 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")