]> git.saurik.com Git - wxWidgets.git/blobdiff - build/bakefiles/config.bkl
Fix for #15520: wxRichTextCtrl: Drawing the selection doesn't respect its container...
[wxWidgets.git] / build / bakefiles / config.bkl
index f20892eb1584fd221905cf8bf9faf3db67f343d3..337065adbb8b3c7455ba93ae4e4999a09c043f8c 100644 (file)
 <?xml version="1.0" ?>
-<!-- $Id$ -->
 
 <makefile>
 
+    <set var="IS_MSVC_PRJ">
+        $(FORMAT in ['msvc6prj','msevc4prj','msvs2003prj','msvs2005prj','msvs2008prj'])
+    </set>
+    <set var="IS_MSVC">
+        $(IS_MSVC_PRJ=='1' or FORMAT=='msvc')
+    </set>
+
+
     <set var="BUILDING_LIB" overwrite="0">0</set>
 
-    <option name="SHARED">
-        <values>0,1</values>
-        <values-description>,DLL</values-description>
-        <default-value>0</default-value>
+    <set var="CPP_DEFAULT_VALUE">
+        <if cond="FORMAT=='borland'">
+            cpp32 -Sr -oCON
+        </if>
+        <if cond="FORMAT=='mingw'">
+            $(DOLLAR)(CC) -E
+        </if>
+        <if cond="FORMAT=='msvc'">
+            $(DOLLAR)(CC) /EP /nologo
+        </if>
+        <if cond="FORMAT=='watcom'">
+            $(DOLLAR)(CC) -p
+        </if>
+    </set>
+    <option name="CPP">
+        <default-value>
+            $(CPP_DEFAULT_VALUE)
+        </default-value>
         <description>
-            What type of library to build?
+            The C preprocessor
         </description>
     </option>
 
-    <option name="WXUNIV">
+    <option name="SHARED">
         <values>0,1</values>
-        <values-description>,Universal</values-description>
+        <values-description>,DLL</values-description>
         <default-value>0</default-value>
         <description>
-            Build wxUniversal instead of native port?
+            What type of library to build?
         </description>
     </option>
 
-    <option name="UNICODE">
-        <values>0,1</values>
-        <values-description>,Unicode</values-description>
-        <default-value>0</default-value>
-        <description>
-            Compile Unicode build of wxWidgets?
-        </description>
-    </option>
+    <if cond="FORMAT!='autoconf'">
+        <option name="TOOLKIT">
+            <values>MSW,GTK</values>
+            <values-description>,GTK+</values-description>
+            <default-value>MSW</default-value>
+            <description>
+                Used toolkit
+            </description>
+        </option>
+
+        <if cond="FORMAT not in ['autoconf','msvc6prj','msevc4prj','msvs2003prj','msvs2005prj','msvs2008prj']">
+            <option name="TOOLKIT_VERSION">
+                <values>,2</values>
+                <values-description>,2</values-description>
+                <default-value></default-value>
+                <description>
+                    GTK+ toolkit version
+                </description>
+            </option>
+        </if>
+
+        <!-- We must make TOOLKIT a constant under Windows -->
+        <if cond="FORMAT in ['borland','mingw','msvc','watcom', 'msvc6prj', 'msvs2003prj', 'msvs2005prj', 'msvs2008prj']">
+            <set var="TOOLKIT">MSW</set>
+        </if>
+    </if>
+
+    <!--
+        Don't include wxUniversal configurations in project files, they
+        confuse people who don't know what "Universal" means and double the
+        number of configurations. If you do need to build wxUniversal, either
+        use the make files or comment out the 3 lines below and rerun
+        bakefile_gen to regenerate the projects with them.
+     -->
+    <if cond="IS_MSVC_PRJ=='1'">
+        <set var="WXUNIV">0</set>
+    </if>
+    <if cond="IS_MSVC_PRJ=='0'">
+        <option name="WXUNIV">
+            <values>0,1</values>
+            <values-description>,Universal</values-description>
+            <default-value>0</default-value>
+            <description>
+                Build wxUniversal instead of native port?
+            </description>
+        </option>
+    </if>
+
+    <!-- don't include ANSI configuration in project files, it's going to be
+         eventually removed anyway and it only doubles the number of build
+         configs in projects: -->
+    <if cond="IS_MSVC_PRJ=='1'">
+        <set var="UNICODE">1</set>
+    </if>
+    <if cond="IS_MSVC_PRJ=='0'">
+        <option name="UNICODE">
+            <values>0,1</values>
+            <values-description>,Unicode</values-description>
+            <default-value>1</default-value>
+            <description>
+                Compile Unicode build of wxWidgets?
+            </description>
+        </option>
+    </if>
 
     <if cond="FORMAT!='autoconf' and FORMAT!='watcom'">
         <option name="MSLU">
         </description>
     </option>
 
