Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / Source / modules / ModulesExport.h
blob92d93f2f48ef1734944eda50120f075e48bf09d2
1 // Copyright 2015 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 ModulesExport_h
6 #define ModulesExport_h
8 #if !defined(LINK_CORE_MODULES_SEPARATELY)
9 #define LINK_CORE_MODULES_SEPARATELY 0
10 #endif
12 #if LINK_CORE_MODULES_SEPARATELY && defined(COMPONENT_BUILD)
13 #if defined(WIN32)
15 #if defined(BLINK_MODULES_IMPLEMENTATION) && BLINK_MODULES_IMPLEMENTATION
16 #define MODULES_EXPORT __declspec(dllexport)
17 #else
18 #define MODULES_EXPORT __declspec(dllimport)
19 #endif // defined(BLINK_MODULES_IMPLEMENTATION) && BLINK_MODULES_IMPLEMENTATION
21 #else // defined(WIN32)
22 #if defined(BLINK_MODULES_IMPLEMENTATION) && BLINK_MODULES_IMPLEMENTATION
23 #define MODULES_EXPORT __attribute__((visibility("default")))
24 #else
25 #define MODULES_EXPORT
26 #endif
27 #endif
29 #else // defined(COMPONENT_BUILD)
30 #define MODULES_EXPORT
31 #endif
33 #endif // ModulesExport_h