Drizzled Public API Documentation

visibility.h
Go to the documentation of this file.
1 /* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2  * vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3  *
4  * Copyright (C) 2009 Sun Microsystems, Inc.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; version 2 of the License.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18  *
19  * Implementation drawn from visibility.texi in gnulib.
20  */
21 
28 #pragma once
29 
38 #if defined(BUILDING_DRIZZLED) && defined(HAVE_VISIBILITY)
39 # if defined(__GNUC__)
40 # define DRIZZLED_API __attribute__ ((visibility("default")))
41 # define DRIZZLED_INTERNAL_API __attribute__ ((visibility("hidden")))
42 # define DRIZZLED_API_DEPRECATED __attribute__ ((deprecated,visibility("default")))
43 # define DRIZZLED_LOCAL __attribute__ ((visibility("hidden")))
44 # elif (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)) || (defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x550))
45 # define DRIZZLED_API __global
46 # define DRIZZLED_INTERNAL_API __hidden
47 # define DRIZZLED_API_DEPRECATED __global
48 # define DRIZZLED_LOCAL __hidden
49 # elif defined(_MSC_VER)
50 # define DRIZZLED_API extern __declspec(dllexport)
51 # define DRIZZLED_INTERNAL_API extern __declspec(dllexport)
52 # define DRIZZLED_DEPRECATED_API extern __declspec(dllexport)
53 # define DRIZZLED_LOCAL
54 # endif
55 #else /* defined(BUILDING_DRIZZLED) && defined(HAVE_VISIBILITY) */
56 # if defined(_MSC_VER)
57 # define DRIZZLED_API extern __declspec(dllimport)
58 # define DRIZZLED_INTERNAL_API extern __declspec(dllimport)
59 # define DRIZZLED_API_DEPRECATED extern __declspec(dllimport)
60 # define DRIZZLED_LOCAL
61 # else
62 # define DRIZZLED_API
63 # define DRIZZLED_INTERNAL_API
64 # define DRIZZLED_API_DEPRECATED
65 # define DRIZZLED_LOCAL
66 # endif /* defined(_MSC_VER) */
67 #endif /* defined(BUILDING_DRIZZLED) && defined(HAVE_VISIBILITY) */
68 
69 
70