xref: /aosp_15_r20/external/leveldb/include/leveldb/export.h (revision 9507f98c5f32dee4b5f9e4a38cd499f3ff5c4490)
1 // Copyright (c) 2017 The LevelDB Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. See the AUTHORS file for names of contributors.
4 
5 #ifndef STORAGE_LEVELDB_INCLUDE_EXPORT_H_
6 #define STORAGE_LEVELDB_INCLUDE_EXPORT_H_
7 
8 #if !defined(LEVELDB_EXPORT)
9 
10 #if defined(LEVELDB_SHARED_LIBRARY)
11 #if defined(_WIN32)
12 
13 #if defined(LEVELDB_COMPILE_LIBRARY)
14 #define LEVELDB_EXPORT __declspec(dllexport)
15 #else
16 #define LEVELDB_EXPORT __declspec(dllimport)
17 #endif  // defined(LEVELDB_COMPILE_LIBRARY)
18 
19 #else  // defined(_WIN32)
20 #if defined(LEVELDB_COMPILE_LIBRARY)
21 #define LEVELDB_EXPORT __attribute__((visibility("default")))
22 #else
23 #define LEVELDB_EXPORT
24 #endif
25 #endif  // defined(_WIN32)
26 
27 #else  // defined(LEVELDB_SHARED_LIBRARY)
28 #define LEVELDB_EXPORT
29 #endif
30 
31 #endif  // !defined(LEVELDB_EXPORT)
32 
33 #endif  // STORAGE_LEVELDB_INCLUDE_EXPORT_H_
34