libosmscout 1.1.1
Loading...
Searching...
No Matches
MapCairoImportExport.h
Go to the documentation of this file.
1#ifndef OSMSCOUT_MAP_CAIRO_PRIVATE_IMPORT_EXPORT_H
2#define OSMSCOUT_MAP_CAIRO_PRIVATE_IMPORT_EXPORT_H
3
4/*
5 This source is part of the libosmscout-map-svg library
6 Copyright (C) 2011 Tim Teulings
7
8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Lesser General Public
10 License as published by the Free Software Foundation; either
11 version 2.1 of the License, or (at your option) any later version.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21*/
22
23#include <osmscoutmapcairo/MapCairoFeatures.h>
24
25// Shared library support
26#if defined _WIN32 || defined __CYGWIN__
27# define OSMSCOUT_IMPORT __declspec(dllimport)
28# define OSMSCOUT_EXPORT __declspec(dllexport)
29# define OSMSCOUT_LOCAL
30#else
31# if __GNUC__ >= 4
32# define OSMSCOUT_IMPORT __attribute__ ((visibility ("default")))
33# define OSMSCOUT_EXPORT __attribute__ ((visibility ("default")))
34# define OSMSCOUT_LOCAL __attribute__ ((visibility ("hidden")))
35# else
36# define OSMSCOUT_IMPORT
37# define OSMSCOUT_EXPORT
38# define OSMSCOUT_LOCAL
39# endif
40#endif
41#ifndef OSMSCOUT_STATIC
42# ifdef OSMScoutMapCairo_EXPORTS
43# define OSMSCOUT_MAP_CAIRO_API OSMSCOUT_EXPORT
44# else
45# define OSMSCOUT_MAP_CAIRO_API OSMSCOUT_IMPORT
46# endif
47# define OSMSCOUT_MAP_CAIRO_DLLLOCAL OSMSCOUT_LOCAL
48# else
49# define OSMSCOUT_MAP_CAIRO_API
50# define OSMSCOUT_MAP_CAIRO_DLLLOCAL
51#endif
52
53// Throwable classes must always be visible on GCC in all binaries
54#if defined(_WIN32)
55 #define OSMSCOUT_MAP_CAIRO_EXCEPTIONAPI(api) api
56#elif defined(OSMScoutMapCairo_EXPORTS)
57 #define OSMSCOUT_MAP_CAIRO_EXCEPTIONAPI(api) OSMSCOUT_EXPORT
58#else
59 #define OSMSCOUT_MAP_CAIRO_EXCEPTIONAPI(api)
60#endif
61
62#if defined(_MSC_VER)
63 #define OSMSCOUT_MAP_CAIRO_INSTANTIATE_TEMPLATES
64#endif
65#endif