-    <!-- FIXME: restore this once bakefile is fixed to not use
-                /Gm /GZ (incompatible with /O2) w/ debug-info -->
+    <if cond="FORMAT=='msvc'">
+        <option name="TARGET_CPU">
+            <default-value>$(DOLLAR)(CPU)</default-value>
+            <description>
+The target processor architecture must be specified when it is not X86.
+This does not affect the compiler output, so you still need to make sure
+your environment is set up appropriately with the correct compiler in the
+PATH. Rather it affects some options passed to some of the common build
+utilities such as the resource compiler and the linker.
+
+Accepted values: IA64, X64
+(AMD64 accepted as synonym for X64 but should not be used any more).
+            </description>
+        </option>
+    </if>
+    <if cond="FORMAT!='msvc'">
+        <set var="TARGET_CPU"/>
+    </if>
+
+    <!--
+        For MSVC enable debug information in all builds: it is needed to be
+        able to debug the crash dumps produced by wxDebugReport and as it
+        generates it in separate PDB files it doesn't cost us much to enable it
+        (except for disk space...).
+     -->
     <set var="DEBUG_INFO_DEFAULT">
-        <if cond="FORMAT in ['msvc','msvc6prj','msevc4prj']">1</if>
-        <if cond="FORMAT not in ['msvc','msvc6prj','msevc4prj']">default</if>
+        <if cond="IS_MSVC=='1'">1</if>
+        <if cond="IS_MSVC=='0'">default</if>
     </set>
-    -->
-    <set var="DEBUG_INFO_DEFAULT">default</set>
 
     <option name="DEBUG_INFO">
         <values>0,1,default</values>
@@ -75,10 +173,11 @@ and not included if BUILD=release.
 
     <option name="DEBUG_FLAG">
         <values>0,1,default</values>
-        <default-value>default</default-value>
+        <default-value>1</default-value>
         <description>
-Should __WXDEBUG__ be defined? The default value "default" means that it will
-be defined if BUILD=debug and not defined if BUILD=release.
+Value of wxDEBUG_LEVEL. The default value is the same as 1 and means that all
+but expensive assert checks are enabled, use 0 to completely remove debugging
+code.
         </description>
     </option>
 
@@ -87,8 +186,8 @@ be defined if BUILD=debug and not defined if BUILD=release.
             <values>0,1,default</values>
             <default-value>default</default-value>
             <description>
-Should link against debug RTL (msvcrtd.dll) or release (msvcrt.dll)?
-Acts according to BUILD by default.
+Link against debug (e.g. msvcrtd.dll) or release (msvcrt.dll) RTL?
+Default is to use debug CRT if and only if BUILD==debug.
             </description>
         </option>
     </if>
@@ -140,6 +239,22 @@ Acts according to BUILD by default.
         </description>
     </option>
 
+    <option name="USE_WEBVIEW">
+        <values>0,1</values>
+        <default-value>1</default-value>
+        <description>
+            Build wxWebView library (USE_GUI must be 1)?
+        </description>
+    </option>
+
+    <option name="USE_MEDIA">
+        <values>0,1</values>
+        <default-value>1</default-value>
+        <description>
+            Build multimedia library (USE_GUI must be 1)?
+        </description>
+    </option>
+
     <option name="USE_XRC">
         <values>0,1</values>
         <default-value>1</default-value>
@@ -148,25 +263,62 @@ Acts according to BUILD by default.
         </description>
     </option>
 
-    <option name="USE_OPENGL">
+    <option name="USE_AUI">
         <values>0,1</values>
-        <default-value>0</default-value>
+        <default-value>1</default-value>
         <description>
-            Build OpenGL canvas library (USE_GUI must be 1)?
+            Build wxAUI library (USE_GUI must be 1)?
         </description>
     </option>
 
