Commit Graph

25 Commits

Author SHA1 Message Date
28c0e1731a add loongarch64 support for webrtc 2024-12-11 09:45:48 +08:00
ded0f9f7d9 Remove -Wno-everything from WebRTC build file.
Bug: 308179380
Test: local build, presubmit
Change-Id: Ia0d3179d5f36ecde981780eee161c97f939f2081
2023-10-28 14:51:06 +00:00
3ebcf712c8 Convert absl_source_sets to cc_library_static instead of filegroup
Converting GN's absl_source_sets to filegroups causes them to be
recompiled in every module that depends on them, 424 times for
absl/strings.  Convert them to cc_library_static instead so they
only have to be compiled once per variant.  This reduces the size
of the intermediates directory for external/webrtc from 26GB to 3.6GB.

Also remove the dependencies from cc_library_static modules, they
don't do anything and just increase the complexity in Soong's module
graph.  All the transitive dependencies are already collected into the
final libwebrtc and webrtc_audio_processing modules.

Bug: 293194014
Test: m libwebrtc
Change-Id: Iebbafa52fa72364a70f4f35656af17a63c88b860
2023-07-26 09:10:09 -07:00
bd6f64487a Fix automatically extracted defaults
Fix generate_bp.py to automatically generate the defaults modules
based on flags that are set in all targets.  Use lists instead of
sets for the flags to maintain the order they were specified in
the project*.json files as much as possible.

Test: android_tools/generate_android_bp.sh
Test: mma
Change-Id: I29e13367e8e49660edeaa6462ddbab76aa177c88
2023-02-24 16:28:21 -08:00
a626e135fb Fix dependency on python hash seed
Sort the list of targets before writing them to the output, which fixes
the only place where output ordering depended on the python hash seed.
Also remove the fixed python hash seed from the script.

Test: android_tools/generate_android_bp.sh && git diff
Test: mma
Change-Id: Icfadfaaebf438d00bfef13c231fc09afda454916
2023-02-24 16:28:21 -08:00
401bd53770 Regenerate build files with better json file for riscv64
And update instructions

Bug: 269761242
Test: run cuttlefish on x64
Change-Id: I09d66d1981db46cce06dbceaa18d8c17fac5b7c2
2023-02-24 12:08:05 -08:00
0679981372 Don't include flags not present in .gn[i] files
The json files used to generate the Android.bp files have more flags
than those specified in the BUILD.gn and *.gni configuration files. This
change ignores the ones added by the build toolchain and keeps only
those added by the webrtc authors.

Bug: 269761242
Test: run cuttlefish in x64, build for arm64 and riscv64
Change-Id: I55f2bdea229cf11c21b5780b2639abb6dd7c3268
2023-02-24 11:28:09 -08:00
4338e01dec Generate build for riscv64
Bug: 269761242
Test: build aosp_cf_riscv64_minidroid-userdebug
Change-Id: Ic9901bd1d8ec76b6de05a06e19b67d4da5219df2
2023-02-23 16:56:05 -08:00
b33211a55a Make it easier to add new build architectures
by making the build file generator script (mostly) architecture independent.

Bug: 269761242
Test: build x64 and arm64 locally
Change-Id: I76ea4bc0ba5e8e5c152b93cb1ad7a385c796adae
2023-02-23 16:55:25 -08:00
d5686e69d7 Remove -gdwarf-aranges
-gdwarf-aranges breaks a later linking step on riscv64 with:
ld.lld: error: out/soong/.intermediates/external/webrtc/webrtc_audio_processing/android_vendor.UpsideDownCake_riscv64_static/webrtc_audio_processing.a(audio_processing_impl.o):(.rodata.str1.1): offset is outside the section

Bug: 269343483
Test: lunch aosp_riscv64-userdebug && m libaudiopreprocessing
Change-Id: Iaf96679c3e82229adf958668f9afbdf0d4768c6b
2023-02-14 14:40:51 -08:00
41c96e4079 Drop -gsplit-dwarf
This option is likely not really applicable for Android target builds
which are stripped / have a separate symbols output so just filter it
out. The option breaks on RISC-V due to implicit -mrelax and lack of
toolchain support:

clang++: error: -gsplit-dwarf is unsupported with RISC-V linker relaxation (-mrelax)

Bug: 266468464
Change-Id: Ibdb7bc7e08576c1096148a7a6381554888dfa6b0
2023-01-23 14:33:20 -08:00
b5b78192e1 Generate build files
For x86, x86_64, arm and arm64

Bug: 261600888
Test: build and run cuttlefish x86, x86_64 and arm64
Change-Id: I3ac4dad1ac9ec83b0e626e64715df450e8809b82
2022-12-27 23:04:27 -08:00
9122f5480a Suppress implicit-int-float-conversion warning
Test: m
Change-Id: I60313146edb6ef0daaea6fb8d544308236ab67d3
2022-08-17 06:59:11 +00:00
eb2d5ea25e Update build flags for Cuttlefish support
Web camera crashes without change.

