]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/tech/tn0016.txt
using scan-line polygon conversion for constructing wxregion
[wxWidgets.git] / docs / tech / tn0016.txt
index e7623f4868f253d735c552e8350dd9a81f70ed35..abf51765e25ada332bc3550efb3a8012579ac6c2 100644 (file)
@@ -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.
 
 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
 
 IMPORTANT NOTE: Don't forget to run autoconf in wxWidgets root directory
                 (after running Bakefile) if you changed any conditional
@@ -29,17 +29,17 @@ generate makefiles. For example, you can use this command to generate
 VC++ project files without wxUniversal configurations:
     bakefile -v -fmsvc6prj -o../wxmy.dsw -DRUNTIME_LIBS=dynamic
              -DDEBUG_INFO=default -DDEBUG_FLAG=default
 VC++ project files without wxUniversal configurations:
     bakefile -v -fmsvc6prj -o../wxmy.dsw -DRUNTIME_LIBS=dynamic
              -DDEBUG_INFO=default -DDEBUG_FLAG=default
-             -DOFFICIAL_BUILD=0 -DUSE_HTML=1 -DUSE_OPENGL=1 -DUSE_ODBC=1
+             -DOFFICIAL_BUILD=0 -DUSE_HTML=1 -DUSE_OPENGL=1
              -DMONOLITHIC=0 -DUSE_GUI=1 -DWXUNIV=0 wx.bkl
 Or monolithic instead of multilib (the default):
     bakefile -v -fmsvc6prj -o../wxmono.dsw -DRUNTIME_LIBS=dynamic
              -DDEBUG_INFO=default -DDEBUG_FLAG=default
              -DMONOLITHIC=0 -DUSE_GUI=1 -DWXUNIV=0 wx.bkl
 Or monolithic instead of multilib (the default):
     bakefile -v -fmsvc6prj -o../wxmono.dsw -DRUNTIME_LIBS=dynamic
              -DDEBUG_INFO=default -DDEBUG_FLAG=default
-             -DOFFICIAL_BUILD=0 -DUSE_HTML=1 -DUSE_OPENGL=1 -DUSE_ODBC=1
+             -DOFFICIAL_BUILD=0 -DUSE_HTML=1 -DUSE_OPENGL=1
              -DMONOLITHIC=1 -DUSE_GUI=1 wx.bkl
 Or monolithic wxBase:
     bakefile -v -fmsvc6prj -o../wxBase.dsw -DRUNTIME_LIBS=dynamic
              -DDEBUG_INFO=default -DDEBUG_FLAG=default
              -DMONOLITHIC=1 -DUSE_GUI=1 wx.bkl
 Or monolithic wxBase:
     bakefile -v -fmsvc6prj -o../wxBase.dsw -DRUNTIME_LIBS=dynamic
              -DDEBUG_INFO=default -DDEBUG_FLAG=default
-             -DOFFICIAL_BUILD=0 -DUSE_HTML=0 -DUSE_OPENGL=0 -DUSE_ODBC=0
+             -DOFFICIAL_BUILD=0 -DUSE_HTML=0 -DUSE_OPENGL=0
              -DMONOLITHIC=1 -DUSE_GUI=0 wx.bkl
 It is, however, recommended to modify Bakefiles.bkgen (or
 Bakefiles.local.bkgen) by means of <add-flags> and <del-flags> directives
              -DMONOLITHIC=1 -DUSE_GUI=0 wx.bkl
 It is, however, recommended to modify Bakefiles.bkgen (or
 Bakefiles.local.bkgen) by means of <add-flags> and <del-flags> directives
@@ -49,18 +49,16 @@ and use bakefile_gen instead of running bakefile directly.
 2. Bakefile files organization
 ------------------------------
 
 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)/build/bakefiles directory
-  - $(wx)/contrib/build/* directories
   - samples directories
 $(wx)/build/bakefiles contains bakefiles for main library and support files
   - 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
 
 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
 
   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:
 
         <win32-res>../sample.rc</win32-res>
 The Windows resource specification should use the central .rc file:
 
         <win32-res>../sample.rc</win32-res>
-        
+
 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.
 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).
      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.
 
    * 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:
 
 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).
    * 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
             #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):
    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):