X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/259a2a73328d3b576614229b5f72b5c8b0a3760e..5d7792236f7e4fcbb94cdc2a5213e0c5788e8c28:/docs/tech/tn0016.txt diff --git a/docs/tech/tn0016.txt b/docs/tech/tn0016.txt index e7623f4868..6120998ddf 100644 --- a/docs/tech/tn0016.txt +++ b/docs/tech/tn0016.txt @@ -16,7 +16,7 @@ the bakefile_gen tool. Run it from $(wx)/build/bakefiles directory and it will regenerate all outdated makefiles. See $(wx)/build/bakefiles/README for more details. -Note that it generates makefiles for samples and contrib libraries, too. +Note that it generates makefiles for samples, too. IMPORTANT NOTE: Don't forget to run autoconf in wxWidgets root directory (after running Bakefile) if you changed any conditional @@ -49,18 +49,16 @@ and use bakefile_gen instead of running bakefile directly. 2. Bakefile files organization ------------------------------ -Makefile are generated from .bkl files ("bakefiles") from three places: +Makefile are generated from .bkl files ("bakefiles") from two places: - $(wx)/build/bakefiles directory - - $(wx)/contrib/build/* directories - samples directories $(wx)/build/bakefiles contains bakefiles for main library and support files -that simplify writing bakefiles for contrib and samples. +that simplify writing bakefiles for samples. Support files are: wxwin.py - helper functions common.bkl common_samples.bkl - common_contrib.bkl - shared definitions and templates config.bkl - user-configurable build options make_dist.mk - implementation of "make dist" on Unix @@ -119,7 +117,7 @@ that are required by the sample. The Windows resource specification should use the central .rc file: ../sample.rc - + Run bakefile_gen in $(wx)/build/bakefiles to regenerate the bakefiles. Finally commit $(wx)/build/bakefiles/make_dist.mk and all the other modified files. @@ -149,7 +147,7 @@ a) Add files to files.bkl: Finally, define FOO_SRC and FOO_HDR to contain both FOO_PLATFORM_{SRC,HDR} and FOO_{SRC,HDR} (see NET_SRC definition for an example). - * Add FOO_HDR to ALL_GUI_HEADERS or ALL_BASE_HEADERS. + * Add FOO_HDR to ALL_GUI_HEADERS or ALL_BASE_HEADERS. * If wxFoo is wxBase library (doesn't use GUI), add FOO_SRC to ALL_BASE_SOURCES. @@ -181,8 +179,7 @@ e) Regenerate all makefiles (don't forget to run autoconf) f) Update configure.in and wx-config.in to contain information about the library and needed linker flags: - * Add "foo" to either CORE_BASE_LIBS or CORE_GUI_LIBS in configure.in so - that wxFoo is not treated as contrib library in monolithic build. + * Add "foo" to either STD_BASE_LIBS or STD_GUI_LIBS in configure.in. * If wxFoo links against additional libraries, add necessary linker flags and libraries to ldflags_foo and ldlibs_foo variables in wx-config.in (both are optional). @@ -201,6 +198,7 @@ g) Update dlimpexp.h to define WXMAKINGDLL_FOO if WXMAKINGDLL is defined (add #define WXDLLIMPEXP_NET #define WXDLLIMPEXP_DATA_NET(type) type #endif + Don't forget to add WXDLLIMPEXP_FWD_FOO definitions too. Use WXDLLIMPEXP_FOO when declaring wxFoo classes and functions. h) Add this code to one of wxFoo's files (the more often used, the better):