| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CRYPTO_CRYPTO_EXPORT_H_ |
| #define CRYPTO_CRYPTO_EXPORT_H_ |
| |
| // Defines CRYPTO_EXPORT so that functionality implemented by the crypto module |
| // can be exported to consumers, and CRYPTO_EXPORT_PRIVATE that allows unit |
| // tests to access features not intended to be used directly by real consumers. |
| |
| #if defined(COMPONENT_BUILD) |
| #if defined(_MSC_VER) |
| |
| #if defined(CRYPTO_IMPLEMENTATION) |
| #define CRYPTO_EXPORT __declspec(dllexport) |
| #define CRYPTO_EXPORT_PRIVATE __declspec(dllexport) |
| #else |
| #define CRYPTO_EXPORT __declspec(dllimport) |
| #define CRYPTO_EXPORT_PRIVATE __declspec(dllimport) |
| #endif // defined(CRYPTO_IMPLEMENTATION) |
| |
| #else // defined(WIN32) |
| #if defined(CRYPTO_IMPLEMENTATION) |
| #define CRYPTO_EXPORT __attribute__((visibility("default"))) |
| #define CRYPTO_EXPORT_PRIVATE __attribute__((visibility("default"))) |
| #else |
| #define CRYPTO_EXPORT |
| #define CRYPTO_EXPORT_PRIVATE |
| #endif |
| #endif |
| |
| #else // defined(COMPONENT_BUILD) |
| #define CRYPTO_EXPORT |
| #define CRYPTO_EXPORT_PRIVATE |
| #endif |
| |
| #endif // CRYPTO_CRYPTO_EXPORT_H_ |