proxygen
Export.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-present, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under the BSD-style license found in the
6  * LICENSE file in the root directory of this source tree. An additional grant
7  * of patent rights can be found in the PATENTS file in the same directory.
8  *
9  */
10 #pragma once
11 
12 // From https://gcc.gnu.org/wiki/Visibility
13 #if defined _WIN32 || defined __CYGWIN__
14  // The current uses of this doesn't actually
15  // have any need to be present on Windows,
16  // and building proxygen as a dynamic lib
17  // under Windows is not currently supported.
18  // HHVM builds Proxygen as a static library.
19  #define FB_EXPORT
20  #define FB_LOCAL
21 #else
22  #if __GNUC__ >= 4
23  #define FB_EXPORT __attribute__ ((visibility ("default")))
24  #define FB_LOCAL __attribute__ ((visibility ("hidden")))
25  #else
26  #define FB_EXPORT
27  #define FB_LOCAL
28  #endif
29 #endif