Roll src/third_party/WebKit 4526c29:30f3df0 (svn 190187:190189)
[chromium-blink-merge.git] / ui / base / ui_base_export.h
blobdba9b89802943083dafe71dec7985b51dffc5721
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_BASE_UI_BASE_EXPORT_H_
6 #define UI_BASE_UI_BASE_EXPORT_H_
8 // Defines UI_BASE_EXPORT so that functionality implemented by the UI module
9 // can be exported to consumers.
11 #if defined(COMPONENT_BUILD)
13 #if defined(WIN32)
15 #if defined(UI_BASE_IMPLEMENTATION)
16 #define UI_BASE_EXPORT __declspec(dllexport)
17 #else
18 #define UI_BASE_EXPORT __declspec(dllimport)
19 #endif
21 #else // !defined(WIN32)
23 #if defined(UI_BASE_IMPLEMENTATION)
24 #define UI_BASE_EXPORT __attribute__((visibility("default")))
25 #else
26 #define UI_BASE_EXPORT
27 #endif
29 #endif
31 #else // !defined(COMPONENT_BUILD)
33 #define UI_BASE_EXPORT
35 #endif
37 #endif // UI_BASE_UI_BASE_EXPORT_H_