adapted wx-config to work in multilib mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -13,9 +13,10 @@ tn0009.htm Creating and converting icons
|
||||
tn0010.htm Compiling wxWindows applications in the VC++ IDE
|
||||
tn0011.txt All about version numbers
|
||||
tn0012.txt wxWindows platform, toolkit and library names
|
||||
tn0013.txt how to make a wxGTK distribution
|
||||
tn0013.txt How to make a wxGTK distribution
|
||||
tn0014.txt XRC resources format specification
|
||||
tn0015.txt how to add new bitmaps to wxWindows UI elements
|
||||
tn0015.txt How to add new bitmaps to wxWindows UI elements
|
||||
tn0016.txt How to add new files and libraries to wxWindows build system
|
||||
|
||||
|
||||
Version: $Id$
|
||||
|
75
docs/tech/tn0016.txt
Normal file
75
docs/tech/tn0016.txt
Normal file
@@ -0,0 +1,75 @@
|
||||
How to add new files and libraries to wxWindows build system
|
||||
============================================================
|
||||
|
||||
|
||||
1. Regenerating makefiles
|
||||
-------------------------
|
||||
|
||||
|
||||
2. Bakefile files organization
|
||||
------------------------------
|
||||
|
||||
|
||||
3. Adding files to existing library
|
||||
-----------------------------------
|
||||
|
||||
|
||||
4. Adding sample or contrib library
|
||||
-----------------------------------
|
||||
|
||||
|
||||
5. Adding new core library
|
||||
--------------------------
|
||||
|
||||
When adding new library to the core set of libraries, the files must be
|
||||
added to both a newly added library in multilib build and into the single
|
||||
library built in monolithic mode. We will assume that the new library is
|
||||
called wxFoo.
|
||||
|
||||
a) Add files to files.bkl FIXME
|
||||
|
||||
b) Modify bakefile system in build/bakefiles/ to recognize wxFoo:
|
||||
* Add 'foo'to MAIN_LIBS and LIBS_NOGUI or LIBS_GUI (depending on whether
|
||||
the library depends on wxCore or not) to wxwin.py file.
|
||||
* Add WXLIB_FOO definition to common.bkl (into the "Names of component
|
||||
libraries" section). It looks like this:
|
||||
<set var="WXLIB_FOO">
|
||||
<if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('foo')))</if>
|
||||
</set>
|
||||
|
||||
c) Add files to monolithic build FIXME
|
||||
|
||||
d) Add files to multilib build FIXME
|
||||
|
||||
e) Regenerate all makefiles (don't forget to run autoconf)
|
||||
|
||||
f) Update wx-config.in to contain information about the library and needed
|
||||
linker flags:
|
||||
* Add "foo" to either CORE_BASE_LIBS or CORE_GUI_LIBS so that wxFoo is
|
||||
not treated as contrib library in monolithic build.
|
||||
* If wxFoo links against additional libraries, add neccessary linker
|
||||
flags and libraries to ldflags_foo and ldlibs_foo variables (both are
|
||||
optional).
|
||||
|
||||
g) Update defs.h to define WXMAKINGDLL_FOO if WXMAKINGDLL is defined (add
|
||||
#define WXMAKINGDLL_FOO inside first "#ifdef WXMAKINGDLL" block in defs.h)
|
||||
and to define WXDLLIMPEXP_FOO and WXDLLIMPEXP_DATA_FOO. You can copy
|
||||
e.g. WXDLLIMPEXP_NET definition, it is something like this:
|
||||
#ifdef WXMAKINGDLL_NET
|
||||
#define WXDLLIMPEXP_NET WXEXPORT
|
||||
#define WXDLLIMPEXP_DATA_NET(type) WXEXPORT type
|
||||
#elif defined(WXUSINGDLL)
|
||||
#define WXDLLIMPEXP_NET WXIMPORT
|
||||
#define WXDLLIMPEXP_DATA_NET(type) WXIMPORT type
|
||||
#else // not making nor using DLL
|
||||
#define WXDLLIMPEXP_NET
|
||||
#define WXDLLIMPEXP_DATA_NET(type) type
|
||||
#endif
|
||||
|
||||
h) Add information about wxFoo to the manual
|
||||
FIXME - where exactly
|
||||
|
||||
|
||||
=== EOF ===
|
||||
|
||||
Version: $Id$
|
Reference in New Issue
Block a user