1# Copyright 2018 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("//build/buildflag_header.gni") 6import("//build/config/cast.gni") 7import("//build/config/chrome_build.gni") 8import("//build/config/chromeos/args.gni") 9import("//build/config/chromeos/ui_mode.gni") 10import("//build/config/features.gni") 11import("//build/util/process_version.gni") 12import("//build_overrides/build.gni") 13 14if (is_ios) { 15 import("//build/config/ios/ios_sdk.gni") 16} 17 18source_set("buildflag_header_h") { 19 sources = [ "buildflag.h" ] 20} 21 22buildflag_header("branding_buildflags") { 23 header = "branding_buildflags.h" 24 25 if (is_chrome_branded) { 26 flags = [ 27 "CHROMIUM_BRANDING=0", 28 "GOOGLE_CHROME_BRANDING=1", 29 ] 30 } else { 31 flags = [ 32 "CHROMIUM_BRANDING=1", 33 "GOOGLE_CHROME_BRANDING=0", 34 ] 35 } 36 37 if (is_chrome_for_testing) { 38 assert(!is_chrome_branded, 39 "`is_chrome_for_testing` is incompatible with `is_chrome_branded`") 40 41 flags += [ "CHROME_FOR_TESTING=1" ] 42 } else { 43 flags += [ "CHROME_FOR_TESTING=0" ] 44 } 45 46 # Note: `GOOGLE_CHROME_FOR_TESTING_BRANDING` and `CHROMIUM_BRANDING` are not 47 # mutually exclusive. 48 if (is_chrome_for_testing_branded) { 49 assert(is_chrome_for_testing, 50 "`is_chrome_for_testing_branded` requires `is_chrome_for_testing`") 51 52 flags += [ "GOOGLE_CHROME_FOR_TESTING_BRANDING=1" ] 53 } else { 54 flags += [ "GOOGLE_CHROME_FOR_TESTING_BRANDING=0" ] 55 } 56} 57 58buildflag_header("blink_buildflags") { 59 header = "blink_buildflags.h" 60 flags = [ "USE_BLINK=$use_blink" ] 61} 62 63buildflag_header("chromecast_buildflags") { 64 header = "chromecast_buildflags.h" 65 66 flags = [ 67 "IS_CASTOS=$is_castos", 68 "IS_CAST_ANDROID=$is_cast_android", 69 "ENABLE_CAST_RECEIVER=$enable_cast_receiver", 70 ] 71} 72 73buildflag_header("chromeos_buildflags") { 74 header = "chromeos_buildflags.h" 75 76 flags = [ 77 "IS_CHROMEOS_DEVICE=$is_chromeos_device", 78 79 "IS_CHROMEOS_LACROS=$is_chromeos_lacros", 80 "IS_CHROMEOS_ASH=$is_chromeos_ash", 81 "IS_CHROMEOS_WITH_HW_DETAILS=$is_chromeos_with_hw_details", 82 "IS_REVEN=$is_reven", 83 ] 84} 85 86buildflag_header("robolectric_buildflags") { 87 header = "robolectric_buildflags.h" 88 flags = [ "IS_ROBOLECTRIC=$is_robolectric" ] 89} 90 91buildflag_header("ios_buildflags") { 92 header = "ios_buildflags.h" 93 _is_ios_app_extension = is_ios && ios_is_app_extension 94 flags = [ "IS_IOS_APP_EXTENSION=$_is_ios_app_extension" ] 95} 96 97buildflag_header("android_buildflags") { 98 header = "android_buildflags.h" 99 flags = [ "IS_DESKTOP_ANDROID=$is_desktop_android" ] 100} 101 102if (build_with_chromium) { 103 group("gold_common_pytype") { 104 testonly = true 105 106 data = [ "//build/skia_gold_common/" ] 107 108 data_deps = [ "//testing:pytype_dependencies" ] 109 } 110} 111 112if (is_chromeos) { 113 process_version("version_metadata") { 114 sources = [ "//chrome/VERSION" ] 115 116 template_file = "metadata.json.in" 117 output = "$root_out_dir/metadata.json" 118 process_only = true 119 } 120} 121