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.
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_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION
16 #define CORE_EXPORT __declspec(dllexport)
18 #define CORE_EXPORT __declspec(dllimport)
19 #endif // defined(BLINK_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION
21 #else // defined(WIN32)
22 #if defined(BLINK_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION
23 #define CORE_EXPORT __attribute__((visibility("default")))
29 #else // defined(COMPONENT_BUILD)
33 #if defined(BLINK_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION
35 #define CORE_TEMPLATE_CLASS_EXPORT
36 #define CORE_EXTERN_TEMPLATE_EXPORT CORE_EXPORT
37 #define CORE_TEMPLATE_EXPORT CORE_EXPORT
39 #define CORE_TEMPLATE_CLASS_EXPORT CORE_EXPORT
40 #define CORE_EXTERN_TEMPLATE_EXPORT CORE_EXPORT
41 #define CORE_TEMPLATE_EXPORT
43 #error Unknown compiler
45 #else // !BLINK_CORE_IMPLEMENTATION
46 #define CORE_TEMPLATE_CLASS_EXPORT
47 #define CORE_EXTERN_TEMPLATE_EXPORT CORE_EXPORT
48 #define CORE_TEMPLATE_EXPORT
51 #endif // CoreExport_h