OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CRYPTO_CRYPTO_EXPORT_H_ | 5 #ifndef CRYPTO_CRYPTO_EXPORT_H_ |
6 #define CRYPTO_CRYPTO_EXPORT_H_ | 6 #define CRYPTO_CRYPTO_EXPORT_H_ |
7 | 7 |
| 8 // Defines CRYPTO_EXPORT so that functionality implemented by the crypto module |
| 9 // can be exported to consumers, and CRYPTO_EXPORT_PRIVATE that allows unit |
| 10 // tests to access features not intended to be used directly by real consumers. |
| 11 |
8 #if defined(COMPONENT_BUILD) | 12 #if defined(COMPONENT_BUILD) |
9 #if defined(WIN32) | 13 #if defined(WIN32) |
10 | 14 |
11 #if defined(CRYPTO_IMPLEMENTATION) | 15 #if defined(CRYPTO_IMPLEMENTATION) |
12 #define CRYPTO_EXPORT __declspec(dllexport) | 16 #define CRYPTO_EXPORT __declspec(dllexport) |
| 17 #define CRYPTO_EXPORT_PRIVATE __declspec(dllexport) |
13 #else | 18 #else |
14 #define CRYPTO_EXPORT __declspec(dllimport) | 19 #define CRYPTO_EXPORT __declspec(dllimport) |
| 20 #define CRYPTO_EXPORT_PRIVATE __declspec(dllimport) |
15 #endif // defined(CRYPTO_IMPLEMENTATION) | 21 #endif // defined(CRYPTO_IMPLEMENTATION) |
16 | 22 |
17 #else // defined(WIN32) | 23 #else // defined(WIN32) |
18 #if defined(CRYPTO_IMPLEMENTATION) | 24 #if defined(CRYPTO_IMPLEMENTATION) |
19 #define CRYPTO_EXPORT __attribute__((visibility("default"))) | 25 #define CRYPTO_EXPORT __attribute__((visibility("default"))) |
| 26 #define CRYPTO_EXPORT_PRIVATE __attribute__((visibility("default"))) |
20 #else | 27 #else |
21 #define CRYPTO_EXPORT | 28 #define CRYPTO_EXPORT |
| 29 #define CRYPTO_EXPORT_PRIVATE |
22 #endif | 30 #endif |
23 #endif | 31 #endif |
24 | 32 |
25 #else // defined(COMPONENT_BUILD) | 33 #else // defined(COMPONENT_BUILD) |
26 #define CRYPTO_EXPORT | 34 #define CRYPTO_EXPORT |
| 35 #define CRYPTO_EXPORT_PRIVATE |
27 #endif | 36 #endif |
28 | 37 |
29 #endif // CRYPTO_CRYPTO_EXPORT_H_ | 38 #endif // CRYPTO_CRYPTO_EXPORT_H_ |
OLD | NEW |