-    <option name="USE_ODBC">
+    <option name="USE_RIBBON">
         <values>0,1</values>
-        <default-value>0</default-value>
+        <default-value>1</default-value>
+        <description>
+            Build wxRibbon library (USE_GUI must be 1)?
+        </description>
+    </option>
+
+    <option name="USE_PROPGRID">
+        <values>0,1</values>
+        <default-value>1</default-value>
+        <description>
+            Build wxPropertyGrid library (USE_GUI must be 1)?
+        </description>
+    </option>
+
+    <option name="USE_RICHTEXT">
+        <values>0,1</values>
+        <default-value>1</default-value>
+        <description>
+            Build wxRichTextCtrl library (USE_GUI must be 1)?
+        </description>
+    </option>
+
+    <option name="USE_STC">
+        <values>0,1</values>
+        <default-value>1</default-value>
+        <description>
+            Build wxStyledTextCtrl library (USE_GUI must be 1)?
+        </description>
+    </option>
+
+    <option name="USE_OPENGL">
+        <values>0,1</values>
+        <default-value>1</default-value>
         <description>
-            Build ODBC database classes (USE_GUI must be 1)?
+            Build OpenGL canvas library (USE_GUI must be 1)?
         </description>
     </option>
 
+    <!-- currently only VC++ can compile wxDebugReport which is in QA lib -->
+    <set var="USE_QA_DEFAULT">
+        <if cond="FORMAT in ['msvc','msvc6prj','msvs2003prj','msvs2005prj','msvs2008prj']">1</if>
+        <if cond="FORMAT not in ['msvc','msvc6prj','msvs2003prj','msvs2005prj','msvs2008prj']">0</if>
+    </set>
     <option name="USE_QA">
         <values>0,1</values>
-        <default-value>0</default-value>
+        <default-value>$(USE_QA_DEFAULT)</default-value>
         <description>
             Build quality assurance classes library (USE_GUI must be 1)?
         </description>
@@ -196,6 +348,14 @@ Acts according to BUILD by default.
         </description>
     </option>
 
+    <option name="USE_CAIRO">
+        <values>0,1</values>
+        <default-value>0</default-value>
+        <description>
+            Enable wxCairoContext for platforms other than Linux/GTK.
+        </description>
+    </option>
+
     <option name="OFFICIAL_BUILD">
         <values>0,1</values>
         <default-value>0</default-value>
@@ -259,22 +419,28 @@ to run the tests, include CppUnit library here.
         <option name="EXTRALIBS"/>
         <option name="EXTRALIBS_XML"/>
         <option name="EXTRALIBS_HTML"/>
-        <option name="EXTRALIBS_ODBC"/>
+        <option name="EXTRALIBS_MEDIA"/>
         <option name="EXTRALIBS_GUI"/>
         <option name="EXTRALIBS_OPENGL"/>
         <option name="EXTRALIBS_SDL"/>
-        <option name="EXTRALIBS_GNOMEPRINT"/>
+        <option name="CXXWARNINGS"/>
         <option name="HOST_SUFFIX"/>
+        <option name="DYLIB_RPATH_INSTALL"/>
+        <option name="DYLIB_RPATH_POSTLINK"/>
         <option name="SAMPLES_RPATH_FLAG"/>
-        <option name="SAMPLES_RPATH_POSTLINK"/>
+
+        <!-- see configure.in; it's required by some samples on Mac OS X -->
+        <option name="HEADER_PAD_OPTION"/>
 
         <set var="TOP_SRCDIR">$(top_srcdir)/</set>
         <set var="RUNTIME_LIBS">dynamic</set>
-        <set var="WXTOPDIR"/> <!-- to be overriden on bakefile cmd line -->
+        <set var="WXTOPDIR"/> <!-- to be overridden on bakefile cmd line -->
 
         <option name="WITH_PLUGIN_SDL">
             <values>0,1</values>
         </option>
+
+        <option name="wx_top_builddir"/>
     </if>
 
 
@@ -293,25 +459,49 @@ it if SHARED=1 unless you know what you are doing.
             </description>
         </option>
 
