Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / Source / core / CoreExport.h
blob0064d2586a38b4a930ea291b1578c008158c516f
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 CoreExport_h
6 #define CoreExport_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_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION
16 #define CORE_EXPORT __declspec(dllexport)
17 #else
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")))
24 #else
25 #define CORE_EXPORT
26 #endif
27 #endif
29 #else // defined(COMPONENT_BUILD)
30 #define CORE_EXPORT
31 #endif
33 #if defined(BLINK_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION
34 #if COMPILER(MSVC)
35 #define CORE_TEMPLATE_CLASS_EXPORT
36 #define CORE_EXTERN_TEMPLATE_EXPORT CORE_EXPORT
37 #define CORE_TEMPLATE_EXPORT CORE_EXPORT
38 #elif COMPILER(GCC)
39 #define CORE_TEMPLATE_CLASS_EXPORT CORE_EXPORT
40 #define CORE_EXTERN_TEMPLATE_EXPORT CORE_EXPORT
41 #define CORE_TEMPLATE_EXPORT
42 #else
43 #error Unknown compiler
44 #endif
45 #else // !BLINK_CORE_IMPLEMENTATION
46 #define CORE_TEMPLATE_CLASS_EXPORT
47 #define CORE_EXTERN_TEMPLATE_EXPORT CORE_EXPORT
48 #define CORE_TEMPLATE_EXPORT
49 #endif
51 #endif // CoreExport_h