blob: 605af94e298254c367ddd257525e67b1478ebc34 [file] [log] [blame]
[email protected]cf211882012-07-11 07:19:141// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]d613a9902011-08-05 20:59:112// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CRYPTO_CRYPTO_EXPORT_H_
6#define CRYPTO_CRYPTO_EXPORT_H_
[email protected]d613a9902011-08-05 20:59:117
[email protected]7025e932012-10-18 07:02:548// Defines CRYPTO_EXPORT so that functionality implemented by the crypto module
xhwang3e9ca562015-11-06 18:50:369// can be exported to consumers.
[email protected]7025e932012-10-18 07:02:5410
[email protected]d613a9902011-08-05 20:59:1111#if defined(COMPONENT_BUILD)
12#if defined(WIN32)
13
14#if defined(CRYPTO_IMPLEMENTATION)
15#define CRYPTO_EXPORT __declspec(dllexport)
16#else
17#define CRYPTO_EXPORT __declspec(dllimport)
18#endif // defined(CRYPTO_IMPLEMENTATION)
19
20#else // defined(WIN32)
[email protected]b3878642012-05-15 15:04:3221#if defined(CRYPTO_IMPLEMENTATION)
[email protected]d613a9902011-08-05 20:59:1122#define CRYPTO_EXPORT __attribute__((visibility("default")))
[email protected]b3878642012-05-15 15:04:3223#else
24#define CRYPTO_EXPORT
25#endif
[email protected]d613a9902011-08-05 20:59:1126#endif
27
28#else // defined(COMPONENT_BUILD)
29#define CRYPTO_EXPORT
[email protected]d613a9902011-08-05 20:59:1130#endif
31
32#endif // CRYPTO_CRYPTO_EXPORT_H_