De-duplicate BASE_IMPLEMENTATION define in the GN build.
[chromium-blink-merge.git] / base / prefs / base_prefs_export.h
blob3d207db890cfe12c66885054186e93b19ec4cf36
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_PREFS_BASE_PREFS_EXPORT_H_
6 #define BASE_PREFS_BASE_PREFS_EXPORT_H_
8 #if defined(COMPONENT_BUILD)
9 #if defined(WIN32)
11 #if defined(BASE_PREFS_IMPLEMENTATION)
12 #define BASE_PREFS_EXPORT __declspec(dllexport)
13 #else
14 #define BASE_PREFS_EXPORT __declspec(dllimport)
15 #endif // defined(BASE_PREFS_IMPLEMENTATION)
17 #else // defined(WIN32)
18 #if defined(BASE_PREFS_IMPLEMENTATION)
19 #define BASE_PREFS_EXPORT __attribute__((visibility("default")))
20 #else
21 #define BASE_PREFS_EXPORT
22 #endif
23 #endif
25 #else // defined(COMPONENT_BUILD)
26 #define BASE_PREFS_EXPORT
27 #endif
29 #endif // BASE_PREFS_BASE_PREFS_EXPORT_H_