commit b0f01559cae81a27001ed3eb603ef126dfc99f7e Author: Christoph Moench-Tegeder enable pipewire on bsd diff --git third_party/chromium/build/config/BUILDCONFIG.gn third_party/chromium/build/config/BUILDCONFIG.gn index 4bb38fe31ff2..b10eb19f521a 100644 --- third_party/chromium/build/config/BUILDCONFIG.gn +++ third_party/chromium/build/config/BUILDCONFIG.gn @@ -137,6 +137,7 @@ declare_args() { # Set to true when compiling with the Clang compiler. is_clang = current_os != "linux" || current_os == "openbsd" || + current_os == "freebsd" || (current_cpu != "s390x" && current_cpu != "s390" && current_cpu != "ppc64" && current_cpu != "ppc" && current_cpu != "mips" && current_cpu != "mips64" && @@ -206,7 +207,7 @@ if (host_toolchain == "") { # TODO(dpranke): Add some sort of assert here that verifies that # no toolchain omitted host_toolchain from its toolchain_args(). - if (host_os == "linux" || host_os == "openbsd") { + if (host_os == "linux" || host_os == "openbsd" || host_os == "freebsd") { if (target_os != "linux") { host_toolchain = "//chromium/build/toolchain/linux:clang_$host_cpu" } else if (is_clang) { @@ -246,7 +247,7 @@ if (target_os == "android") { # Targeting android on Mac is best-effort and not guaranteed to work. #assert(host_os == "linux", "Android builds are only supported on Linux.") _default_toolchain = "//chromium/build/toolchain/android:android_clang_$target_cpu" -} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd") { +} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd" || target_os == "freebsd") { # See comments in build/toolchain/cros/BUILD.gn about board compiles. if (is_clang) { _default_toolchain = "//chromium/build/toolchain/linux:clang_$target_cpu" @@ -314,7 +315,7 @@ is_chromeos = current_os == "chromeos" is_fuchsia = current_os == "fuchsia" is_ios = current_os == "ios" is_linux = current_os == "linux" -is_bsd = current_os == "openbsd" +is_bsd = current_os == "openbsd" || current_os == "freebsd" is_mac = current_os == "mac" is_nacl = current_os == "nacl" is_wasm = current_os == "emscripten" diff --git third_party/libwebrtc/BUILD.gn third_party/libwebrtc/BUILD.gn index 8140c795b6b1..1cb88d134b11 100644 --- third_party/libwebrtc/BUILD.gn +++ third_party/libwebrtc/BUILD.gn @@ -124,7 +124,7 @@ if (!build_with_chromium && !build_with_mozilla) { "tools_webrtc/perf:webrtc_dashboard_upload", ] } - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { deps += [ "modules/desktop_capture:shared_screencast_stream_test" ] } } diff --git third_party/libwebrtc/modules/desktop_capture/BUILD.gn third_party/libwebrtc/modules/desktop_capture/BUILD.gn index 9708a47cbca3..9c8c93856cf3 100644 --- third_party/libwebrtc/modules/desktop_capture/BUILD.gn +++ third_party/libwebrtc/modules/desktop_capture/BUILD.gn @@ -70,7 +70,7 @@ if (rtc_include_tests) { if (is_win) { deps += [ "../../rtc_base/win:windows_version" ] } - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } public_configs = [ ":x11_config" ] @@ -97,7 +97,7 @@ if (rtc_include_tests) { if (is_win) { deps += [ "../../rtc_base/win:windows_version" ] } - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } public_configs = [ ":x11_config" ] @@ -124,7 +124,7 @@ if (rtc_include_tests) { if (is_win) { deps += [ "../../rtc_base/win:windows_version" ] } - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } public_configs = [ ":x11_config" ] @@ -138,7 +138,7 @@ if (rtc_include_tests) { ] } - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { rtc_test("shared_screencast_stream_test") { testonly = true @@ -237,7 +237,7 @@ if (rtc_include_tests) { "../../system_wrappers", "../../test:test_support", ] - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } } @@ -257,7 +257,7 @@ if (rtc_include_tests) { ":primitives", "../../test:test_support", ] - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } } @@ -269,7 +269,7 @@ if (rtc_include_tests) { ":primitives", "../../test:test_support", ] - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } } @@ -281,7 +281,7 @@ if (rtc_include_tests) { ":primitives", "../../test:test_support", ] - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } } @@ -411,7 +411,7 @@ if (rtc_include_tests) { ":primitives", "../../test:test_support", ] - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } } @@ -425,7 +425,7 @@ if (rtc_include_tests) { "../../rtc_base:logging", "../../test:test_support", ] - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } } @@ -438,7 +438,7 @@ if (rtc_include_tests) { ":primitives", "../../test:test_support", ] - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } } @@ -526,7 +526,7 @@ if (rtc_include_tests) { "screen_drawer.h", ] - if (is_linux || is_chromeos) { + if (is_linux || is_chromeos || is_bsd) { sources += [ "screen_drawer_linux.cc" ] libs = [ "X11" ] } @@ -565,7 +565,7 @@ if (rtc_include_tests) { "mock_desktop_capturer_callback.h", ] - if ((is_linux || is_chromeos) && rtc_use_pipewire) { + if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } @@ -578,7 +578,7 @@ if (rtc_include_tests) { } # TODO(bugs.webrtc.org/14187): remove when all users are gone -if ((is_linux || is_chromeos) && rtc_use_pipewire) { +if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { config("pipewire_config") { configs = [ "../portal:pipewire_config" ] } diff --git third_party/libwebrtc/modules/portal/BUILD.gn third_party/libwebrtc/modules/portal/BUILD.gn index 7f91839dfdda..5c75495af570 100644 --- third_party/libwebrtc/modules/portal/BUILD.gn +++ third_party/libwebrtc/modules/portal/BUILD.gn @@ -10,7 +10,7 @@ import("//chromium/build/config/linux/pkg_config.gni") import("//tools/generate_stubs/rules.gni") import("../../webrtc.gni") -if ((is_linux || is_chromeos) && rtc_use_pipewire) { +if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { if (!build_with_mozilla) { pkg_config("gio") { packages = [ diff --git third_party/libwebrtc/webrtc.gni third_party/libwebrtc/webrtc.gni index 82b7935174af..6c681dd64339 100644 --- third_party/libwebrtc/webrtc.gni +++ third_party/libwebrtc/webrtc.gni @@ -134,7 +134,7 @@ declare_args() { # By default it's only enabled on desktop Linux (excludes ChromeOS) and # only when using the sysroot as PipeWire is not available in older and # supported Ubuntu and Debian distributions. - rtc_use_pipewire = is_linux && use_sysroot + rtc_use_pipewire = (is_linux || is_bsd) && use_sysroot # Set this to link PipeWire and required libraries directly instead of using # the dlopen.