Hamlib  1.2.15
rig_dll.h
00001 /*
00002  *  Hamlib Win32 DLL build definitions
00003  *  Copyright (c) 2001-2009 by Stephane Fillod
00004  *
00005  *
00006  *   This library is free software; you can redistribute it and/or
00007  *   modify it under the terms of the GNU Lesser General Public
00008  *   License as published by the Free Software Foundation; either
00009  *   version 2.1 of the License, or (at your option) any later version.
00010  *
00011  *   This library is distributed in the hope that it will be useful,
00012  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  *   Lesser General Public License for more details.
00015  *
00016  *   You should have received a copy of the GNU Lesser General Public
00017  *   License along with this library; if not, write to the Free Software
00018  *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00019  *
00020  */
00021 
00022 /*
00023  * Provide definitions to compile in Windows
00024  * using C-friendly options, e.g.
00025  *
00026  * HAMLIB_API -> __cdecl
00027  * HAMLIB_EXPORT, HAMLIB_EXPORT_VAR -> __declspec(dllexport)
00028  * BACKEND_EXPORT, BACKEND_EXPORT_VAR -> __declspec(dllexport)
00029  *
00030  * No effect in non-Windows environments.
00031  */
00032 
00033 #if defined(_WIN32) && !defined(__CYGWIN__)
00034 #  undef HAMLIB_IMPEXP
00035 #  undef BACKEND_IMPEXP
00036 #  undef HAMLIB_API
00037 #  undef HAMLIB_EXPORT
00038 #  undef HAMLIB_EXPORT_VAR
00039 #  undef BACKEND_EXPORT
00040 #  undef BACKEND_EXPORT_VAR
00041 #  undef HAMLIB_DLL_IMPORT
00042 #  undef HAMLIB_DLL_EXPORT
00043 
00044 #  if defined (__BORLANDC__)
00045 #  define HAMLIB_DLL_IMPORT __import
00046 #  define HAMLIB_DLL_EXPORT __export
00047 #  else
00048 #  define HAMLIB_DLL_IMPORT __declspec(dllimport)
00049 #  define HAMLIB_DLL_EXPORT __declspec(dllexport)
00050 #  endif
00051 
00052 #  ifdef DLL_EXPORT
00053      /* HAMLIB_API may be set to __stdcall for VB, .. */
00054 #    define HAMLIB_API __cdecl
00055 #    ifdef IN_HAMLIB
00056 #      define BACKEND_IMPEXP HAMLIB_DLL_EXPORT
00057 #      define HAMLIB_IMPEXP HAMLIB_DLL_EXPORT
00058 #    else
00059 #      define BACKEND_IMPEXP HAMLIB_DLL_EXPORT
00060 #      define HAMLIB_IMPEXP HAMLIB_DLL_IMPORT
00061 #    endif
00062 #  else
00063        /* static build, only export the backend entry points for lt_dlsym */
00064 #      define BACKEND_IMPEXP HAMLIB_DLL_EXPORT
00065 #  endif
00066 #endif
00067 
00068 
00069 /* Take care of non-cygwin platforms */
00070 #if !defined(HAMLIB_IMPEXP)
00071 #  define HAMLIB_IMPEXP
00072 #endif
00073 #if !defined(BACKEND_IMPEXP)
00074 #  define BACKEND_IMPEXP
00075 #endif
00076 #if !defined(HAMLIB_API)
00077 #  define HAMLIB_API
00078 #endif
00079 #if !defined(HAMLIB_EXPORT)
00080 #  define HAMLIB_EXPORT(type) HAMLIB_IMPEXP type HAMLIB_API
00081 #endif
00082 #if !defined(HAMLIB_EXPORT_VAR)
00083 #  define HAMLIB_EXPORT_VAR(type) HAMLIB_IMPEXP type
00084 #endif
00085 #if !defined(BACKEND_EXPORT)
00086 #  define BACKEND_EXPORT(type) BACKEND_IMPEXP type HAMLIB_API
00087 #endif
00088 #if !defined(BACKEND_EXPORT_VAR)
00089 #  define BACKEND_EXPORT_VAR(type) BACKEND_IMPEXP type
00090 #endif
00091 
00092 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated by doxygen 1.7.6.1

Hamlib documentation for version 1.2.15 -- Thu Feb 2 2012 21:37:28
Project page: http://www.hamlib.org