1 /* $Id$ 2 * 3 4 * This file may be included many times. 5 * 6 * Declare compiler-specific macro: 7 * 8 * HUSKYEXT - external variables & external functions call modifier 9 * used for export/import functions for dll (shared library) build 10 * (May by set to 'extern' or stay empty for static linkage) 11 * Use DLLEXPORT macro to switch export or import functions 12 * modifier set. 13 */ 14 15 #include "compiler.h" /* compiler see directory of this .h file */ 16 17 #if defined(DLLEXPORT) && defined(DLLIMPORT) 18 # error "DLLEXPORT and DLLIMPORT can't be defined simultaneously!" 19 #endif 20 21 #undef HUSKYEXT 22 #ifdef _MAKE_DLL 23 # if defined(__MSVC__) || defined(__MINGW32__) 24 # if defined(DLLEXPORT) && !defined(DLLIMPORT) 25 # define HUSKYEXT __declspec(dllexport) 26 # else 27 # define HUSKYEXT __declspec(dllimport) 28 # endif /* DLLEXPORT */ 29 # else 30 # define HUSKYEXT extern 31 # endif 32 #else 33 # define HUSKYEXT extern 34 #endif 35