-        <set var="WXTOPDIR"/> <!-- to be overriden on bakefile cmd line -->
+        <set var="WXTOPDIR"/> <!-- to be overridden on bakefile cmd line -->
+
+        <set var="WIN32_TOOLKIT">
+            <if cond="TOOLKIT=='MSW'">MSW</if>
+            <if cond="TOOLKIT=='GTK'">GTK</if>
+        </set>
+        <set var="WIN32_TOOLKIT_LOWERCASE">
+            <if cond="TOOLKIT=='MSW'">msw</if>
+            <if cond="TOOLKIT=='GTK'">gtk</if>
+        </set>
 
         <set var="TOOLKIT" overwrite="0">
             <if cond="FORMAT=='msevc4prj'">WINCE</if>
-            <if cond="FORMAT!='msevc4prj' and PLATFORM_WIN32=='1'">MSW</if>
-            <if cond="PLATFORM_MSDOS=='1'">DOS</if>
+            <if cond="FORMAT=='msvs2005prj' and MSVS_PLATFORMS=='pocketpc2003'">WINCE</if>
+            <if cond="FORMAT=='msvs2008prj' and MSVS_PLATFORMS=='pocketpc2003'">WINCE</if>
+            <if cond="FORMAT=='msvs2005prj' and MSVS_PLATFORMS=='win32'">$(WIN32_TOOLKIT)</if>
+            <if cond="FORMAT=='msvs2008prj' and MSVS_PLATFORMS=='win32'">$(WIN32_TOOLKIT)</if>
+            <if cond="FORMAT not in ['msevc4prj','msvs2005prj','msvs2008prj'] and PLATFORM_WIN32=='1'">$(WIN32_TOOLKIT)</if>
             <if cond="PLATFORM_OS2=='1'">PM</if>
         </set>
-        <set var="TOOLKIT_LOWERCASE">$(TOOLKIT.lower())</set>
-        <set var="TOOLKIT_VERSION"/>
+        <set var="TOOLKIT_LOWERCASE">
+            <if cond="FORMAT=='msevc4prj'">wince</if>
+            <if cond="FORMAT=='msvs2005prj' and MSVS_PLATFORMS=='pocketpc2003'">wince</if>
+            <if cond="FORMAT=='msvs2008prj' and MSVS_PLATFORMS=='pocketpc2003'">wince</if>
+            <if cond="FORMAT=='msvs2005prj' and MSVS_PLATFORMS=='win32'">$(WIN32_TOOLKIT_LOWERCASE)</if>
+            <if cond="FORMAT=='msvs2008prj' and MSVS_PLATFORMS=='win32'">$(WIN32_TOOLKIT_LOWERCASE)</if>
+            <if cond="FORMAT not in ['msevc4prj','msvs2005prj','msvs2008prj'] and PLATFORM_WIN32=='1'">$(WIN32_TOOLKIT_LOWERCASE)</if>
+            <if cond="PLATFORM_OS2=='1'">pm</if>
+        </set>
+        <if cond="FORMAT in ['msvc6prj','msvs2003prj','msvs2005prj','msvs2008prj']">
+            <set var="TOOLKIT_VERSION">
+                <if cond="PLATFORM_WIN32=='1' and TOOLKIT=='GTK'">2</if>
+            </set>
+        </if>
         <set var="HOST_SUFFIX"/>
         <set var="EXTRACFLAGS"/>
         <set var="EXTRALIBS"/>
         <set var="EXTRALIBS_XML"/>
         <set var="EXTRALIBS_HTML"/>
-        <set var="EXTRALIBS_ODBC"/>
+        <set var="EXTRALIBS_MEDIA"/>
         <set var="EXTRALIBS_GUI"/>
         <set var="EXTRALIBS_OPENGL">
-            <if cond="COMPILER=='wat'">opengl32.lib glu32.lib</if>
+            <if cond="COMPILER=='wat' and TOOLKIT=='MSW'">opengl32.lib glu32.lib</if>
             <if cond="COMPILER in ['vc','evc']">opengl32.lib glu32.lib</if>
             <if cond="COMPILER=='gcc'">-lopengl32 -lglu32</if>
         </set>
@@ -320,10 +510,9 @@ it if SHARED=1 unless you know what you are doing.
 
         <set var="WITH_PLUGIN_SDL">0</set>
 
-        <set var="SRCDIR">
-            <if cond="BUILDING_LIB=='1'">..$(DIRSEP)..</if>
-            <if cond="BUILDING_LIB=='0'">.</if>
-        </set>
+        <if cond="BUILDING_LIB=='1'">
+            <set-srcdir>../..</set-srcdir>
+        </if>
         <set var="TOP_SRCDIR">$(SRCDIR)/$(WXTOPDIR)</set>
     </if>
 
