• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
2  *
3  *  Copyright (C) 2012 Brian Aker, brian@tangent.org
4  *
5  *  Redistribution and use in source and binary forms, with or without
6  *  modification, are permitted provided that the following conditions are
7  *  met:
8  *
9  *      * Redistributions of source code must retain the above copyright
10  *  notice, this list of conditions and the following disclaimer.
11  *
12  *      * Redistributions in binary form must reproduce the above
13  *  copyright notice, this list of conditions and the following disclaimer
14  *  in the documentation and/or other materials provided with the
15  *  distribution.
16  *
17  *      * The names of its contributors may not be used to endorse or
18  *  promote products derived from this software without specific prior
19  *  written permission.
20  *
21  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32  *
33  */
34 
35 #pragma once
36 
37 #if defined(BUILDING_TLSDATE)
38 # if defined(HAVE_VISIBILITY) && HAVE_VISIBILITY
39 #  define TLSDATE_API __attribute__ ((visibility("default")))
40 #  define TLSDATE_LOCAL  __attribute__ ((visibility("default")))
41 # elif defined (__SUNPRO_C) && (__SUNPRO_C >= 0x550)
42 #  define TLSDATE_API __global
43 #  define TLSDATE_LOCAL __global
44 # elif defined(_MSC_VER)
45 #  define TLSDATE_API extern __declspec(dllexport)
46 #  define TLSDATE_LOCAL extern __declspec(dllexport)
47 # else
48 #  define TLSDATE_API
49 #  define TLSDATE_LOCAL
50 # endif
51 #else
52 # if defined(BUILDING_TLSDATE)
53 #  if defined(HAVE_VISIBILITY) && HAVE_VISIBILITY
54 #   define TLSDATE_API __attribute__ ((visibility("default")))
55 #   define TLSDATE_LOCAL  __attribute__ ((visibility("hidden")))
56 #  elif defined (__SUNPRO_C) && (__SUNPRO_C >= 0x550)
57 #   define TLSDATE_API __global
58 #   define TLSDATE_LOCAL __hidden
59 #  elif defined(_MSC_VER)
60 #   define TLSDATE_API extern __declspec(dllexport)
61 #   define TLSDATE_LOCAL
62 #  else
63 #   define TLSDATE_API
64 #   define TLSDATE_LOCAL
65 #  endif /* defined(HAVE_VISIBILITY) */
66 # else  /* defined(BUILDING_TLSDATE) */
67 #  if defined(_MSC_VER)
68 #   define TLSDATE_API extern __declspec(dllimport)
69 #   define TLSDATE_LOCAL
70 #  else
71 #   define TLSDATE_API
72 #   define TLSDATE_LOCAL
73 #  endif /* defined(_MSC_VER) */
74 # endif /* defined(BUILDING_TLSDATE) */
75 #endif /* defined(BUILDING_TLSDATEINTERNAL) */
76