Clone of https://chromium.googlesource.com/chromium/src/build with Mozilla's local modifications
5cb2ea1147
This CL reworks the way ChromiumOS toolchains work in GN, in such a way that they might actually have all the flags they need for the ChromiumOS ebuild files to be able to set all of the flags it needs (though there are still some missing GN build_args). Specifically, the ebuild will now need to set the following in args.gn: host_toolchain = "//build/toolchain/cros:host" v8_snapshot_toolchain = "//build/toolchain/cros:v8_snapshot" in order to support boards other than the amd64-generic build. The ebuild should actually set these variables all the time; it just happens that the amd64-generic build will work at the moment without the variables, but that will not be guaranteed to remain true in the future. This CL also adds the following optional build args that do pretty much what you'd expect them to do: cros_target_ld, cros_target_extra_cflags, cros_target_extra_cppflags, cros_target_extra_cxx_flags, cros_target_extra_ldflags, cros_host_ar, cros_host_cc, cros_host_cxx, cros_host_ld, cros_host_is_clang, cros_host_extra_cflags, cros_host_extra_cppflags, cros_host_extra_cxx_flags, cros_host_extra_ldflags, cros_v8_snapshot_ar, cros_v8_snapshot_cc, cros_v8_snapshot_cxx, cros_v8_snapshot_ld, cros_v8_snapshot_extra_cflags, cros_v8_snapshot_extra_cppflags, cros_v8_snapshot_extra_cxx_flags, cros_v8_snapshot_extra_ldflags This CL should be backwards-compatible with the existing linux desktop ChromiumOS builds and the amd64-generic simplechrome/ebuild (i.e., it can be landed and reverted w/o requiring any other changes to be made). It is a big hammer intended to un-block the ChromiumOS GN migration while we continue thinking about how to best support ChromiumOS. R=stevenjb@chromium.org, brettw@chromium.org BUG=608596, 595653 Review-Url: https://codereview.chromium.org/1983613002 Cr-Original-Commit-Position: refs/heads/master@{#394534} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 8ad2f49335feaddddbd3f318fc6f4d13eb52760b |
||
---|---|---|
android | ||
args | ||
config | ||
experimental | ||
git-hooks | ||
internal | ||
ios | ||
linux | ||
mac | ||
sanitizers | ||
secondary | ||
slave | ||
toolchain | ||
util | ||
win | ||
OWNERS | ||
PRESUBMIT.py | ||
README.chromium | ||
all.gyp | ||
apk_browsertest.gypi | ||
apk_fake_jar.gypi | ||
apk_test.gypi | ||
apply_locales.py | ||
branding_value.sh | ||
build-ctags.sh | ||
build_config.h | ||
buildflag.h | ||
buildflag_header.gni | ||
buildflag_header.gypi | ||
check_return_value.py | ||
chrome_settings.gypi | ||
clobber.py | ||
common.croc | ||
common.gypi | ||
common_untrusted.gypi | ||
compiled_action.gni | ||
compiler_version.py | ||
copy_test_data_ios.gypi | ||
copy_test_data_ios.py | ||
cp.py | ||
detect_host_arch.py | ||
dir_exists.py | ||
download_gold_plugin.py | ||
download_nacl_toolchains.py | ||
env_dump.py | ||
extract_from_cab.py | ||
filename_rules.gypi | ||
find_depot_tools.py | ||
find_isolated_tests.py | ||
gdb-add-index | ||
get_landmines.py | ||
get_syzygy_binaries.py | ||
gn_helpers.py | ||
gn_helpers_unittest.py | ||
gn_migration.gypi | ||
gn_run_binary.py | ||
grit_action.gypi | ||
grit_target.gypi | ||
gyp_chromium | ||
gyp_chromium.py | ||
gyp_chromium_test.py | ||
gyp_environment.py | ||
gyp_helper.py | ||
gypi_to_gn.py | ||
host_jar.gypi | ||
host_prebuilt_jar.gypi | ||
install-build-deps-android.sh | ||
install-build-deps.sh | ||
install-chroot.sh | ||
inverse_depth.py | ||
isolate.gypi | ||
jar_file_jni_generator.gypi | ||
java.gypi | ||
java_aidl.gypi | ||
java_apk.gypi | ||
java_prebuilt.gypi | ||
java_strings_grd.gypi | ||
jni_generator.gypi | ||
json_schema_api.gni | ||
json_schema_bundle_compile.gypi | ||
json_schema_bundle_registration_compile.gypi | ||
json_schema_compile.gypi | ||
json_to_struct.gypi | ||
landmine_utils.py | ||
landmines.py | ||
mac_toolchain.py | ||
nocompile.gni | ||
nocompile.gypi | ||
output_dll_copy.rules | ||
package_mac_toolchain.py | ||
precompile.cc | ||
precompile.h | ||
print_python_deps.py | ||
protoc.gypi | ||
protoc_java.gypi | ||
protoc_java.py | ||
release.gypi | ||
repack_action.gypi | ||
rmdir_and_stamp.py | ||
sanitize-mac-build-log.sed | ||
sanitize-mac-build-log.sh | ||
sanitize-win-build-log.sed | ||
sanitize-win-build-log.sh | ||
set_clang_warning_flags.gypi | ||
shim_headers.gni | ||
shim_headers.gypi | ||
some.gyp | ||
symlink.gni | ||
symlink.py | ||
tree_truth.sh | ||
update-linux-sandbox.sh | ||
vs_toolchain.py | ||
whitespace_file.txt | ||
win_is_xtree_patched.py | ||
win_precompile.gypi | ||
write_build_date_header.py | ||
write_buildflag_header.py |
README.chromium
List of property sheets to be included by projects: common.vsprops Not used anymore. No-op. Kept for compatibility with current projects. debug.vsprops Enables debug settings. Must be included directly in Debug configuration. Includes internal\essential.vsprops. external_code.vsprops Contains settings made to simplify usage of external (non-Google) code. It relaxes the warning levels. Should be included after debug.vsprops or release.vsprops to override their settings. output_dll_copy.rules Run to enable automatic copy of DLL when they are as an input file in a vcproj project. release.vsprops Enables release settings. Must be included directly in Release configuration. Includes internal\essential.vsprops. Also includes "internal\release_impl$(CHROME_BUILD_TYPE).vsprops". So the behavior is dependant on the CHROME_BUILD_TYPE environment variable.