Commit graph

9 commits

Author SHA1 Message Date
Mirko Bonadei
9130431b54 Add possibility to set RTC_OBJC_TYPE_PREFIX from GN.
This CL also adds the prefix RTC_TESTING to `ios_internal_pure_release_bot_arm64` in order to avoid ODR
violations.

Bug: b/292472934
Change-Id: If63020e679c8670b4c797217eb38fc8c2954d422
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313240
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40476}
2023-07-26 12:29:55 +00:00
Mirko Bonadei
5f0784563c Allow export of Obj-C symbols without C++ ones.
This is useful when building the .framework which doesn't need to
export C++ symbols.

Bug: webrtc:12408
Change-Id: Ied775811a72a06b9ad678c9fb549bca286dd7f37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227089
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34613}
2021-07-30 22:54:59 +00:00
Mirko Bonadei
c1254e84a5 Make RTC_OBJC_EXPORT respect is_component_build.
While RTC_EXPORT is aware of component builds (selecting "default"
visibility only when WebRTC is built as a shared library),
RTC_OBJC_EXPORT (which predates RTC_EXPORT) was always marking symbols
as "default" visible.

This CL fixes the problem but on the other hand it will require
standalone builds of the WebRTC.framework to set the GN argument
`rtc_enable_symbol_export` to true.

No-Presubmit: True
Bug: chromium:1159620
Change-Id: I4a16f9bd3c1564140a5a30f03b3e77caed1df591
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/198082
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#32856}
2020-12-17 15:52:46 +00:00
Niels Möller
a805dd8b81 Delete objc RTCRtpFragmentationHeader
Bug: webrtc:6471
Change-Id: I1d5f4fc2484c4f37ff8556ac660a1c0d070875f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191443
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32640}
2020-11-19 14:05:48 +00:00
Niels Möller
11ab77d14f Add transition define RTC_OBJC_HAVE_LEGACY_RTC_RTP_FRAGMENTATION_HEADER
Also tweak presubmit checks to allow changes to RTCMacros.h.

Bug: webrtc:6471
No-Presubmit: True
Change-Id: I19e38e4cb05b831ebd2faa223029f36d45f480ff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193621
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32619}
2020-11-17 13:51:29 +00:00
Mirko Bonadei
a81e9c82fc Wrap WebRTC OBJC API types with RTC_OBJC_TYPE.
This CL introduced 2 new macros that affect the WebRTC OBJC API symbols:

- RTC_OBJC_TYPE_PREFIX:
  Macro used to prepend a prefix to the API types that are exported with
  RTC_OBJC_EXPORT.

  Clients can patch the definition of this macro locally and build
  WebRTC.framework with their own prefix in case symbol clashing is a
  problem.

  This macro must only be defined by changing the value in
  sdk/objc/base/RTCMacros.h  and not on via compiler flag to ensure
  it has a unique value.

- RCT_OBJC_TYPE:
  Macro used internally to reference API types. Declaring an API type
  without using this macro will not include the declared type in the
  set of types that will be affected by the configurable
  RTC_OBJC_TYPE_PREFIX.

Manual changes:
https://webrtc-review.googlesource.com/c/src/+/173781/5..10

The auto-generated changes in PS#5 have been done with:
https://webrtc-review.googlesource.com/c/src/+/174061.

Bug: None
Change-Id: I0d54ca94db764fb3b6cb4365873f79e14cd879b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173781
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31153}
2020-05-04 15:01:26 +00:00
Mirko Bonadei
cc628b8c1b Remove backwards compatible macro RTC_EXPORT from sdk/.
Symbols under sdk/ are now exported using RTC_OBJC_EXPORT, while
RTC_EXPORT is used for C++ symbols.

Bug: webrtc:9419
Change-Id: Icdf7ee0e7b3faf4d7fec33e9b33a3b13260f45b7
Reviewed-on: https://webrtc-review.googlesource.com/102461
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24886}
2018-09-28 10:22:52 +00:00
Mirko Bonadei
e8d5724cc5 Rename RTC_EXPORT to RTC_OBJC_EXPORT.
A new version of RTC_EXPORT will be introduced by [1] and it will be
used by WebRTC native code.

This CL renames the current RTC_EXPORT to RTC_OBJC_EXPORT in order
to avoid to mix them. It has been decided to avoid to unify them because
RTC_OBJC_EXPORT always marks symbols with default visibility, while
RTC_EXPORT will do it only when COMPONENT_BUILD is defined.

[1] - https://webrtc-review.googlesource.com/c/src/+/97960 is

Bug: webrtc:9419
Change-Id: I56a3fc6601c72d3ad6a58f9961a00e3761dfb5da
Reviewed-on: https://webrtc-review.googlesource.com/100521
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24754}
2018-09-17 10:06:57 +00:00
Anders Carlsson
7bca8ca4e2 Obj-C SDK Cleanup
This CL separates the files under sdk/objc into logical directories, replacing
the previous file layout under Framework/.

A long term goal is to have some system set up to generate the files under
sdk/objc/api (the PeerConnection API wrappers) from the C++ code. In the shorter
term the goal is to abstract out shared concepts from these classes in order to
make them as uniform as possible.

The separation into base/, components/, and helpers/ are to differentiate between
the base layer's common protocols, various utilities and the actual platform
specific components.

The old directory layout that resembled a framework's internal layout is not
necessary, since it is generated by the framework target when building it.

Bug: webrtc:9627
Change-Id: Ib084fd83f050ae980649ca99e841f4fb0580bd8f
Reviewed-on: https://webrtc-review.googlesource.com/94142
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24493}
2018-08-30 10:42:41 +00:00