diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /third_party/libwebrtc/build/args | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/build/args')
-rw-r--r-- | third_party/libwebrtc/build/args/OWNERS | 1 | ||||
-rw-r--r-- | third_party/libwebrtc/build/args/README.txt | 31 | ||||
-rw-r--r-- | third_party/libwebrtc/build/args/chromeos/README.md | 52 | ||||
-rw-r--r-- | third_party/libwebrtc/build/args/headless.gn | 58 |
4 files changed, 142 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/args/OWNERS b/third_party/libwebrtc/build/args/OWNERS new file mode 100644 index 0000000000..d218b6bdbd --- /dev/null +++ b/third_party/libwebrtc/build/args/OWNERS @@ -0,0 +1 @@ +per-file headless.gn=file://headless/OWNERS diff --git a/third_party/libwebrtc/build/args/README.txt b/third_party/libwebrtc/build/args/README.txt new file mode 100644 index 0000000000..825bf64c69 --- /dev/null +++ b/third_party/libwebrtc/build/args/README.txt @@ -0,0 +1,31 @@ +This directory is here to hold .gni files that contain sets of GN build +arguments for given configurations. + +(Currently this directory is empty because we removed the only thing here, but +this has come up several times so I'm confident we'll need this again. If this +directory is still empty by 2017, feel free to delete it. --Brett) + +Some projects or bots may have build configurations with specific combinations +of flags. Rather than making a new global flag for your specific project and +adding it all over the build to each arg it should affect, you can add a .gni +file here with the variables. + +For example, for project foo you may put in build/args/foo.gni: + + target_os = "android" + use_pulseaudio = false + use_ozone = true + system_libdir = "foo" + +Users wanting to build this configuration would run: + + $ gn args out/mybuild + +And add the following line to their args for that build directory: + + import("//build/args/foo.gni") + # You can set any other args here like normal. + is_component_build = false + +This way everybody can agree on a set of flags for a project, and their builds +stay in sync as the flags in foo.gni are modified. diff --git a/third_party/libwebrtc/build/args/chromeos/README.md b/third_party/libwebrtc/build/args/chromeos/README.md new file mode 100644 index 0000000000..e02e185519 --- /dev/null +++ b/third_party/libwebrtc/build/args/chromeos/README.md @@ -0,0 +1,52 @@ +This directory is used to store GN arg mapping for Chrome OS boards. + +Files in this directory are populated by running `gclient sync` with specific +arguments set in the .gclient file. Specifically: +* The file must have a top-level variable set: `target_os = ["chromeos"]` +* The `"custom_vars"` parameter of the chromium/src.git solution must include + the parameter: `"cros_boards": "{BOARD_NAMES}"` where `{BOARD_NAMES}` is a + colon-separated list of boards you'd like to checkout. +* If you'd like to a checkout a QEMU-bootable image for a given board, include + it in the `cros_boards_with_qemu_images` var rather than the `cros_boards` + var. + +A typical .gclient file is a sibling of the src/ directory, and might look like +this: +``` +solutions = [ + { + "url": "https://chromium.googlesource.com/chromium/src.git", + "managed": False, + "name": "src", + "custom_deps": {}, + "custom_vars" : { + "checkout_src_internal": True, + "cros_boards": "eve:kevin", + # If a QEMU-bootable image is desired for any board, move it from + # the previous var to the following: + "cros_boards_with_qemu_images": "amd64-generic", + }, + }, +] +target_os = ["chromeos"] +``` + +To use these files in a build, simply add the following line to your GN args: +``` +import("//build/args/chromeos/${some_board}.gni") +``` + +That will produce a Chrome OS build of Chrome very similar to what is shipped +for that device. You can also supply additional args or even overwrite ones +supplied in the .gni file after the `import()` line. For example, the following +args will produce a debug build of Chrome for board=eve using goma: +``` +import("//build/args/chromeos/eve.gni") + +is_debug = true +use_goma = true +goma_dir = "/path/to/goma/" +``` + +TODO(bpastene): Make 'cros_boards' a first class citizen in gclient and replace +it with 'target_boards' instead. diff --git a/third_party/libwebrtc/build/args/headless.gn b/third_party/libwebrtc/build/args/headless.gn new file mode 100644 index 0000000000..ed6308ba22 --- /dev/null +++ b/third_party/libwebrtc/build/args/headless.gn @@ -0,0 +1,58 @@ +# GN args template for the Headless Chrome library +# +# Add import to arg.gn in out directory and run gn gen on the directory to use. +# E.g. for out directory out/foo: +# echo 'import("//build/args/headless.gn")' > out/foo/args.gn +# gn gen out/foo +# +# Use gn args to add your own build preference args. + +use_ozone = true +ozone_auto_platforms = false +ozone_platform = "headless" +ozone_platform_headless = true +angle_enable_vulkan = true +angle_enable_swiftshader = true + +# Embed resource.pak into binary to simplify deployment. +headless_use_embedded_resources = true + +# Expose headless bindings for freetype library bundled with Chromium. +headless_fontconfig_utils = true + +# Don't use Prefs component, disabling access to Local State prefs. +headless_use_prefs = false + +# Don't use Policy component, disabling all policies. +headless_use_policy = false + +# Remove a dependency on a system fontconfig library. +use_bundled_fontconfig = true + +# In order to simplify deployment we build ICU data file +# into binary. +icu_use_data_file = false + +# Use embedded data instead external files for headless in order +# to simplify deployment. +v8_use_external_startup_data = false + +enable_nacl = false +enable_print_preview = false +enable_remoting = false +use_alsa = false +use_cups = false +use_dbus = false +use_gio = false +use_kerberos = false +use_libpci = false +use_pulseaudio = false +use_udev = false +rtc_use_pipewire = false +v8_enable_lazy_source_positions = false +use_glib = false +use_gtk = false +use_pangocairo = false + +# TODO(1096425): Remove this once use_x11 goes away. +use_x11 = false |