]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/tech/tn0016.txt
use buffered DC again
[wxWidgets.git] / docs / tech / tn0016.txt
index b80f095560b4b5b745d5611652fc73a3b4207d9b..3d93009bf77f78e7ab5843f222b96756b8a3ad79 100644 (file)
@@ -116,30 +116,18 @@ in the sample's bakefile (see e.g. samples/image/image.bkl for an example).
 Make sure to add <wx-lib> 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:
 
+        <win32-res>../sample.rc</win32-res>
 
-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 <wx-lib> 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 ===