[webkit-changes] [WebKit/WebKit] e20b69: [WebRTC] Add target for sdp_integration_fuzzer

Commit Queue noreply at github.com
Wed Oct 18 03:50:22 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e20b6946c8f880d2885a68703217976d7a294b41
      https://github.com/WebKit/WebKit/commit/e20b6946c8f880d2885a68703217976d7a294b41
  Author: David Kilzer <ddkilzer at apple.com>
  Date:   2023-10-18 (Wed, 18 Oct 2023)

  Changed paths:
    A Source/ThirdParty/gmock/CMakeLists.txt
    A Source/ThirdParty/gmock/Configurations/Base.xcconfig
    A Source/ThirdParty/gmock/Configurations/DebugRelease.xcconfig
    A Source/ThirdParty/gmock/Configurations/gmock.xcconfig
    A Source/ThirdParty/gmock/Configurations/gmock_main.xcconfig
    A Source/ThirdParty/gmock/LICENSE
    A Source/ThirdParty/gmock/README.WebKit
    A Source/ThirdParty/gmock/README.md
    A Source/ThirdParty/gmock/cmake/gmock.pc.in
    A Source/ThirdParty/gmock/cmake/gmock_main.pc.in
    A Source/ThirdParty/gmock/docs/README.md
    A Source/ThirdParty/gmock/gmock.xcodeproj/project.pbxproj
    A Source/ThirdParty/gmock/include/gmock/gmock-actions.h
    A Source/ThirdParty/gmock/include/gmock/gmock-cardinalities.h
    A Source/ThirdParty/gmock/include/gmock/gmock-function-mocker.h
    A Source/ThirdParty/gmock/include/gmock/gmock-matchers.h
    A Source/ThirdParty/gmock/include/gmock/gmock-more-actions.h
    A Source/ThirdParty/gmock/include/gmock/gmock-more-matchers.h
    A Source/ThirdParty/gmock/include/gmock/gmock-nice-strict.h
    A Source/ThirdParty/gmock/include/gmock/gmock-spec-builders.h
    A Source/ThirdParty/gmock/include/gmock/gmock.h
    A Source/ThirdParty/gmock/include/gmock/internal/custom/README.md
    A Source/ThirdParty/gmock/include/gmock/internal/custom/gmock-generated-actions.h
    A Source/ThirdParty/gmock/include/gmock/internal/custom/gmock-matchers.h
    A Source/ThirdParty/gmock/include/gmock/internal/custom/gmock-port.h
    A Source/ThirdParty/gmock/include/gmock/internal/gmock-internal-utils.h
    A Source/ThirdParty/gmock/include/gmock/internal/gmock-port.h
    A Source/ThirdParty/gmock/include/gmock/internal/gmock-pp.h
    A Source/ThirdParty/gmock/scripts/README.md
    A Source/ThirdParty/gmock/scripts/fuse_gmock_files.py
    A Source/ThirdParty/gmock/scripts/generator/LICENSE
    A Source/ThirdParty/gmock/scripts/generator/README
    A Source/ThirdParty/gmock/scripts/generator/README.cppclean
    A Source/ThirdParty/gmock/scripts/generator/cpp/__init__.py
    A Source/ThirdParty/gmock/scripts/generator/cpp/ast.py
    A Source/ThirdParty/gmock/scripts/generator/cpp/gmock_class.py
    A Source/ThirdParty/gmock/scripts/generator/cpp/gmock_class_test.py
    A Source/ThirdParty/gmock/scripts/generator/cpp/keywords.py
    A Source/ThirdParty/gmock/scripts/generator/cpp/tokenize.py
    A Source/ThirdParty/gmock/scripts/generator/cpp/utils.py
    A Source/ThirdParty/gmock/scripts/generator/gmock_gen.py
    A Source/ThirdParty/gmock/src/gmock-all.cc
    A Source/ThirdParty/gmock/src/gmock-cardinalities.cc
    A Source/ThirdParty/gmock/src/gmock-internal-utils.cc
    A Source/ThirdParty/gmock/src/gmock-matchers.cc
    A Source/ThirdParty/gmock/src/gmock-spec-builders.cc
    A Source/ThirdParty/gmock/src/gmock.cc
    A Source/ThirdParty/gmock/src/gmock_main.cc
    A Source/ThirdParty/gmock/test/BUILD.bazel
    A Source/ThirdParty/gmock/test/gmock-actions_test.cc
    A Source/ThirdParty/gmock/test/gmock-cardinalities_test.cc
    A Source/ThirdParty/gmock/test/gmock-function-mocker_test.cc
    A Source/ThirdParty/gmock/test/gmock-internal-utils_test.cc
    A Source/ThirdParty/gmock/test/gmock-matchers_test.cc
    A Source/ThirdParty/gmock/test/gmock-more-actions_test.cc
    A Source/ThirdParty/gmock/test/gmock-nice-strict_test.cc
    A Source/ThirdParty/gmock/test/gmock-port_test.cc
    A Source/ThirdParty/gmock/test/gmock-pp-string_test.cc
    A Source/ThirdParty/gmock/test/gmock-pp_test.cc
    A Source/ThirdParty/gmock/test/gmock-spec-builders_test.cc
    A Source/ThirdParty/gmock/test/gmock_all_test.cc
    A Source/ThirdParty/gmock/test/gmock_ex_test.cc
    A Source/ThirdParty/gmock/test/gmock_leak_test.py
    A Source/ThirdParty/gmock/test/gmock_leak_test_.cc
    A Source/ThirdParty/gmock/test/gmock_link2_test.cc
    A Source/ThirdParty/gmock/test/gmock_link_test.cc
    A Source/ThirdParty/gmock/test/gmock_link_test.h
    A Source/ThirdParty/gmock/test/gmock_output_test.py
    A Source/ThirdParty/gmock/test/gmock_output_test_.cc
    A Source/ThirdParty/gmock/test/gmock_output_test_golden.txt
    A Source/ThirdParty/gmock/test/gmock_stress_test.cc
    A Source/ThirdParty/gmock/test/gmock_test.cc
    A Source/ThirdParty/gmock/test/gmock_test_utils.py
    A Source/ThirdParty/libwebrtc/Configurations/Base-libwebrtc.xcconfig
    M Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig
    M Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig
    A Source/ThirdParty/libwebrtc/Configurations/sdp_integration_fuzzer.xcconfig
    M Source/ThirdParty/libwebrtc/Source/third_party/opus/src/silk/sort.c
    M Source/ThirdParty/libwebrtc/Source/webrtc/test/fuzzers/sdp_integration_fuzzer.cc
    M Source/ThirdParty/libwebrtc/Source/webrtc/test/gmock.h
    M Source/ThirdParty/libwebrtc/Source/webrtc/test/gtest.h
    A Source/ThirdParty/libwebrtc/WebKit/sdp_integration_fuzzer-libwebrtc.diff
    A Source/ThirdParty/libwebrtc/WebKit/sdp_integration_fuzzer-opus.diff
    M Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj
    M Tools/Scripts/webkitpy/style/checker.py
    M Tools/Scripts/webkitpy/style/checkers/cmake.py

  Log Message:
  -----------
  [WebRTC] Add target for sdp_integration_fuzzer
