A couple of cleanups for gyp_chromium
[chromium-blink-merge.git] / base / base_export.h
blob723b38a60fdcb746905073527405d674acbb179f
1 // Copyright (c) 2012 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 BASE_BASE_EXPORT_H_
6 #define BASE_BASE_EXPORT_H_
8 #if defined(COMPONENT_BUILD)
9 #if defined(WIN32)
11 #if defined(BASE_IMPLEMENTATION)
12 #define BASE_EXPORT __declspec(dllexport)
13 #define BASE_EXPORT_PRIVATE __declspec(dllexport)
14 #else
15 #define BASE_EXPORT __declspec(dllimport)
16 #define BASE_EXPORT_PRIVATE __declspec(dllimport)
17 #endif // defined(BASE_IMPLEMENTATION)
19 #else // defined(WIN32)
20 #if defined(BASE_IMPLEMENTATION)
21 #define BASE_EXPORT __attribute__((visibility("default")))
22 #define BASE_EXPORT_PRIVATE __attribute__((visibility("default")))
23 #else
24 #define BASE_EXPORT
25 #define BASE_EXPORT_PRIVATE
26 #endif // defined(BASE_IMPLEMENTATION)
27 #endif
29 #else // defined(COMPONENT_BUILD)
30 #define BASE_EXPORT
31 #define BASE_EXPORT_PRIVATE
32 #endif
34 #endif // BASE_BASE_EXPORT_H_