[tbb-commits] [tor-browser] 27/179: Bug 1773223 - Generate webrtc moz.builds for all platforms at once. r=mjf, firefox-build-system-reviewers, ahochheiden a=RyanVM

gitolite role git at cupani.torproject.org
Fri Aug 19 08:35:24 UTC 2022


This is an automated email from the git hooks/post-receive script.

pierov pushed a commit to branch tor-browser-102.2.0esr-12.0-1
in repository tor-browser.

commit b293fd9cf4f771b5b79dc9ffec1a51ca8e41aa5a
Author: Mike Hommey <mh+mozilla at glandium.org>
AuthorDate: Mon Jun 20 21:50:57 2022 +0000

    Bug 1773223 - Generate webrtc moz.builds for all platforms at once. r=mjf,firefox-build-system-reviewers,ahochheiden a=RyanVM
    
    The current script requires to be run on 4 different host platforms each
    of which would handle a subset of a total of 32 mozconfigs. That is not
    sustainable, and there are already missing configs that break tier-3
    platforms.
    
    This replaces the current setup with one that handles all platforms in
    one go, although we still keep the internal sequence of GcConfigGen ->
    fixup_json -> GnMozbuildWriter.
    
    The downside is that because this relies on the upstream webrtc build
    system supporting cross-compilation, and that it actively rejects some
    configurations, we need some local hacks to make it work on Linux and
    Mac, but for now, we have to leave out Windows, which requires more
    work.
    
    For some reason, that removes some duplicated include directories in the
    json files, which moves things a little in one moz.build file.
    
    We also remove the mozconfigs we don't use anymore.
    
    Differential Revision: https://phabricator.services.mozilla.com/D149205
---
 .../third_party_build/gn-configs/README-openbsd.md |  73 ---------------
 .../webrtc/third_party_build/gn-configs/README.md  |  66 ++------------
 .../third_party_build/gn-configs/fixup_json.py     |   7 +-
 .../gn-configs/generate-gn-build-files.sh          |  95 +++----------------
 .../gn-configs/x64_False_arm64_android.mozconfig   |  18 ----
 .../gn-configs/x64_False_arm64_linux_False.json    |   2 -
 .../x64_False_arm64_linux_False.mozconfig          |   6 --
 .../gn-configs/x64_False_arm64_linux_True.json     |   2 -
 .../x64_False_arm64_linux_True.mozconfig           |   5 -
 .../gn-configs/x64_False_arm64_mac.json            |   1 -
 .../gn-configs/x64_False_arm64_mac.mozconfig       |   4 -
 .../gn-configs/x64_False_arm64_win.json            |   1 -
 .../gn-configs/x64_False_arm64_win.mozconfig       |   3 -
 .../gn-configs/x64_False_arm_android.mozconfig     |  18 ----
 .../gn-configs/x64_False_x64_android.mozconfig     |  18 ----
 .../gn-configs/x64_False_x64_linux_False.json      |   2 -
 .../gn-configs/x64_False_x64_linux_False.mozconfig |   5 -
 .../gn-configs/x64_False_x64_linux_True.json       |   2 -
 .../gn-configs/x64_False_x64_linux_True.mozconfig  |   4 -
 .../gn-configs/x64_False_x64_mac.json              |   1 -
 .../gn-configs/x64_False_x64_mac.mozconfig         |   2 -
 .../gn-configs/x64_False_x64_openbsd.mozconfig     |  11 ---
 .../gn-configs/x64_False_x64_win.json              |   1 -
 .../gn-configs/x64_False_x64_win.mozconfig         |   2 -
 .../gn-configs/x64_False_x86_android.mozconfig     |  18 ----
 .../gn-configs/x64_False_x86_linux_False.json      |   2 -
 .../gn-configs/x64_False_x86_linux_False.mozconfig |   6 --
 .../gn-configs/x64_False_x86_linux_True.json       |   2 -
 .../gn-configs/x64_False_x86_linux_True.mozconfig  |   5 -
 .../gn-configs/x64_False_x86_win.json              |   1 -
 .../gn-configs/x64_False_x86_win.mozconfig         |   3 -
 .../gn-configs/x64_True_arm64_android.mozconfig    |  19 ----
 .../gn-configs/x64_True_arm64_linux_False.json     |   2 -
 .../x64_True_arm64_linux_False.mozconfig           |   7 --
 .../gn-configs/x64_True_arm64_linux_True.json      |   2 -
 .../gn-configs/x64_True_arm64_linux_True.mozconfig |   6 --
 .../gn-configs/x64_True_arm64_mac.json             |   1 -
 .../gn-configs/x64_True_arm64_mac.mozconfig        |   5 -
 .../gn-configs/x64_True_arm64_win.json             |   1 -
 .../gn-configs/x64_True_arm64_win.mozconfig        |   4 -
 .../gn-configs/x64_True_arm_android.mozconfig      |  19 ----
 .../gn-configs/x64_True_x64_android.mozconfig      |  19 ----
 .../gn-configs/x64_True_x64_linux_False.json       |   2 -
 .../gn-configs/x64_True_x64_linux_False.mozconfig  |   6 --
 .../gn-configs/x64_True_x64_linux_True.json        |   2 -
 .../gn-configs/x64_True_x64_linux_True.mozconfig   |   5 -
 .../gn-configs/x64_True_x64_mac.json               |   1 -
 .../gn-configs/x64_True_x64_mac.mozconfig          |   4 -
 .../gn-configs/x64_True_x64_openbsd.mozconfig      |  12 ---
 .../gn-configs/x64_True_x64_win.json               |   1 -
 .../gn-configs/x64_True_x64_win.mozconfig          |   3 -
 .../gn-configs/x64_True_x86_android.mozconfig      |  19 ----
 .../gn-configs/x64_True_x86_linux_False.json       |   2 -
 .../gn-configs/x64_True_x86_linux_False.mozconfig  |   7 --
 .../gn-configs/x64_True_x86_linux_True.json        |   2 -
 .../gn-configs/x64_True_x86_linux_True.mozconfig   |   6 --
 .../gn-configs/x64_True_x86_win.json               |   1 -
 .../gn-configs/x64_True_x86_win.mozconfig          |   4 -
 python/mozbuild/mozbuild/gn_processor.py           | 101 +++++++++++++++++----
 third_party/libwebrtc/build/config/BUILDCONFIG.gn  |   2 +-
 third_party/libwebrtc/build/config/mac/mac_sdk.gni |  10 +-
 .../build/config/win/visual_studio_version.gni     |   2 +-
 third_party/libwebrtc/build/toolchain/mac/BUILD.gn |   2 +-
 third_party/libwebrtc/build/win/BUILD.gn           |   4 +-
 third_party/libwebrtc/build_overrides/build.gni    |   4 +
 .../desktop_capture_generic_gn/moz.build           |  26 +-----
 66 files changed, 119 insertions(+), 580 deletions(-)