https://bugs.webkit.org/show_bug.cgi?id=263225
<rdar://117044163>

Reviewed by Youenn Fablet.

This commit adds support for building the sdp_integration_fuzzer.  This
requires a number of high-level changes:

- Add the gmock project to WebKit.  This is from the same upsteram
  revision as gtest (1a8ecf1813d022cc7914e04564b92decff6161fc).

- Sharing xcconfig settings by extracting new Base-*.xcconfig files.

- When building with libFuzzer, make it easy to link to any symbol:
  - Export all symbols from libwebrtc.dylib by disabling the export
    file.
  - Force-load all symbols from static libraries in libwebrtc.dylib.
  - Build fixes after force-loading symbols from static libraries.

* Source/ThirdParty/gmock/CMakeLists.txt: Add.
* Source/ThirdParty/gmock/Configurations/Base.xcconfig: Add.
* Source/ThirdParty/gmock/Configurations/DebugRelease.xcconfig: Add.
* Source/ThirdParty/gmock/Configurations/gmock.xcconfig: Add.
* Source/ThirdParty/gmock/Configurations/gmock_main.xcconfig: Add.
* Source/ThirdParty/gmock/LICENSE: Add.
* Source/ThirdParty/gmock/README.WebKit: Add.
* Source/ThirdParty/gmock/README.md: Add.
* Source/ThirdParty/gmock/cmake/gmock.pc.in: Add.
* Source/ThirdParty/gmock/cmake/gmock_main.pc.in: Add.
* Source/ThirdParty/gmock/docs/README.md: Add.
* Source/ThirdParty/gmock/gmock.xcodeproj/project.pbxproj: Add.
* Source/ThirdParty/gmock/include/gmock/gmock-actions.h: Add.
* Source/ThirdParty/gmock/include/gmock/gmock-cardinalities.h: Add.
* Source/ThirdParty/gmock/include/gmock/gmock-function-mocker.h: Add.
* Source/ThirdParty/gmock/include/gmock/gmock-matchers.h: Add.
* Source/ThirdParty/gmock/include/gmock/gmock-more-actions.h: Add.
* Source/ThirdParty/gmock/include/gmock/gmock-more-matchers.h: Add.
* Source/ThirdParty/gmock/include/gmock/gmock-nice-strict.h: Add.
* Source/ThirdParty/gmock/include/gmock/gmock-spec-builders.h: Add.
* Source/ThirdParty/gmock/include/gmock/gmock.h: Add.
* Source/ThirdParty/gmock/include/gmock/internal/custom/README.md: Add.
* Source/ThirdParty/gmock/include/gmock/internal/custom/gmock-generated-actions.h: Add.
* Source/ThirdParty/gmock/include/gmock/internal/custom/gmock-matchers.h: Add.
* Source/ThirdParty/gmock/include/gmock/internal/custom/gmock-port.h: Add.
* Source/ThirdParty/gmock/include/gmock/internal/gmock-internal-utils.h: Add.
* Source/ThirdParty/gmock/include/gmock/internal/gmock-port.h: Add.
* Source/ThirdParty/gmock/include/gmock/internal/gmock-pp.h: Add.
* Source/ThirdParty/gmock/scripts/README.md: Add.
* Source/ThirdParty/gmock/scripts/fuse_gmock_files.py: Add.
* Source/ThirdParty/gmock/scripts/generator/LICENSE: Add.
* Source/ThirdParty/gmock/scripts/generator/README: Add.
* Source/ThirdParty/gmock/scripts/generator/README.cppclean: Add.
* Source/ThirdParty/gmock/scripts/generator/cpp/__init__.py: Add.
* Source/ThirdParty/gmock/scripts/generator/cpp/ast.py: Add.
* Source/ThirdParty/gmock/scripts/generator/cpp/gmock_class.py: Add.
* Source/ThirdParty/gmock/scripts/generator/cpp/gmock_class_test.py: Add.
* Source/ThirdParty/gmock/scripts/generator/cpp/keywords.py: Add.
* Source/ThirdParty/gmock/scripts/generator/cpp/tokenize.py: Add.
* Source/ThirdParty/gmock/scripts/generator/cpp/utils.py: Add.
* Source/ThirdParty/gmock/scripts/generator/gmock_gen.py: Add.
* Source/ThirdParty/gmock/src/gmock-all.cc: Add.
* Source/ThirdParty/gmock/src/gmock-cardinalities.cc: Add.
* Source/ThirdParty/gmock/src/gmock-internal-utils.cc: Add.
* Source/ThirdParty/gmock/src/gmock-matchers.cc: Add.
* Source/ThirdParty/gmock/src/gmock-spec-builders.cc: Add.
* Source/ThirdParty/gmock/src/gmock.cc: Add.
* Source/ThirdParty/gmock/src/gmock_main.cc: Add.
* Source/ThirdParty/gmock/test/BUILD.bazel: Add.
* Source/ThirdParty/gmock/test/gmock-actions_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-cardinalities_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-function-mocker_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-internal-utils_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-matchers_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-more-actions_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-nice-strict_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-port_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-pp-string_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-pp_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock-spec-builders_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock_all_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock_ex_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock_leak_test.py: Add.
* Source/ThirdParty/gmock/test/gmock_leak_test_.cc: Add.
* Source/ThirdParty/gmock/test/gmock_link2_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock_link_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock_link_test.h: Add.
* Source/ThirdParty/gmock/test/gmock_output_test.py: Add.
* Source/ThirdParty/gmock/test/gmock_output_test_.cc: Add.
* Source/ThirdParty/gmock/test/gmock_output_test_golden.txt: Add.
* Source/ThirdParty/gmock/test/gmock_stress_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock_test.cc: Add.
* Source/ThirdParty/gmock/test/gmock_test_utils.py: Add.
- Add gmock project, including new Xcode project with Configurations
  folder.