@@ -343,12 +532,6 @@ Set the version of your Mingw installation here.
         <set var="EXTRACFLAGS">$(GCCFLAGS) -DHAVE_W32API_H</set>
     </if>
 
-    <if cond="FORMAT=='cbuilderx'">
-        <set var="EXTRACFLAGS">
-            <if cond="COMPILER=='gcc'">-DHAVE_W32API_H</if>
-        </set>
-    </if>
-
 
     <!-- ================================================================== -->
     <!--            Project files - hardcode some defaults                  -->
@@ -357,35 +540,29 @@ Set the version of your Mingw installation here.
     <if cond="FORMAT_SUPPORTS_CONDITIONS=='0'">
         <set var="RUNTIME_LIBS">dynamic</set>
         <set var="OFFICIAL_BUILD">0</set>
+        <set var="USE_AUI">1</set>
+        <set var="USE_RIBBON">1</set>
+        <set var="USE_PROPGRID">1</set>
+        <set var="USE_RICHTEXT">1</set>
+        <set var="USE_STC">1</set>
         <set var="USE_HTML">1</set>
+        <set var="USE_WEBVIEW">1</set>
+        <set var="USE_MEDIA">1</set>
         <set var="USE_XRC">1</set>
         <set var="USE_OPENGL">1</set>
-        <set var="USE_ODBC">1</set>
         <set var="USE_QA">1</set>
         <set var="MONOLITHIC">0</set>
         <set var="USE_GUI">1</set>
         <set var="USE_EXCEPTIONS">1</set>
         <set var="USE_RTTI">1</set>
         <set var="USE_THREADS">1</set>
+        <set var="USE_CAIRO">0</set>
         <set var="DEBUG_INFO">$(DEBUG_INFO_DEFAULT)</set>
         <set var="DEBUG_FLAG">default</set>
         <set var="MSLU">0</set>
     </if>
 
 
-    <!-- FIXME:
-         C++BuilderX supports only wxMSW, monolithic (sic!) static build
-         and the project can't be put into build/msw and store objects in
-         build/msw/something. This *must* be fixed! -->
-    <if cond="FORMAT=='cbuilderx'">
-        <set var="WXUNIV">0</set>
-        <set var="MONOLITHIC">1</set>
-        <set var="SRCDIR">.</set>
-        <set var="TOP_SRCDIR">$(SRCDIR)/$(WXTOPDIR)</set>
-        <set var="SHARED">0</set>
-    </if>
-
-
     <!-- DigitalMars make is braindead, it doesn't have conditional
          processing: -->
     <if cond="FORMAT=='dmars'">
@@ -393,22 +570,24 @@ Set the version of your Mingw installation here.
         <set var="BUILD">debug</set>
         <set var="SHARED">0</set>
         <set var="WXUNIV">0</set>
-        <set var="UNICODE">0</set>
+        <set var="UNICODE">1</set>
         <!-- Free version does not distribute OpenGL,
              in commercial distribution better use dmars_smake format -->
         <set var="USE_OPENGL">0</set>
     </if>
 
     <!-- No need for wxUniv on embedded devices (yet): -->
-    <if cond="FORMAT=='msevc4prj'">
+    <if cond="FORMAT=='msevc4prj' or (FORMAT=='msvs2005prj' and MSVS_PLATFORMS=='pocketpc2003') or (FORMAT=='msvs2008prj' and MSVS_PLATFORMS=='pocketpc2003')">
         <set var="WXUNIV">0</set>
-        <set var="UNICODE">1</set>
         <!-- Uploading debug reports from PDAs seems impractical -->
         <set var="USE_QA">0</set>
         <set var="MONOLITHIC">1</set> <!-- sic! -->
+        <set var="USE_OPENGL">0</set> <!-- need OpenGL ES support first -->
         <!-- RTTI and exceptions need separate cccrtti.lib with eVC4 -->
-        <set var="USE_RTTI">0</set>
-        <set var="USE_EXCEPTIONS">0</set>
+        <if cond="FORMAT=='msevc4prj'">
+            <set var="USE_RTTI">0</set>
+            <set var="USE_EXCEPTIONS">0</set>
+        </if>
     </if>
 
 </makefile>