source: gsdl/trunk/packages/isis-gdl/DLLCode.h@ 14171

Last change on this file since 14171 was 6127, checked in by mdewsnip, 20 years ago

IsisGdl package for reading CDS/ISIS databases. Provided by Jean-Claude Dauphin at UNESCO, and modified slightly to compile and run under Linux.

  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1/**********************************************************************
2 *
3 * DLLCode.h
4 * Copyright (C) 2003 UNESCO
5 *
6 * A component of the Greenstone digital library software
7 * from the New Zealand Digital Library Project at the
8 * University of Waikato, New Zealand.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 *
24 *********************************************************************/
25
26/////////////////////////////////////////////////////////////////////////////
27// DLLCODE.H - include file used by all platforms to define macros required
28// to build static and dynamic libraries.
29// The DLLCODE.H file is included in every include file extending
30// the visibility of the macros defined here to the every source
31// code file.
32
33
34#ifndef __DLL_CODE_H__
35#define __DLL_CODE_H__
36
37#if defined (__MSVC_DLL__) // Defines the entry point for the DLL application
38//--------------------------------------------------------------------------
39// The following ifdef block is the standard way of creating macros which
40// make exporting from a DLL simpler. All files within this DLL are compiled
41// with the DLL_CODE_EXPORTS symbol defined on the command line. This
42// symbol should not be defined on any project that uses this DLL. This way
43// any other project whose source files include this file see DLL_CODE_API
44// functions as being imported from a DLL, whereas this DLL sees symbols
45// defined with this macro as being exported.
46//---------------------------------------------------------------------------
47#ifdef DLL_CODE_EXPORTS
48#define DLL_CODE_API __declspec(dllexport)
49#else
50#define DLL_CODE_API __declspec(dllimport)
51#endif
52#else // Macro used for non DLL code
53#define DLL_CODE_API
54#endif // __MSVC_DLL__
55
56// Force ANSI compatibility for Visual C++ .NET
57#if defined (__MSDEVNET__) && !defined (__USE_ANSI_CPP__)
58#define __USE_ANSI_CPP__
59#endif // __MSDEVNET__
60
61// Force ANSI compatibility for BCC32
62#if defined (__BCC32__) && !defined (__USE_ANSI_CPP__)
63#define __USE_ANSI_CPP__
64#endif // __BCC32__
65
66#if defined (__USE_ANSI_CPP__)
67// Macro used to define the std name space used by the ANSI
68// Standard C++ library.
69#define GXSTD std
70#else // Use the old Standard C++ library by default
71#define GXSTD
72#endif // __USE_ANSI_CPP__
73
74#endif // __DLL_CODE_H__
Note: See TracBrowser for help on using the repository browser.