build_configuration.h

Go to the documentation of this file.
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 

Generated on Sat Aug 30 04:31:41 2008 for HOOPLE Libraries by  doxygen 1.5.1