diff --git a/dom/media/webrtc/third_party_build/gn-configs/README-openbsd.md b/dom/media/webrtc/third_party_build/gn-configs/README-openbsd.md
deleted file mode 100644
index 508f79fdbfc62..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/README-openbsd.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# Setup a Virtual Machine running OpenBSD to generate OpenBSD build files for libwebrtc.
-
-1. Download the OpenBSD 7.0 ISO [here](https://cdn.openbsd.org/pub/OpenBSD/7.0/amd64/install70.iso)
-
-2. Start by setting up a new VM. These steps reference VMWare fusion options,
-   but they should translate to other VM hosts.  During the VM creation steps,
-   using the following settings:
-   - VMWare - Other Linux 5.x kernel 64-bit
-   - VMWare - Legacy BIOS
-   - VMWare - Customize settings
-   - VMWare - Processors & Memory - 2 cores, 2048MB Memory
-   - VMWare - Hard Disk - 50.00 GB
-
-3. Start VM to begin the OpenBSD install process.
-
-   In general, choose the default options for everything unless listed below:
-   - select ```(I)nstall```
-   - allow root ssh - ```yes```
-   - disk - for more info see [here](https://azcrumpty.weebly.com/journal/easy-openbsd-partition-scheme)
-       - ```c``` # for custom
-       - ```z``` # for delete all
-       - ```a a``` # for add 'a' partition
-       - enter forward slash ('/') for the mount point
-       - ```q``` # to quit editor
-   - directory does not contain SHA256.sig. Continue without verification? ```yes```
-
-4. Upgrade to OpenBSD -current
-
-   Upgrading to -current is required for the minimum rust version.  For more
-   info, see [this](https://unix.stackexchange.com/questions/406870/how-to-follow-openbsd-current).
-
-   - login as root
-
-           ftp -o /bsd.rd https://cloudflare.cdn.openbsd.org/pub/OpenBSD/snapshots/amd64/bsd.rd
-           reboot
-
-   - at the bootloader prompt _quickly_ type
-
-           boot bsd.rd
-
-   - select ```U(Upgrade)``` at first prompt question, default to all other questions
-   - after upgrade completes allow reboot
-
-5. Upgrade and install necessary packages, add non-root user
-
-   - login as root
-
-         pkg_add -u
-         pkg_add sudo-- git-- bash-- mercurial-- m4-- py3-pip--
-         ln -sf /usr/local/bin/pip3.9 /usr/local/bin/pip3
-         ln -sf /usr/local/bin/python3 /usr/local/bin/python
-         visudo # uncomment line with '%wheel        ALL=(ALL) NOPASSWD: SETENV: ALL'
-
-         export NEW_USER={pick-a-user-name}
-         useradd -b /home -m -G wheel $NEW_USER
-         usermod -s /usr/local/bin/bash $NEW_USER
-         passwd $NEW_USER
-
-   - logout
-
-6. Clone mozilla-central repository and bootstrap
-
-   - login as {NEW_USER}
-
-           hg clone https://hg.mozilla.org/mozilla-central
-           (cd mozilla-central && ./mach bootstrap)
-
-   - for bootstrap:
-       - ignoring errors around glean-sdk
-       - select option ```1``` for all pkg_add prompts
-
-
-7. Continue with step 4 in README.md
diff --git a/dom/media/webrtc/third_party_build/gn-configs/README.md b/dom/media/webrtc/third_party_build/gn-configs/README.md
index 101e02a336178..1d3d86e637d98 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/README.md
+++ b/dom/media/webrtc/third_party_build/gn-configs/README.md
@@ -1,33 +1,11 @@
 # Generate new gn json files and moz.build files for building libwebrtc in our tree
 
-1. If generating on macOS for Apple Silicon (cross-compiling), make sure to have
-   at least [Xcode 12.2](https://download.developer.apple.com/Developer_Tools/Xcode_12.2/Xcode_12.2.xip).
+/!\ This is only supported on Linux and macOS. If you are on Windows, you can run
+the script under [WSL](https://docs.microsoft.com/en-us/windows/wsl/install).
 
-   The aarch64 Rust target will need to be installed via:
-   `rustup target add aarch64-apple-darwin`
-
-2. If generating on Windows 10, Visual Studio 2019 is required.  Please follow
-   the install instructions from [here](https://firefox-source-docs.mozilla.org/setup/windows_build.html)
-
-   In addition, the following options must be selected in the VS2019 installer:
-   - C++ ATL for latest v142 build tools (ARM64)
-   - Windows 10 SDK (10.0.19041.0)
-   - MSVC v142 - VS2019 C++ ARM64 build tools
-
-   "Debugging Tools for Windows" is also required.
-   - Under `Settings -> Apps` search for "Windows Software Development Kit" with
-     the version number 10.0.19041.685.
-   - select Modify (and allow the installer to modify)
-   - select Change and then click Next
-   - select "Debugging Tools for Windows" and then click Change.
-
-   The aarch64 Rust target will need to be installed via:
-   `rustup target add aarch64-pc-windows-msvc`
-
-3. Download a version of the `gn` executable that corresponds to
+1. Download a version of the `gn` executable that corresponds to
     `Thu Nov 19 14:14:00 2020`.  In our case, that is version `1889 (8fe02009)`.
    
-   - [Win](https://chrome-infra-packages.appspot.com/p/gn/gn/windows-amd64/+/e_UmTHedzuu4zJ2gdpW8jrFFNnzIhThljx3jn3RMlVsC)
    - [Linux](https://chrome-infra-packages.appspot.com/p/gn/gn/linux-amd64/+/bvBFKgehaepiKy_YhFnbiOpF38CK26N2OyE1R1jXof0C)
    - [macOS](https://chrome-infra-packages.appspot.com/p/gn/gn/mac-amd64/+/nXvMRpyJhLhisAcnRmU5s9UZqovzMAhKAvWjax-swioC)
 
@@ -35,24 +13,9 @@
    executable:
 
         unzip gn-mac-amd64.zip && export GN=`pwd`/gn
-        unzip gn-windows-amd64.zip && export GN=`pwd`/gn.exe
         unzip gn-linux-amd64.zip && export GN=`pwd`/gn
 
-   On platforms that don't have pre-built `gn` executables, `ninja` and `gn` can
-   be easily built:
-
-        git clone https://github.com/ninja-build/ninja.git
-        git clone https://gn.googlesource.com/gn
-        (cd gn && git checkout 8fe02009)
-        (cd ninja && ./configure.py --bootstrap)
-        (export NINJA=`pwd`/ninja/ninja ; cd gn && python build/gen.py && $NINJA -C out)
-        export GN=`pwd`/gn/out/gn
-
-   On OpenBSD, a slightly newer version of `gn` is needed in order to build:
-
-        (cd gn && git checkout 31f2bba8)
-
-4. It is time to generate the build files.  The script should be run from the
+2. It is time to generate the build files.  The script should be run from the
    top directory of our firefox tree.
 
         bash ./dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh
@@ -61,25 +24,8 @@
    setting the DEBUG_GEN environment variable to a non-empty value. This will 
    print everything that the script executes.
 
-5. Checkin all the generated/modified files and try your build!
+3. Checkin all the generated/modified files and try your build!
 
 # Adding new configurations to the build
 
-- Each new platform/architecture will require 2 new mozconfig files, one for the
-  debug build and one for the non-debug build.  The filenames follow the same
-  pattern as the generated json files, `a-b-c-d.mozconfig` where:
-  - a = generating cpu (example: x64)
-  - b = debug (True / False)
-  - c = target cpu (example: x64 / arm64)
-  - d = target platform (mac/linux)
-- Each mozconfig file defines, in addition to debug/non-debug, the output
-  directory (MOZ_OBJDIR) and any architecture definition.
-- The new configs must be added to the appropriate platform section in
-  `generate-gn-build-files.sh`.
-
-**Note:** when adding new mozconfig files, especially for linux/android configs,
-it is important to include the `ac_add_options --enable-bootstrap`.  This
-ensures switching archtectures for "cross-compiled" generation works properly.
-For example, when generating `x86` or `arm64` linux json files, it would be
-necessary to install additional libraries in order for the configure step to
-complete.
+Edit the `GnConfigGenBackend` class in `python/mozbuild/mozbuild/gn_processor.py` file.
diff --git a/dom/media/webrtc/third_party_build/gn-configs/fixup_json.py b/dom/media/webrtc/third_party_build/gn-configs/fixup_json.py
index 06c609dd8c0a8..67ce72f325bb9 100755
--- a/dom/media/webrtc/third_party_build/gn-configs/fixup_json.py
+++ b/dom/media/webrtc/third_party_build/gn-configs/fixup_json.py
@@ -23,7 +23,7 @@ def main():
 
     # Remove references to CR_XCODE_VERSION and the output directory of the gn process.
     # This change does not cause a change in the generated moz.build files.
-    file = re.sub(r' *"CR_XCODE_VERSION=[0-9]+",\n', r"", file)
+    file = re.sub(r' *"CR_XCODE_VERSION=([0-9.]+)",\n', r"", file)
     file = re.sub(r' *"CR_SYSROOT_HASH=[0-9a-f]+",\n', r"", file)
     file = re.sub(r',\n *"(.\:)?/.*/third_party/libwebrtc/gn-output/gen/"', r"", file)
 
@@ -34,9 +34,8 @@ def main():
     # machines, we only need remove the reference to osx sdk.  Removing it doesn't change
     # the generated moz.build files and makes diffs much easier to see.
     file = re.sub(
-        r' *"-isysroot",\n *"[\./]*/Applications/Xcode\.app/Contents'
-        "/Developer/Platforms/MacOSX\.platform/Developer/SDKs/"
-        'MacOSX([0-9][0-9]\.[0-9])?\.sdk",\n',
+        r' *"-isysroot",\n *".*/Contents/Developer/Platforms/MacOSX\.platform/Developer/SDKs/'
+        'MacOSX([0-9]+\.[0-9]+)?\.sdk",\n',
         r"",
         file,
     )
diff --git a/dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh b/dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh
index e941ddea47a6e..b718a73a125b4 100755
--- a/dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh
+++ b/dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh
@@ -40,86 +40,23 @@ else
   exit 1
 fi
 
-IS_WIN=0
-IS_DARWIN=0
-IS_LINUX=0
-
-# Erase content of third_party/libwebrtc/moz.build to help with generating
-# files that may conflict with current moz.build files.  Each config calls
-# ./mach configure.  If there are conflicts in any moz.build files under
-# third_party/libwebrtc, it would keep our configure step from completing
-# successfully.  Since this file will be regenerated at the end of this
-# process, we can make it an empty file to avoid conflicts during the
-# configure step.
-echo "" > third_party/libwebrtc/moz.build
-
-# For now, only macOS, Windows, and Linux (including Android builds) are supported here.
-if [ "x$SYS_NAME" = "xDarwin" ]; then
-  CONFIGS="x64_False_arm64_mac x64_True_arm64_mac x64_False_x64_mac x64_True_x64_mac"
-  IS_DARWIN=1
-elif [ "x$SYS_NAME" = "xMINGW32_NT-6.2" ]; then
-  unset ANSICON
-  CONFIGS="x64_True_arm64_win x64_False_arm64_win"
-  CONFIGS="$CONFIGS x64_True_x64_win x64_False_x64_win"
-  CONFIGS="$CONFIGS x64_True_x86_win x64_False_x86_win"
-  IS_WIN=1
-elif [ "x$SYS_NAME" = "xOpenBSD" ]; then
-  CONFIGS="x64_False_x64_openbsd x64_True_x64_openbsd"
-else
-  # Ensure rust has the correct targets for building x86 and arm64.  These
-  # operations succeed quickly if previously completed.
-  rustup target add aarch64-unknown-linux-gnu
-  rustup target add i686-unknown-linux-gnu
-
-  CONFIGS="x64_False_x64_linux_False x64_True_x64_linux_False"
-  CONFIGS="$CONFIGS x64_False_x64_linux_True x64_True_x64_linux_True"
-  CONFIGS="$CONFIGS x64_False_x86_linux_False x64_True_x86_linux_False"
-  CONFIGS="$CONFIGS x64_False_x86_linux_True x64_True_x86_linux_True"
-  CONFIGS="$CONFIGS x64_False_arm64_linux_False x64_True_arm64_linux_False"
-  CONFIGS="$CONFIGS x64_False_arm64_linux_True x64_True_arm64_linux_True"
-  CONFIGS="$CONFIGS x64_False_arm_android x64_True_arm_android"
-  CONFIGS="$CONFIGS x64_False_x64_android x64_True_x64_android"
-  CONFIGS="$CONFIGS x64_False_x86_android x64_True_x86_android"
-  CONFIGS="$CONFIGS x64_False_arm64_android x64_True_arm64_android"
-  IS_LINUX=1
-fi
-
 CONFIG_DIR=dom/media/webrtc/third_party_build/gn-configs
 echo "CONFIG_DIR is $CONFIG_DIR"
 
-# Each mozconfig is for a particular "platform" and defines debug/non-debug and a
-# MOZ_OBJDIR based on the name of the mozconfig to make it easier to know where to
-# find the generated gn json file.
-# The output of this step is a series of gn produced json files with a name format
-# that follows the form a-b-c-d.json where:
-#   a = generating cpu (example: x64)
-#   b = debug (True / False)
-#   c = target cpu (example: x64 / arm64)
-#   d = target platform (mac/linux)
-for THIS_BUILD in $CONFIGS
-do
-  echo "Building gn json file for $THIS_BUILD"
-  export MOZCONFIG=$CONFIG_DIR/$THIS_BUILD.mozconfig
-  echo "Using MOZCONFIG=$MOZCONFIG"
-
-  ./mach configure | tee $THIS_BUILD.configure.log
-  if [ ! -d obj-$THIS_BUILD ]; then
-    echo "Expected build output directory obj-$THIS_BUILD is missing, ensure this is set in $MOZCONFIG"
-    exit 1
-  fi
-  ./mach build-backend -b GnConfigGen --verbose | tee $THIS_BUILD.build-backend.log
-  cp obj-$THIS_BUILD/third_party/libwebrtc/gn-output/$THIS_BUILD.json $CONFIG_DIR
-done
+export MOZ_OBJDIR=$(mktemp -d -p . obj-XXXXXXXXXX)
+./mach configure
+if [ ! -d $MOZ_OBJDIR ]; then
+  echo "Expected build output directory $MOZ_OBJDIR is missing"
+  exit 1
+fi
+./mach build-backend -b GnConfigGen --verbose | tee $MOZ_OBJDIR/build-backend.log
+cp $MOZ_OBJDIR/third_party/libwebrtc/gn-output/*.json $CONFIG_DIR
 
 # run some fixup (mostly removing dev-machine dependent info) on json files
-for THIS_CONFIG in $CONFIGS
+for THIS_CONFIG in $CONFIG_DIR/*.json
 do
-  echo "fixup file: $CONFIG_DIR/$THIS_CONFIG.json"
-  ./$CONFIG_DIR/fixup_json.py $CONFIG_DIR/$THIS_CONFIG.json
-  if [ "$IS_WIN" == 1 ]; then
-    # Use Linux/UNIX line endings
-    dos2unix $CONFIG_DIR/$THIS_CONFIG.json
-  fi
+  echo "fixup file: $THIS_CONFIG"
+  ./$CONFIG_DIR/fixup_json.py $THIS_CONFIG
 done
 
 #  The symlinks are no longer needed after generating the .json files.
@@ -139,15 +76,7 @@ fi
 echo "Building moz.build files from gn json files"
 ./mach build-backend -b GnMozbuildWriter --verbose
 
-# Make sure all the moz.build files have unix line endings if generated
-# on Windows.
-if [ "$IS_WIN" == 1 ]; then
-  MODIFIED_BUILD_FILES=`hg status --modified --added --no-status --include '**/moz.build'`
-  for BUILD_FILE in $MODIFIED_BUILD_FILES
-  do
-    dos2unix $BUILD_FILE
-  done
-fi
+rm -rf $MOZ_OBJDIR
 
 echo
 echo "Done generating gn build files. You should now be able to build with ./mach build"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_android.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_android.mozconfig
deleted file mode 100644
index 9c0c3a8880b0d..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_android.mozconfig
+++ /dev/null
@@ -1,18 +0,0 @@
-# Use the same Java binary that was specified in bootstrap. This way, if the default system
-# Java is different than what Firefox needs, users should just need to override it (with
-# $JAVA_HOME) when running bootstrap, rather than when interacting with the build.
-ac_add_options --with-java-bin-path=/usr/lib/jvm/java-8-openjdk-amd64/bin
-# Build GeckoView/Firefox for Android:
-ac_add_options --enable-application=mobile/android
-# Targeting the following architecture.
-# For regular phones, no --target is needed.
-# For x86 emulators (and x86 devices, which are uncommon):
-# ac_add_options --target=i686
-# For newer phones.
-ac_add_options --target=aarch64
-# For x86_64 emulators (and x86_64 devices, which are even less common):
-# ac_add_options --target=x86_64
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_arm64_android
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_False.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_False.json
index 2197e6c90a67d..2569000f7dc08 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_False.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_False.json
@@ -27720,8 +27720,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_False.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_False.mozconfig
deleted file mode 100644
index 23b164e13f162..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_False.mozconfig
+++ /dev/null
@@ -1,6 +0,0 @@
-ac_add_options --target=aarch64
-ac_add_options --enable-bootstrap
-ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_arm64_linux_False
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_True.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_True.json
index de171d85545b3..098b37fe1689d 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_True.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_True.json
@@ -27974,8 +27974,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_True.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_True.mozconfig
deleted file mode 100644
index 3343ffb07f12c..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_linux_True.mozconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-ac_add_options --target=aarch64
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_arm64_linux_True
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_mac.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_mac.json
index 01dff2c3ce2ef..495706efe265f 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_mac.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_mac.json
@@ -25331,7 +25331,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_mac.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_mac.mozconfig
deleted file mode 100644
index 3b84df914718b..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_mac.mozconfig
+++ /dev/null
@@ -1,4 +0,0 @@
-ac_add_options --target=aarch64
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_arm64_mac
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_win.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_win.json
index 20e0c4169481f..369a0f4e64ca9 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_win.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_win.json
@@ -41745,7 +41745,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_win.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_win.mozconfig
deleted file mode 100644
index f525a003dd5a5..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm64_win.mozconfig
+++ /dev/null
@@ -1,3 +0,0 @@
-ac_add_options --target=aarch64
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-x64_False_arm64_win
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm_android.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm_android.mozconfig
deleted file mode 100644
index ac7679257fc96..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_arm_android.mozconfig
+++ /dev/null
@@ -1,18 +0,0 @@
-# Use the same Java binary that was specified in bootstrap. This way, if the default system
-# Java is different than what Firefox needs, users should just need to override it (with
-# $JAVA_HOME) when running bootstrap, rather than when interacting with the build.
-ac_add_options --with-java-bin-path=/usr/lib/jvm/java-8-openjdk-amd64/bin
-# Build GeckoView/Firefox for Android:
-ac_add_options --enable-application=mobile/android
-# Targeting the following architecture.
-# For regular phones, no --target is needed.
-# For x86 emulators (and x86 devices, which are uncommon):
-# ac_add_options --target=i686
-# For newer phones.
-# ac_add_options --target=aarch64
-# For x86_64 emulators (and x86_64 devices, which are even less common):
-# ac_add_options --target=x86_64
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_arm_android
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_android.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_android.mozconfig
deleted file mode 100644
index 0f2e9ae1fa4d2..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_android.mozconfig
+++ /dev/null
@@ -1,18 +0,0 @@
-# Use the same Java binary that was specified in bootstrap. This way, if the default system
-# Java is different than what Firefox needs, users should just need to override it (with
-# $JAVA_HOME) when running bootstrap, rather than when interacting with the build.
-ac_add_options --with-java-bin-path=/usr/lib/jvm/java-8-openjdk-amd64/bin
-# Build GeckoView/Firefox for Android:
-ac_add_options --enable-application=mobile/android
-# Targeting the following architecture.
-# For regular phones, no --target is needed.
-# For x86 emulators (and x86 devices, which are uncommon):
-# ac_add_options --target=i686
-# For newer phones.
-# ac_add_options --target=aarch64
-# For x86_64 emulators (and x86_64 devices, which are even less common):
-ac_add_options --target=x86_64
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_x64_android
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_False.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_False.json
index dbfa5e412b5c0..bcde7eb11d2ad 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_False.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_False.json
@@ -27717,8 +27717,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_False.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_False.mozconfig
deleted file mode 100644
index ac2361f0958e6..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_False.mozconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-ac_add_options --enable-bootstrap
-ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_x64_linux_False
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_True.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_True.json
index 953350d4cd721..fdd77124f20d3 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_True.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_True.json
@@ -27973,8 +27973,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_True.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_True.mozconfig
deleted file mode 100644
index 987900caec517..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_linux_True.mozconfig
+++ /dev/null
@@ -1,4 +0,0 @@
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_x64_linux_True
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_mac.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_mac.json
index 7c4faaa24e4a7..5df8930e71d7b 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_mac.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_mac.json
@@ -24834,7 +24834,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_mac.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_mac.mozconfig
deleted file mode 100644
index 5f5abac73d4b3..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_mac.mozconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-mk_add_options MOZ_OBJDIR=obj-x64_False_x64_mac
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_openbsd.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_openbsd.mozconfig
deleted file mode 100644
index c9e7e721511b9..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_openbsd.mozconfig
+++ /dev/null
@@ -1,11 +0,0 @@
-mk_add_options PYTHON=/usr/local/bin/python3.9
-export M4=/usr/local/bin/gm4
-export CC=/usr/local/bin/clang
-export CXX=/usr/local/bin/clang++
-ac_add_options --with-libclang-path=/usr/local/lib
-
-ac_add_options --without-wasm-sandboxed-libraries
-
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_x64_openbsd
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_win.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_win.json
index ec559994d8c16..1d1979342eeb4 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_win.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_win.json
@@ -41621,7 +41621,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_win.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_win.mozconfig
deleted file mode 100644
index 108e49e7bfd47..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x64_win.mozconfig
+++ /dev/null
@@ -1,2 +0,0 @@
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-x64_False_x64_win
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_android.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_android.mozconfig
deleted file mode 100644
index c6bf7523504eb..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_android.mozconfig
+++ /dev/null
@@ -1,18 +0,0 @@
-# Use the same Java binary that was specified in bootstrap. This way, if the default system
-# Java is different than what Firefox needs, users should just need to override it (with
-# $JAVA_HOME) when running bootstrap, rather than when interacting with the build.
-ac_add_options --with-java-bin-path=/usr/lib/jvm/java-8-openjdk-amd64/bin
-# Build GeckoView/Firefox for Android:
-ac_add_options --enable-application=mobile/android
-# Targeting the following architecture.
-# For regular phones, no --target is needed.
-# For x86 emulators (and x86 devices, which are uncommon):
-ac_add_options --target=i686
-# For newer phones.
-# ac_add_options --target=aarch64
-# For x86_64 emulators (and x86_64 devices, which are even less common):
-# ac_add_options --target=x86_64
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_x86_android
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_False.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_False.json
index 56e508f9d1936..ef2e131e65724 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_False.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_False.json
@@ -28191,8 +28191,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_False.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_False.mozconfig
deleted file mode 100644
index 1885281154e2d..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_False.mozconfig
+++ /dev/null
@@ -1,6 +0,0 @@
-ac_add_options --target=i686
-ac_add_options --enable-bootstrap
-ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_x86_linux_False
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_True.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_True.json
index b619f85972a01..6b7ee9bdc41f1 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_True.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_True.json
@@ -28447,8 +28447,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_True.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_True.mozconfig
deleted file mode 100644
index 1cb0933587150..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_linux_True.mozconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-ac_add_options --target=i686
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_False_x86_linux_True
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_win.json b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_win.json
index f63fef80a835d..98ce869b735fa 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_win.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_win.json
@@ -41621,7 +41621,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_win.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_win.mozconfig
deleted file mode 100644
index d104811818ce9..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_False_x86_win.mozconfig
+++ /dev/null
@@ -1,3 +0,0 @@
-ac_add_options --target=i686
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-x64_False_x86_win
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_android.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_android.mozconfig
deleted file mode 100644
index a89c3362bea32..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_android.mozconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-# Use the same Java binary that was specified in bootstrap. This way, if the default system
-# Java is different than what Firefox needs, users should just need to override it (with
-# $JAVA_HOME) when running bootstrap, rather than when interacting with the build.
-ac_add_options --with-java-bin-path=/usr/lib/jvm/java-8-openjdk-amd64/bin
-# Build GeckoView/Firefox for Android:
-ac_add_options --enable-application=mobile/android
-# Targeting the following architecture.
-# For regular phones, no --target is needed.
-# For x86 emulators (and x86 devices, which are uncommon):
-# ac_add_options --target=i686
-# For newer phones.
-ac_add_options --target=aarch64
-# For x86_64 emulators (and x86_64 devices, which are even less common):
-# ac_add_options --target=x86_64
-ac_add_options --enable-debug
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_arm64_android
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_False.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_False.json
index 3ecfd1c2c514d..c253b88c4fd62 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_False.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_False.json
@@ -27485,8 +27485,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_False.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_False.mozconfig
deleted file mode 100644
index 533ff003f24b9..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_False.mozconfig
+++ /dev/null
@@ -1,7 +0,0 @@
-ac_add_options --enable-debug
-ac_add_options --target=aarch64
-ac_add_options --enable-bootstrap
-ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_arm64_linux_False
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_True.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_True.json
index ce7ad4950e235..2cfb72145cea1 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_True.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_True.json
@@ -27739,8 +27739,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_True.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_True.mozconfig
deleted file mode 100644
index c489492e1d530..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_linux_True.mozconfig
+++ /dev/null
@@ -1,6 +0,0 @@
-ac_add_options --enable-debug
-ac_add_options --target=aarch64
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_arm64_linux_True
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_mac.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_mac.json
index 234791cc9f2c2..b8c00ee97ca5d 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_mac.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_mac.json
@@ -24861,7 +24861,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_mac.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_mac.mozconfig
deleted file mode 100644
index b5ee98c0df981..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_mac.mozconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-ac_add_options --enable-debug
-ac_add_options --target=aarch64
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_arm64_mac
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_win.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_win.json
index b1ce074d88e32..9142883542c57 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_win.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_win.json
@@ -41040,7 +41040,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_win.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_win.mozconfig
deleted file mode 100644
index 450017091db9d..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_win.mozconfig
+++ /dev/null
@@ -1,4 +0,0 @@
-ac_add_options --enable-debug
-ac_add_options --target=aarch64
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-x64_True_arm64_win
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm_android.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm_android.mozconfig
deleted file mode 100644
index 38e8b96c85499..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm_android.mozconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-# Use the same Java binary that was specified in bootstrap. This way, if the default system
-# Java is different than what Firefox needs, users should just need to override it (with
-# $JAVA_HOME) when running bootstrap, rather than when interacting with the build.
-ac_add_options --with-java-bin-path=/usr/lib/jvm/java-8-openjdk-amd64/bin
-# Build GeckoView/Firefox for Android:
-ac_add_options --enable-application=mobile/android
-# Targeting the following architecture.
-# For regular phones, no --target is needed.
-# For x86 emulators (and x86 devices, which are uncommon):
-# ac_add_options --target=i686
-# For newer phones.
-# ac_add_options --target=aarch64
-# For x86_64 emulators (and x86_64 devices, which are even less common):
-# ac_add_options --target=x86_64
-ac_add_options --enable-debug
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_arm_android
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_android.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_android.mozconfig
deleted file mode 100644
index b7449b1a286ba..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_android.mozconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-# Use the same Java binary that was specified in bootstrap. This way, if the default system
-# Java is different than what Firefox needs, users should just need to override it (with
-# $JAVA_HOME) when running bootstrap, rather than when interacting with the build.
-ac_add_options --with-java-bin-path=/usr/lib/jvm/java-8-openjdk-amd64/bin
-# Build GeckoView/Firefox for Android:
-ac_add_options --enable-application=mobile/android
-# Targeting the following architecture.
-# For regular phones, no --target is needed.
-# For x86 emulators (and x86 devices, which are uncommon):
-# ac_add_options --target=i686
-# For newer phones.
-# ac_add_options --target=aarch64
-# For x86_64 emulators (and x86_64 devices, which are even less common):
-ac_add_options --target=x86_64
-ac_add_options --enable-debug
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_x64_android
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_False.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_False.json
index f228aaeb7778c..23164e5ba86df 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_False.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_False.json
@@ -27480,8 +27480,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_False.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_False.mozconfig
deleted file mode 100644
index 1064c870f854b..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_False.mozconfig
+++ /dev/null
@@ -1,6 +0,0 @@
-ac_add_options --enable-debug
-ac_add_options --enable-bootstrap
-ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_x64_linux_False
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_True.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_True.json
index e108797d58e5b..e4fdbbe39081c 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_True.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_True.json
@@ -27736,8 +27736,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_True.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_True.mozconfig
deleted file mode 100644
index 7030314a95887..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_linux_True.mozconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-ac_add_options --enable-debug
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_x64_linux_True
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_mac.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_mac.json
index 73a5acc482f38..bf82b89d3a2ed 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_mac.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_mac.json
@@ -24360,7 +24360,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_mac.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_mac.mozconfig
deleted file mode 100644
index c6089dd32da84..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_mac.mozconfig
+++ /dev/null
@@ -1,4 +0,0 @@
-ac_add_options --enable-debug
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_x64_mac
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_openbsd.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_openbsd.mozconfig
deleted file mode 100644
index 9f4f095aa37d2..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_openbsd.mozconfig
+++ /dev/null
@@ -1,12 +0,0 @@
-mk_add_options PYTHON=/usr/local/bin/python3.9
-export M4=/usr/local/bin/gm4
-export CC=/usr/local/bin/clang
-export CXX=/usr/local/bin/clang++
-ac_add_options --with-libclang-path=/usr/local/lib
-
-ac_add_options --without-wasm-sandboxed-libraries
-
-ac_add_options --enable-debug
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_x64_openbsd
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_win.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_win.json
index ad08de732cf78..db255c8169c1d 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_win.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_win.json
@@ -40673,7 +40673,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_win.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_win.mozconfig
deleted file mode 100644
index 1ffcf69a8b7e5..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x64_win.mozconfig
+++ /dev/null
@@ -1,3 +0,0 @@
-ac_add_options --enable-debug
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-x64_True_x64_win
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_android.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_android.mozconfig
deleted file mode 100644
index 4baae4b4d90b7..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_android.mozconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-# Use the same Java binary that was specified in bootstrap. This way, if the default system
-# Java is different than what Firefox needs, users should just need to override it (with
-# $JAVA_HOME) when running bootstrap, rather than when interacting with the build.
-ac_add_options --with-java-bin-path=/usr/lib/jvm/java-8-openjdk-amd64/bin
-# Build GeckoView/Firefox for Android:
-ac_add_options --enable-application=mobile/android
-# Targeting the following architecture.
-# For regular phones, no --target is needed.
-# For x86 emulators (and x86 devices, which are uncommon):
-ac_add_options --target=i686
-# For newer phones.
-# ac_add_options --target=aarch64
-# For x86_64 emulators (and x86_64 devices, which are even less common):
-# ac_add_options --target=x86_64
-ac_add_options --enable-debug
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_x86_android
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_False.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_False.json
index b9d17411dcdc8..f923ebe454f7e 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_False.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_False.json
@@ -27717,8 +27717,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_False.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_False.mozconfig
deleted file mode 100644
index 7238a98260e59..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_False.mozconfig
+++ /dev/null
@@ -1,7 +0,0 @@
-ac_add_options --enable-debug
-ac_add_options --target=i686
-ac_add_options --enable-bootstrap
-ac_add_options --enable-default-toolkit=cairo-gtk3-wayland-only
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_x86_linux_False
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_True.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_True.json
index 624a64b0b1658..9b4b1398cb6bc 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_True.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_True.json
@@ -27973,8 +27973,6 @@
                 "/media/libyuv/libyuv/include/",
                 "/third_party/libwebrtc/third_party/pipewire/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
-                "/third_party/pipewire/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_True.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_True.mozconfig
deleted file mode 100644
index 43f98803e40b7..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_linux_True.mozconfig
+++ /dev/null
@@ -1,6 +0,0 @@
-ac_add_options --enable-debug
-ac_add_options --target=i686
-ac_add_options --enable-bootstrap
-
-mk_add_options MOZ_OBJDIR=obj-x64_True_x86_linux_True
-
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_win.json b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_win.json
index a46cd3701f503..1398ffb0cb389 100644
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_win.json
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_win.json
@@ -40673,7 +40673,6 @@
             "include_dirs": [
                 "/media/libyuv/libyuv/include/",
                 "/media/libyuv/",
-                "/media/libyuv/libyuv/include/",
                 "/third_party/pipewire/",
                 "//",
                 "//third_party/abseil-cpp/"
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_win.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_win.mozconfig
deleted file mode 100644
index 07aba6453201d..0000000000000
--- a/dom/media/webrtc/third_party_build/gn-configs/x64_True_x86_win.mozconfig
+++ /dev/null
@@ -1,4 +0,0 @@
-ac_add_options --target=i686
-ac_add_options --enable-debug
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-x64_True_x86_win
-
diff --git a/python/mozbuild/mozbuild/gn_processor.py b/python/mozbuild/mozbuild/gn_processor.py
index 6e3f2146b97ac..c59edde0734ce 100644
--- a/python/mozbuild/mozbuild/gn_processor.py
+++ b/python/mozbuild/mozbuild/gn_processor.py
@@ -157,15 +157,27 @@ def filter_gn_config(gn_result, config, sandbox_vars, input_vars, gn_target):
     # mozbuild configuration.
     gn_out = {"targets": {}, "sandbox_vars": sandbox_vars, "gn_gen_args": input_vars}
 
-    gn_mozbuild_vars = (
-        "MOZ_DEBUG",
-        "OS_TARGET",
-        "HOST_CPU_ARCH",
-        "CPU_ARCH",
-        "MOZ_X11",
-    )
+    cpus = {
+        "arm64": "aarch64",
+        "x64": "x86_64",
+    }
+    oses = {
+        "android": "Android",
+        "linux": "Linux",
+        "mac": "Darwin",
+        "openbsd": "OpenBSD",
+        "win": "WINNT",
+    }
+
+    mozbuild_args = {
+        "MOZ_DEBUG": "1" if input_vars.get("is_debug") else None,
+        "OS_TARGET": oses[input_vars["target_os"]],
+        "HOST_CPU_ARCH": cpus.get(input_vars["host_cpu"], input_vars["host_cpu"]),
+        "CPU_ARCH": cpus.get(input_vars["target_cpu"], input_vars["target_cpu"]),
+    }
+    if input_vars["target_os"] in ("linux", "android", "openbsd"):
+        mozbuild_args["MOZ_X11"] = "1" if input_vars.get("use_x11") else None
 
-    mozbuild_args = {k: config.substs.get(k) for k in gn_mozbuild_vars}
     gn_out["mozbuild_args"] = mozbuild_args
     all_deps = find_deps(gn_result["targets"], gn_target)
 
@@ -580,8 +592,32 @@ def generate_gn_config(
             return str(v).lower()
         return '"%s"' % v
 
+    gn_input_variables = input_variables.copy()
+    gn_input_variables.update(
+        {
+            "concurrent_links": 1,
+            "action_pool_depth": 1,
+        }
+    )
+
+    if input_variables["target_os"] == "win":
+        gn_input_variables.update(
+            {
+                "visual_studio_path": "/",
+                "visual_studio_version": 2015,
+                "wdk_path": "/",
+            }
+        )
+    if input_variables["target_os"] == "mac":
+        gn_input_variables.update(
+            {
+                "mac_sdk_path": "/",
+                "enable_wmax_tokens": False,
+            }
+        )
+
     gn_args = "--args=%s" % " ".join(
-        ["%s=%s" % (k, str_for_arg(v)) for k, v in six.iteritems(input_variables)]
+        ["%s=%s" % (k, str_for_arg(v)) for k, v in six.iteritems(gn_input_variables)]
     )
     # Don't make use_x11 part of the string for openbsd to avoid creating
     # new json files.
@@ -622,16 +658,43 @@ class GnConfigGenBackend(BuildBackend):
                     "The GN program must be present to generate GN configs."
                 )
 
-            generate_gn_config(
-                obj.config,
-                mozpath.join(obj.srcdir, obj.target_dir),
-                mozpath.join(obj.objdir, obj.target_dir),
-                obj.non_unified_sources,
-                gn_binary,
-                obj.gn_input_variables,
-                obj.gn_sandbox_variables,
-                obj.gn_target,
-            )
+            vars_set = []
+            for is_debug in (True, False):
+                for target_os in ("android", "linux", "mac", "openbsd", "win"):
+                    target_cpus = ["x64"]
+                    if target_os in ("android", "linux", "mac", "win"):
+                        target_cpus.append("arm64")
+                    if target_os == "android":
+                        target_cpus.append("arm")
+                    if target_os in ("android", "linux", "win"):
+                        target_cpus.append("x86")
+                    for target_cpu in target_cpus:
+                        vars = {
+                            "host_cpu": "x64",
+                            "is_debug": is_debug,
+                            "target_cpu": target_cpu,
+                            "target_os": target_os,
+                        }
+                        if target_os == "linux":
+                            for use_x11 in (True, False):
+                                vars["use_x11"] = use_x11
+                                vars_set.append(vars.copy())
+                        else:
+                            if target_os == "openbsd":
+                                vars["use_x11"] = True
+                            vars_set.append(vars)
+
+            for vars in vars_set:
+                generate_gn_config(
+                    obj.config,
+                    mozpath.join(obj.srcdir, obj.target_dir),
+                    mozpath.join(obj.objdir, obj.target_dir),
+                    obj.non_unified_sources,
+                    gn_binary,
+                    vars,
+                    obj.gn_sandbox_variables,
+                    obj.gn_target,
+                )
         return True
 
     def consume_finished(self):
diff --git a/third_party/libwebrtc/build/config/BUILDCONFIG.gn b/third_party/libwebrtc/build/config/BUILDCONFIG.gn
index fe6f5b7d2a646..2d29ab3a98940 100644
--- a/third_party/libwebrtc/build/config/BUILDCONFIG.gn
+++ b/third_party/libwebrtc/build/config/BUILDCONFIG.gn
@@ -236,7 +236,7 @@ if (target_os == "android") {
 } else if (target_os == "ios") {
   _default_toolchain = "//build/toolchain/mac:ios_clang_$target_cpu"
 } else if (target_os == "mac") {
-  assert(host_os == "mac", "Mac cross-compiles are unsupported.")
+  #assert(host_os == "mac", "Mac cross-compiles are unsupported.")
   _default_toolchain = "//build/toolchain/mac:clang_$target_cpu"
 } else if (target_os == "win") {
   # On Windows, we use the same toolchain for host and target by default.
diff --git a/third_party/libwebrtc/build/config/mac/mac_sdk.gni b/third_party/libwebrtc/build/config/mac/mac_sdk.gni
index eda9dfd77d8f2..f5cebfdc08829 100644
--- a/third_party/libwebrtc/build/config/mac/mac_sdk.gni
+++ b/third_party/libwebrtc/build/config/mac/mac_sdk.gni
@@ -86,11 +86,11 @@ if (use_system_xcode && ios_use_goma_rbe) {
 }
 sdk_info_args += [ mac_sdk_name ]
 
-_mac_sdk_result = exec_script(script_name, sdk_info_args, "scope")
-xcode_version = _mac_sdk_result.xcode_version
-xcode_build = _mac_sdk_result.xcode_build
-machine_os_build = _mac_sdk_result.machine_os_build
-machine_os_build_major = _mac_sdk_result.machine_os_build_major
+#_mac_sdk_result = exec_script(script_name, sdk_info_args, "scope")
+#xcode_version = _mac_sdk_result.xcode_version
+#xcode_build = _mac_sdk_result.xcode_build
+#machine_os_build = _mac_sdk_result.machine_os_build
+#machine_os_build_major = _mac_sdk_result.machine_os_build_major
 if (mac_sdk_path == "" && use_system_xcode && ios_use_goma_rbe) {
   mac_sdk_path = _mac_sdk_result.sdk_path
 }
diff --git a/third_party/libwebrtc/build/config/win/visual_studio_version.gni b/third_party/libwebrtc/build/config/win/visual_studio_version.gni
index 982fbe8d3f0d0..80eb0355c4c87 100644
--- a/third_party/libwebrtc/build/config/win/visual_studio_version.gni
+++ b/third_party/libwebrtc/build/config/win/visual_studio_version.gni
@@ -35,5 +35,5 @@ if (visual_studio_path == "") {
          "You must set the visual_studio_version if you set the path")
   assert(wdk_path != "",
          "You must set the wdk_path if you set the visual studio path")
-  visual_studio_runtime_dirs = []
+  visual_studio_runtime_dirs = ""
 }
diff --git a/third_party/libwebrtc/build/toolchain/mac/BUILD.gn b/third_party/libwebrtc/build/toolchain/mac/BUILD.gn
index 9115ae6de95f8..856fd2ce44b4b 100644
--- a/third_party/libwebrtc/build/toolchain/mac/BUILD.gn
+++ b/third_party/libwebrtc/build/toolchain/mac/BUILD.gn
@@ -15,7 +15,7 @@ if (is_ios) {
 import("//build/config/mac/mac_sdk.gni")
 import("//build/config/mac/symbols.gni")
 
-assert(host_os == "mac")
+#assert(host_os == "mac")
 
 import("//build/toolchain/cc_wrapper.gni")
 import("//build/toolchain/concurrent_links.gni")
diff --git a/third_party/libwebrtc/build/win/BUILD.gn b/third_party/libwebrtc/build/win/BUILD.gn
index 55b5c746bb61c..d41e55dcbb5a1 100644
--- a/third_party/libwebrtc/build/win/BUILD.gn
+++ b/third_party/libwebrtc/build/win/BUILD.gn
@@ -19,8 +19,8 @@ windows_manifest("default_exe_manifest") {
 
 build_with_mozilla = false
 if (is_win && !build_with_mozilla) {
-  assert(host_os != "mac" || target_cpu != "x86",
-         "Windows cross-builds from Mac must be 64-bit.")
+#  assert(host_os != "mac" || target_cpu != "x86",
+#         "Windows cross-builds from Mac must be 64-bit.")
 
   action("copy_cdb_to_output") {
     script = "//build/win/copy_cdb_to_output.py"
diff --git a/third_party/libwebrtc/build_overrides/build.gni b/third_party/libwebrtc/build_overrides/build.gni
index 23942efa663c6..c6f7dafd23805 100644
--- a/third_party/libwebrtc/build_overrides/build.gni
+++ b/third_party/libwebrtc/build_overrides/build.gni
@@ -47,6 +47,10 @@ if (host_os == "mac") {
   use_system_xcode = _result == 0
 }
 
+use_system_xcode = false
+xcode_version = "10.15"
+mac_xcode_version = "default"
+
 declare_args() {
   # WebRTC doesn't depend on //base from production code but only for testing
   # purposes. In any case, it doesn't depend on //third_party/perfetto which
diff --git a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
index a337a370e3c88..008ad3b049027 100644
--- a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
+++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
@@ -25,8 +25,10 @@ LOCAL_INCLUDES += [
     "!/ipc/ipdl/_ipdlheaders",
     "/ipc/chromium/src",
     "/media/libyuv/",
+    "/media/libyuv/libyuv/include/",
     "/third_party/libwebrtc/",
     "/third_party/libwebrtc/third_party/abseil-cpp/",
+    "/third_party/pipewire/",
     "/tools/profiler/public"
 ]
 
@@ -73,12 +75,6 @@ if CONFIG["OS_TARGET"] == "Darwin":
     DEFINES["__STDC_CONSTANT_MACROS"] = True
     DEFINES["__STDC_FORMAT_MACROS"] = True
 
-    LOCAL_INCLUDES += [
-        "/media/libyuv/libyuv/include/",
-        "/media/libyuv/libyuv/include/",
-        "/third_party/pipewire/"
-    ]
-
     UNIFIED_SOURCES += [
         "/third_party/libwebrtc/modules/desktop_capture/mac/desktop_configuration_monitor.cc",
         "/third_party/libwebrtc/modules/desktop_capture/mac/full_screen_mac_application_handler.cc",
@@ -102,13 +98,6 @@ if CONFIG["OS_TARGET"] == "Linux":
     DEFINES["__STDC_CONSTANT_MACROS"] = True
     DEFINES["__STDC_FORMAT_MACROS"] = True
 
-    LOCAL_INCLUDES += [
-        "/media/libyuv/libyuv/include/",
-        "/media/libyuv/libyuv/include/",
-        "/third_party/pipewire/",
-        "/third_party/pipewire/"
-    ]
-
     OS_LIBS += [
         "dl",
         "rt"
@@ -140,11 +129,6 @@ if CONFIG["OS_TARGET"] == "OpenBSD":
     DEFINES["__STDC_CONSTANT_MACROS"] = True
     DEFINES["__STDC_FORMAT_MACROS"] = True
 
-    LOCAL_INCLUDES += [
-        "/media/libyuv/libyuv/include/",
-        "/third_party/pipewire/"
-    ]
-
     OS_LIBS += [
         "X11",
         "Xcomposite",
@@ -204,12 +188,6 @@ if CONFIG["OS_TARGET"] == "WINNT":
     DEFINES["_WINDOWS"] = True
     DEFINES["__STD_C"] = True
 
-    LOCAL_INCLUDES += [
-        "/media/libyuv/libyuv/include/",
-        "/media/libyuv/libyuv/include/",
-        "/third_party/pipewire/"
-    ]
-
     OS_LIBS += [
         "crypt32",
         "d3d11",

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the tbb-commits mailing list