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
12 #if LINK_CORE_MODULES_SEPARATELY && defined(COMPONENT_BUILD)
15 #if defined(BLINK_MODULES_IMPLEMENTATION) && BLINK_MODULES_IMPLEMENTATION
16 #define MODULES_EXPORT __declspec(dllexport)
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")))
25 #define MODULES_EXPORT
29 #else // defined(COMPONENT_BUILD)
30 #define MODULES_EXPORT
33 #endif // ModulesExport_h