base_export.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef BASE_BASE_EXPORT_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_BASE_EXPORT_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(COMPONENT_BUILD)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(WIN32)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(BASE_IMPLEMENTATION)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT __declspec(dllexport)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT_PRIVATE __declspec(dllexport)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT __declspec(dllimport)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT_PRIVATE __declspec(dllimport)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(BASE_IMPLEMENTATION)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else  // defined(WIN32)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(BASE_IMPLEMENTATION)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT __attribute__((visibility("default")))
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT_PRIVATE __attribute__((visibility("default")))
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT_PRIVATE
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(BASE_IMPLEMENTATION)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else  // defined(COMPONENT_BUILD)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BASE_EXPORT_PRIVATE
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // BASE_BASE_EXPORT_H_
35