X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cde948b4db45371b37a149da384db5a217947a6c..76f1eb7e1f6be1d53c81fd3fa6ebb6f9c9b689b7:/docs/tech/tn0016.txt diff --git a/docs/tech/tn0016.txt b/docs/tech/tn0016.txt index b80f095560..3d93009bf7 100644 --- a/docs/tech/tn0016.txt +++ b/docs/tech/tn0016.txt @@ -116,30 +116,18 @@ in the sample's bakefile (see e.g. samples/image/image.bkl for an example). Make sure to add statements for all libraries from multilib build that are required by the sample. -Run bakefile_gen in $(wx)/build/bakefiles to regenerate the bakefiles. - -Finally commit $(wx)/build/bakefiles/Makefile and all the other modified files. +The Windows resource specification should use the central .rc file: + ../sample.rc -5. Adding contrib library -------------------------- - -Contrib library bakefiles are located in $(wx)/contrib/build/name-of-contrib -directory, together with generated makefiles. Copy the bakefile from another -contrib library, change the IDs and files accordingly. Note that there must be -two targets for contrib wxFoo: foodll and foolib. +Run bakefile_gen in $(wx)/build/bakefiles to regenerate the bakefiles. -foodll definition must contain statements for all libraries it -depends on. WXUSINGDLL and WXMAKINGDLL_FOO must be defined and symbols from -the library should use WXDLLIMPEXP_FOO defined in wxFoo's headers analogically -to WXDLLIMPEXP_{BASE,CORE,HTML,...} in the main library (see 5g below for -additional details). +Finally commit $(wx)/build/bakefiles/make_dist.mk and all the other modified files. -Run bakefile_gen in $(wx)/build/bakefiles to regenerate makefiles -then commit $(wx)/build/bakefiles/Makefile. +Currently we commit the generated makefiles except .dms, .vcp. -6. Adding new core library +5. Adding new core library -------------------------- When adding new library to the core set of libraries, the files must be @@ -161,7 +149,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. @@ -193,8 +181,8 @@ 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 is not to be treated as contrib library in monolithic build. * 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). @@ -213,6 +201,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): @@ -221,8 +210,13 @@ h) Add this code to one of wxFoo's files (the more often used, the better): WX_CHECK_BUILD_OPTIONS("wxFoo") i) Add information about wxFoo to the manual ("Libraries list" section - in libs.tex). + in libs.tex) and update docs/latex/wx/libs.dia (you need Dia for this) + to show the dependencies of the new library. +j) Also please add 4 #pragma comment(lib, "foo") (for Unicode/ANSI + Release/Debug combinations) to the file include/msvc/wx/setup.h and + add a check for WXMAKINGDLL_FOO to the test whether we're building a DLL at + the end of include/wx/msw/chkconf.h. === EOF ===