1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/link.h 3// Purpose: macros to force linking modules which might otherwise be 4// discarded by the linker 5// Author: Vaclav Slavik 6// RCS-ID: $Id: link.h 35722 2005-09-26 12:29:25Z VZ $ 7// Copyright: (c) Vaclav Slavik 8// Licence: wxWindows licence 9///////////////////////////////////////////////////////////////////////////// 10 11#ifndef _WX_LINK_H_ 12#define _WX_LINK_H_ 13 14// This must be part of the module you want to force: 15#define wxFORCE_LINK_THIS_MODULE(module_name) \ 16 extern void _wx_link_dummy_func_##module_name (); \ 17 void _wx_link_dummy_func_##module_name () { } 18 19 20// And this must be somewhere where it certainly will be linked: 21#define wxFORCE_LINK_MODULE(module_name) \ 22 extern void _wx_link_dummy_func_##module_name (); \ 23 static struct wxForceLink##module_name \ 24 { \ 25 wxForceLink##module_name() \ 26 { \ 27 _wx_link_dummy_func_##module_name (); \ 28 } \ 29 } _wx_link_dummy_var_##module_name; 30 31 32#endif // _WX_LINK_H_ 33