Hamlib  3.0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
rig_dll.h
1 /*
2  * Hamlib Win32 DLL build definitions
3  * Copyright (c) 2001-2009 by Stephane Fillod
4  *
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  *
20  */
21 
22 /*
23  * Provide definitions to compile in Windows
24  * using C-friendly options, e.g.
25  *
26  * HAMLIB_API -> __cdecl
27  * HAMLIB_EXPORT, HAMLIB_EXPORT_VAR -> __declspec(dllexport)
28  * BACKEND_EXPORT, BACKEND_EXPORT_VAR -> __declspec(dllexport)
29  *
30  * No effect in non-Windows environments.
31  */
32 
33 #if defined(_WIN32) && !defined(__CYGWIN__)
34 # undef HAMLIB_IMPEXP
35 # undef BACKEND_IMPEXP
36 # undef HAMLIB_API
37 # undef HAMLIB_EXPORT
38 # undef HAMLIB_EXPORT_VAR
39 # undef BACKEND_EXPORT
40 # undef BACKEND_EXPORT_VAR
41 # undef HAMLIB_DLL_IMPORT
42 # undef HAMLIB_DLL_EXPORT
43 
44 # if defined (__BORLANDC__)
45 # define HAMLIB_DLL_IMPORT __import
46 # define HAMLIB_DLL_EXPORT __export
47 # else
48 # define HAMLIB_DLL_IMPORT __declspec(dllimport)
49 # define HAMLIB_DLL_EXPORT __declspec(dllexport)
50 # endif
51 
52 # ifdef DLL_EXPORT
53  /* HAMLIB_API may be set to __stdcall for VB, .. */
54 # define HAMLIB_API __cdecl
55 # ifdef IN_HAMLIB
56 # define BACKEND_IMPEXP HAMLIB_DLL_EXPORT
57 # define HAMLIB_IMPEXP HAMLIB_DLL_EXPORT
58 # else
59 # define BACKEND_IMPEXP HAMLIB_DLL_EXPORT
60 # define HAMLIB_IMPEXP HAMLIB_DLL_IMPORT
61 # endif
62 # else
63  /* static build, only export the backend entry points for lt_dlsym */
64 # define BACKEND_IMPEXP HAMLIB_DLL_EXPORT
65 # endif
66 #endif
67 
68 
69 /* Take care of non-cygwin platforms */
70 #if !defined(HAMLIB_IMPEXP)
71 # define HAMLIB_IMPEXP
72 #endif
73 #if !defined(BACKEND_IMPEXP)
74 # define BACKEND_IMPEXP
75 #endif
76 #if !defined(HAMLIB_API)
77 # define HAMLIB_API
78 #endif
79 #if !defined(HAMLIB_EXPORT)
80 # define HAMLIB_EXPORT(type) HAMLIB_IMPEXP type HAMLIB_API
81 #endif
82 #if !defined(HAMLIB_EXPORT_VAR)
83 # define HAMLIB_EXPORT_VAR(type) HAMLIB_IMPEXP type
84 #endif
85 #if !defined(BACKEND_EXPORT)
86 # define BACKEND_EXPORT(type) BACKEND_IMPEXP type HAMLIB_API
87 #endif
88 #if !defined(BACKEND_EXPORT_VAR)
89 # define BACKEND_EXPORT_VAR(type) BACKEND_IMPEXP type
90 #endif
91 
92 

Generated by doxygen 1.8.8

Hamlib documentation for version 3.0.1 -- Wed Jan 13 2016 15:05:23
Project page: http://www.hamlib.org