blob: 723b38a60fdcb746905073527405d674acbb179f [file] [log] [blame]
rsesek@chromium.orgc2d2b202012-05-17 00:23:30 +09001// Copyright (c) 2012 The Chromium Authors. All rights reserved.
rvargas@google.com7a976cf2011-03-23 07:11:08 +09002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
darin@chromium.orge585bed2011-08-06 00:34:00 +09005#ifndef BASE_BASE_EXPORT_H_
6#define BASE_BASE_EXPORT_H_
rvargas@google.com7a976cf2011-03-23 07:11:08 +09007
darin@chromium.org86d9f942011-07-14 05:41:28 +09008#if defined(COMPONENT_BUILD)
evan@chromium.org75d1cb32011-04-30 05:45:22 +09009#if defined(WIN32)
rvargas@google.comd8b28f52011-07-01 08:51:24 +090010
rvargas@google.comc3b65182011-03-29 08:48:44 +090011#if defined(BASE_IMPLEMENTATION)
darin@chromium.orge585bed2011-08-06 00:34:00 +090012#define BASE_EXPORT __declspec(dllexport)
rsesek@chromium.orgc2d2b202012-05-17 00:23:30 +090013#define BASE_EXPORT_PRIVATE __declspec(dllexport)
rvargas@google.com7a976cf2011-03-23 07:11:08 +090014#else
darin@chromium.orge585bed2011-08-06 00:34:00 +090015#define BASE_EXPORT __declspec(dllimport)
rsesek@chromium.orgc2d2b202012-05-17 00:23:30 +090016#define BASE_EXPORT_PRIVATE __declspec(dllimport)
rvargas@google.comc3b65182011-03-29 08:48:44 +090017#endif // defined(BASE_IMPLEMENTATION)
rvargas@google.comd8b28f52011-07-01 08:51:24 +090018
19#else // defined(WIN32)
thakis@chromium.org163b02f2012-05-16 00:04:32 +090020#if defined(BASE_IMPLEMENTATION)
darin@chromium.orge585bed2011-08-06 00:34:00 +090021#define BASE_EXPORT __attribute__((visibility("default")))
rsesek@chromium.orgc2d2b202012-05-17 00:23:30 +090022#define BASE_EXPORT_PRIVATE __attribute__((visibility("default")))
thakis@chromium.org163b02f2012-05-16 00:04:32 +090023#else
24#define BASE_EXPORT
rsesek@chromium.orgc2d2b202012-05-17 00:23:30 +090025#define BASE_EXPORT_PRIVATE
26#endif // defined(BASE_IMPLEMENTATION)
rvargas@google.comd8b28f52011-07-01 08:51:24 +090027#endif
28
darin@chromium.org86d9f942011-07-14 05:41:28 +090029#else // defined(COMPONENT_BUILD)
darin@chromium.orge585bed2011-08-06 00:34:00 +090030#define BASE_EXPORT
rsesek@chromium.orgc2d2b202012-05-17 00:23:30 +090031#define BASE_EXPORT_PRIVATE
rvargas@google.com7a976cf2011-03-23 07:11:08 +090032#endif
33
darin@chromium.orge585bed2011-08-06 00:34:00 +090034#endif // BASE_BASE_EXPORT_H_