* Source/ThirdParty/libwebrtc/Configurations/Base-libwebrtc.xcconfig: Add.
- Extract shared settings from libwebrtc.xcconfig.
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
- Disable symbol exports when building with libFuzzer.
- Force-load all symbols from static libraries when building with
  libFuzzer.
* Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig:
(GCC_PREPROCESSOR_DEFINITIONS):
- Add WEBRTC_WEBKIT_BUILD since this is now used in opus sources.
* Source/ThirdParty/libwebrtc/Configurations/sdp_integration_fuzzer.xcconfig: Add.

* Source/ThirdParty/libwebrtc/Source/third_party/opus/src/silk/sort.c:
- Fix build with force-load of libopus.a by compiling
  silk_insertion_sort_decreasing_int16().

* Source/ThirdParty/libwebrtc/Source/webrtc/test/fuzzers/sdp_integration_fuzzer.cc:
- Comment out `!HasFailure()` check.
* Source/ThirdParty/libwebrtc/Source/webrtc/test/gmock.h:
* Source/ThirdParty/libwebrtc/Source/webrtc/test/gtest.h:
- Fix header include paths for gmock and gtest.

* Source/ThirdParty/libwebrtc/WebKit/sdp_integration_fuzzer-libwebrtc.diff: Add.
* Source/ThirdParty/libwebrtc/WebKit/sdp_integration_fuzzer-opus.diff: Add.

* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:
(libwebrtc target):
- Remove static libraries that are now linked via libwebrtc.xcconfig.
- Remove fake_video_renderer.h as a public header.
- Remove vp9_firstpass.{c,h} as they are not needed.
(Generate Export Files):
- Do not generate an export file when building with libFuzzer.
(Check for Weak VTables and Externals):
- Do not check for weak vtables and externals when building with
  libFuzzer.
(Fuzzers (libwebrtc)): Add.
- Add aggregate target for all libwebrtc fuzzers.
(sdp_integration_fuzzer target): Add.
- Add target for new fuzzer.

* Tools/Scripts/webkitpy/style/checker.py:
(_PATH_RULES_SPECIFIER):
- Ignore format of Python source in gmock project.
(_all_categories):
- Add CMakeChecker.categories so they can be ignored for the gmock
  project.
* Tools/Scripts/webkitpy/style/checkers/cmake.py:
(CMakeChecker.categories): Add.

Canonical link: https://commits.webkit.org/269462@main




More information about the webkit-changes mailing list