new home directory
[feisty_meow.git] / nucleus / library / application / build_configuration.h
1 #ifndef BUILD_CONFIGURATION_GROUP
2 #define BUILD_CONFIGURATION_GROUP
3
4 //////////////
5 // Name   : build configuration
6 // Author : Chris Koeritz
7 //////////////
8 // Copyright (c) 1995-$now By Author.  This program is free software; you can
9 // redistribute it and/or modify it under the terms of the GNU General Public
10 // License as published by the Free Software Foundation:
11 //     http://www.gnu.org/licenses/gpl.html
12 // or under the terms of the GNU Library license:
13 //     http://www.gnu.org/licenses/lgpl.html
14 // at your preference.  Those licenses describe your legal rights to this
15 // software, and no other rights or warranties apply.
16 // Please send updates for this code to: fred@gruntose.com -- Thanks, fred.
17 //////////////
18
19 /*! @file build_configuration.h
20   @brief Contains definitions that control how libraries and programs are built.
21
22   These definitions can be used for declaring classes and functions that need
23   to be called from a DLL or that need to be compiled into a DLL.  The import
24   style is used to declare that the item is being pulled out of a DLL.  The
25   export style is used to declare that the item is being included in a DLL for
26   use by other functions.
27 */
28
29 #include <basis/definitions.h>
30
31 // Here is an example of a dynamic library header to be used by a particular library
32 // (presumably the gurpta library):
33 #if 0
34  #ifndef GURPTA_DYNAMIC_LIBRARY_HEADER
35  #define GURPTA_DYNAMIC_LIBRARY_HEADER
36    // define BUILD_GURPTA when you are creating the dynamic library and
37    // define DYNAMIC_HOOPLE when you are importing code from the dynamic library.
38    #include <basis/build_configuration.h>
39    #if defined(BUILD_GURPTA)
40      #define GURPTA_LIBRARY HOOPLE_DYNAMIC_EXPORT
41    #elif defined(DYNAMIC_HOOPLE)
42      #define GURPTA_LIBRARY HOOPLE_DYNAMIC_IMPORT
43    #else
44      #define GURPTA_LIBRARY
45    #endif
46  #endif // outer guard.
47 #endif
48
49 #ifdef __WIN32__
50   #define HOOPLE_DYNAMIC_EXPORT __declspec(dllexport)
51   #define HOOPLE_DYNAMIC_IMPORT __declspec(dllimport)
52 #else
53   // no known requirements for these tags, so set them to nothing.
54   #define HOOPLE_DYNAMIC_EXPORT
55   #define HOOPLE_DYNAMIC_IMPORT
56 #endif
57
58 #endif // outer guard.
59