
This is a reland of 55daf1aef65218a97eff88999e5190a2f2f6b72e. In order to avoid problems on case insensitive file systems this CL moves rtc_export.h to rtc_base/system (avoiding problems with build/). Diff: https://webrtc-review.googlesource.com/c/src/+/100804/1..2. Original change's description: > Add RTC_EXPORT macro to export WebRTC symbols. > > This CL introduces the utility macro RTC_EXPORT which will let WebRTC > developers decide which symbols are supposed to be exported/imported > and which ones are private. > > RTC_EXPORT will only export/import symbols in a component build, more > info: https://cs.chromium.org/chromium/src/docs/component_build.md. > During a component build, the macro COMPONENT_BUILD will be globally > defined in a consistent fashion so it is safe to rely on it to > understand how to expand RTC_EXPORT. > In a non component build, RTC_EXPORT will expand to nothing. > > Bug: webrtc:9419 > Change-Id: Ic58162783be7f5883136ade27f324d6d34fdf932 > Reviewed-on: https://webrtc-review.googlesource.com/97960 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > Reviewed-by: Niels Moller <nisse@webrtc.org> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org> > Reviewed-by: Yves Gerey <yvesg@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#24757} Bug: webrtc:9419 Change-Id: Icfedea5fc3416ea1af2185de443fa879fb2dee8b Reviewed-on: https://webrtc-review.googlesource.com/100804 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24766}
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifndef RTC_BASE_SYSTEM_RTC_EXPORT_H_
|
|
#define RTC_BASE_SYSTEM_RTC_EXPORT_H_
|
|
|
|
// RTC_EXPORT is used to mark symbols as exported or imported when WebRTC is
|
|
// built or used as a shared library.
|
|
// When WebRTC is built as a static library the RTC_EXPORT macro expands to
|
|
// nothing.
|
|
|
|
#ifdef COMPONENT_BUILD
|
|
|
|
#ifdef WEBRTC_WIN
|
|
|
|
#ifdef WEBRTC_LIBRARY_IMPL
|
|
#define RTC_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define RTC_EXPORT __declspec(dllimport)
|
|
#endif
|
|
|
|
#else // WEBRTC_WIN
|
|
|
|
#if __has_attribute(visibility) && defined(WEBRTC_LIBRARY_IMPL)
|
|
#define RTC_EXPORT __attribute__((visibility("default")))
|
|
#endif
|
|
|
|
#endif // WEBRTC_WIN
|
|
|
|
#endif // COMPONENT_BUILD
|
|
|
|
#ifndef RTC_EXPORT
|
|
#define RTC_EXPORT
|
|
#endif
|
|
|
|
#endif // RTC_BASE_SYSTEM_RTC_EXPORT_H_
|