Change-Id: I8cfdc0f4f7d91e1040550ae5e6a84c03ae060311
Test: compiles, treehugger
Bug: 234571051
2022-06-01 21:08:26 +00:00
ebc7d1eda6 Remove alsa and pulseaudio sources
ALSA and pulseaudio are not used by either of the clients of webrtc,
remove them from the sources to avoid having to have the ALSA and
pulseaudio headers.

Bug: 190084016
Test: m USE_HOST_MUSL=true webRTC libaudiopreprocessing
Change-Id: I1e74c64a71fa54db69e7d2e9d118dfd374501cb7
2022-04-12 12:11:06 -07:00
9213fac907 [LSC] Add LOCAL_LICENSE_KINDS to external/webrtc
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
    SPDX-license-identifier-MIT SPDX-license-identifier-Zlib
    legacy_notice legacy_unencumbered
to:
  Android.bp

Added SPDX-license-identifier-Apache-2.0 legacy_unencumbered
to:
  third_party/abseil-cpp/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I4420f377d2e10d2755cf2cb247978221db103308
2021-02-12 18:40:08 -08:00
ab4c5b5b68 Enable Neon modules
Bug: 173734937
Test: Builds

Change-Id: Id8521e67c934cf55bb6ba6e3064fff278448b86d
2020-11-19 14:18:27 -08:00
77691acbd0 Update Android.bp
aec_dump.cc was included in multiple modules, this is now fixed
Also added few more modules that are used by webrtc_audio_processing
These are necessary if some module includes "webrtc_audio_processing"
in whole_static_libs.

Bug: 173247568
Test: Builds

Change-Id: I1ba293800ad4acce07351311fa9f8b15bd1f1d0c
2020-11-13 14:58:09 -08:00
cd66555f9c Build webrtc_audio_processing module
webrtc_audio_processing module is built with its dependencies
included as whole_static_libs, so that a single library can be
included where it is used

Bug: 169202556
Test: Builds

Change-Id: Ic6dd1b4e3a9a351c0b22663197bed77d08ff518c
2020-10-28 16:09:18 -07:00
8bd5ca0077 Enable device builds for webrtc modules
Also added visibility to restrict it to audio preprocessing
and cuttlefish modules

Bug: 169202556
Test: Builds

Change-Id: Idba6a42b8f8c1a30a0320913d17e269cd6ccca7b
2020-10-28 16:09:09 -07:00
bb55342cbc Import abseil-cpp to third_party
Renamed abseil modules to make them webrtc specific.
Restricted visibility of abseil modules to webrtc packages.

Bug: 171836454
Test: Builds

Change-Id: Icf24c7e3093a77dd9a26e7ec78bd531eb1ad3dec
2020-10-28 20:50:30 +00:00
f7d55dccfb Use x86-specific source files only for x86 target
Previously, we used x86-specific source files (those for sse2)
regardless of the target because x86 was the only supported host target.
This becomes a problem as we add the support for the new ARM64 host
target - linux_bionic_arm64. Now, those source files are built only when
the target architecture is x86.

Bug: 159685774
Test: HOST_CROSS_OS=linux_bionic HOST_CROSS_ARCH=arm64 m \
out/soong/host/linux_bionic-arm64/bin/webRTC

Change-Id: Id13d66ccd5ae6f8596ce32d4ccb2735856d2159a
2020-09-21 11:59:06 +09:00
50b1ad41ea Disable darwin build of webrtc
libopus and libvpx are disabled on darwin.

Bug: 162102724
Test: TH
Change-Id: Id8787e81058053da18b43a85b3d6ececbaa3af91
2020-07-28 05:50:35 +00:00
8e1bf7eee4 Merge remote-tracking branch 'upstream-master'
Bug: 153469641
Test: run cuttlefish locally
Change-Id: Ida3bfe62ef5c6549278f4c155a1f690b008e9b9d
Merged-In: Ida3bfe62ef5c6549278f4c155a1f690b008e9b9d
2020-07-23 13:37:44 -07:00
b6df60492c Generate new Android.bp file and correct build errors
The following are not yet available in their respective libraries so
attempts to use it in webrtc result in a call to abort():
* libvpx's CONSTRAINED_FROM_ABOVE_DROP constant
* libyuv's I010 buffers

The original webrtc project expects to have third party libraries
checked out in third_party/ and base/third_party/. Added some headers
in those directories with a single line including the right header from
external/<library>. Updated .gitignore to keep track of said headers.

Bug: 153469641
Test: mm, also built cuttlefish using this library and ran it locally
Change-Id: I2d596942e34093dccc65d4b7b8249b6afc14d31f
Merged-In: I2d596942e34093dccc65d4b7b8249b6afc14d31f
2020-07-23 13:34:20 -07:00