3f66f6a5b3
This keyword is not expanded by Git which means it's not replaced with the correct revision value in the releases made using git-based scripts and it's confusing to have lines with unexpanded "$Id$" in the released files. As expanding them with Git is not that simple (it could be done with git archive and export-subst attribute) and there are not many benefits in having them in the first place, just remove all these lines. If nothing else, this will make an eventual transition to Git simpler. Closes #14487. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
63 lines
1.9 KiB
C
63 lines
1.9 KiB
C
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/html/forcelnk.h
|
|
// Purpose: macros which force the linker to link apparently unused code
|
|
// Author: Vaclav Slavik
|
|
// Copyright: (c) Vaclav Slavik
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/*
|
|
|
|
DESCRPITON:
|
|
|
|
mod_*.cpp files contain handlers for tags. These files are modules - they contain
|
|
one wxTagModule class and it's OnInit() method is called from wxApp's init method.
|
|
The module is called even if you only link it into the executable, so everything
|
|
seems wonderful.
|
|
|
|
The problem is that we have these modules in LIBRARY and mod_*.cpp files contain
|
|
no method nor class which is known out of the module. So the linker won't
|
|
link these .o/.obj files into executable because it detected that it is not used
|
|
by the program.
|
|
|
|
To workaround this I introduced set of macros FORCE_LINK_ME and FORCE_LINK. These
|
|
macros are generic and are not limited to mod_*.cpp files. You may find them quite
|
|
useful somewhere else...
|
|
|
|
How to use them:
|
|
let's suppose you want to always link file foo.cpp and that you have module
|
|
always.cpp that is certainly always linked (e.g. the one with main() function
|
|
or htmlwin.cpp in wxHtml library).
|
|
|
|
Place FORCE_LINK_ME(foo) somewhere in foo.cpp and FORCE_LINK(foo) somewhere
|
|
in always.cpp
|
|
See mod_*.cpp and htmlwin.cpp for example :-)
|
|
|
|
*/
|
|
|
|
|
|
#ifndef _WX_FORCELNK_H_
|
|
#define _WX_FORCELNK_H_
|
|
|
|
#include "wx/link.h"
|
|
|
|
// compatibility defines
|
|
#define FORCE_LINK wxFORCE_LINK_MODULE
|
|
#define FORCE_LINK_ME wxFORCE_LINK_THIS_MODULE
|
|
|
|
#define FORCE_WXHTML_MODULES() \
|
|
FORCE_LINK(m_layout) \
|
|
FORCE_LINK(m_fonts) \
|
|
FORCE_LINK(m_image) \
|
|
FORCE_LINK(m_list) \
|
|
FORCE_LINK(m_dflist) \
|
|
FORCE_LINK(m_pre) \
|
|
FORCE_LINK(m_hline) \
|
|
FORCE_LINK(m_links) \
|
|
FORCE_LINK(m_tables) \
|
|
FORCE_LINK(m_span) \
|
|
FORCE_LINK(m_style)
|
|
|
|
|
|
#endif // _WX_FORCELNK_H_
|