00001 #ifndef BUILD_CONFIGURATION_GROUP 00002 #define BUILD_CONFIGURATION_GROUP 00003 00004 /*****************************************************************************\ 00005 * * 00006 * Name : build configuration * 00007 * Author : Chris Koeritz * 00008 * * 00009 ******************************************************************************* 00010 * Copyright (c) 1995-$now By Author. This program is free software; you can * 00011 * redistribute it and/or modify it under the terms of the GNU General Public * 00012 * License as published by the Free Software Foundation; either version 2 of * 00013 * the License or (at your option) any later version. This is online at: * 00014 * http://www.fsf.org/copyleft/gpl.html * 00015 * Please send any updates to: fred@gruntose.com * 00016 \*****************************************************************************/ 00017 00028 #include "definitions.h" 00029 00030 // Here is an example of a dll header to be used by a particular library 00031 // (presumably the gurpta library): 00032 // 00033 // #ifndef GURPTA_DLL_HEADER 00034 // #define GURPTA_DLL_HEADER 00035 // // define BUILD_GURPTA when you are creating the dll and 00036 // // define USE_HOOPLE_DLLS when you are importing code from the dll. 00037 // #include <basis/build_configuration.h> 00038 // #if defined(BUILD_GURPTA) 00039 // #define GURPTA_CLASS_STYLE HOOPLE_DLL_EXPORT_CLASS 00040 // #define GURPTA_FUNCTION_STYLE HOOPLE_DLL_EXPORT_FUNCTION 00041 // #elif defined(USE_HOOPLE_DLLS) 00042 // #define GURPTA_CLASS_STYLE HOOPLE_DLL_IMPORT_CLASS 00043 // #define GURPTA_FUNCTION_STYLE HOOPLE_DLL_IMPORT_FUNCTION 00044 // #else 00045 // #define GURPTA_CLASS_STYLE 00046 // #define GURPTA_FUNCTION_STYLE 00047 // #endif 00048 // #endif // outer guard. 00049 00050 #ifdef __WIN32__ 00051 // Win 32 Exports 00052 #define HOOPLE_DLL_EXPORT_CLASS __declspec(dllexport) 00053 #define HOOPLE_DLL_EXPORT_FUNCTION __declspec(dllexport) 00054 // Win 32 Imports 00055 #define HOOPLE_DLL_IMPORT_CLASS __declspec(dllimport) 00056 #define HOOPLE_DLL_IMPORT_FUNCTION __declspec(dllimport) 00057 #else 00058 // no known requirements for these tags, so set them to nothing. 00059 #define HOOPLE_DLL_EXPORT_CLASS 00060 #define HOOPLE_DLL_EXPORT_FUNCTION 00061 #define HOOPLE_DLL_IMPORT_CLASS 00062 #define HOOPLE_DLL_IMPORT_FUNCTION 00063 #endif 00064 00065 // legacy macros. 00066 #define INOVA_DLL_EXPORT_CLASS HOOPLE_DLL_EXPORT_CLASS 00067 #define INOVA_DLL_EXPORT_FUNCTION HOOPLE_DLL_EXPORT_FUNCTION 00068 #define INOVA_DLL_IMPORT_CLASS HOOPLE_DLL_IMPORT_CLASS 00069 #define INOVA_DLL_IMPORT_FUNCTION HOOPLE_DLL_IMPORT_FUNCTION 00070 00071 // cause the use of either tag to make both tags be defined. 00072 #ifdef USE_INOVA_DLLS 00073 #define USE_HOOPLE_DLLS 00074 #elif defined(USE_HOOPLE_DLLS) 00075 #define USE_INOVA_DLLS 00076 #endif 00077 00079 00080 #ifdef BUILD_BASIS_EXTERN 00082 00089 #define BASIS_EXTERN HOOPLE_DLL_EXPORT_FUNCTION 00090 #elif defined(USE_HOOPLE_DLLS) 00091 #define BASIS_EXTERN HOOPLE_DLL_IMPORT_FUNCTION 00092 #else 00093 #define BASIS_EXTERN 00094 #endif 00095 00096 #endif // outer guard. 00097
1.5.1