<?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 wxWindows?
- </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">
<values>0,1</values>
- <default-value>0</default-value>
+ <default-value>0</default-value>
<description>
Use MSLU library when building Unicode version.
</description>
Type of compiled binaries
</description>
</option>
-
+
+ <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="IS_MSVC=='1'">1</if>
+ <if cond="IS_MSVC=='0'">default</if>
+ </set>
+
<option name="DEBUG_INFO">
<values>0,1,default</values>
- <default-value>default</default-value>
+ <default-value>$(DEBUG_INFO_DEFAULT)</default-value>
<description>
Should debugging info be included in the executables? The default value
"default" means that debug info will be included if BUILD=debug
and not included if BUILD=release.
</description>
</option>
-
+
<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>
<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 DEBUG_INFO 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>
<if cond="FORMAT!='msvc'">
<set var="DEBUG_RUNTIME_LIBS">default</set>
</if>
-
+
+ <set var="MONOLITHIC_DEFAULT">
+ <if cond="FORMAT=='watcom'">1</if>
+ <if cond="FORMAT!='watcom'">0</if>
+ </set>
<option name="MONOLITHIC">
<values>0,1</values>
<values-description>Multilib,Monolithic</values-description>
- <default-value>0</default-value>
+ <default-value>$(MONOLITHIC_DEFAULT)</default-value>
<description>
Multiple libraries or single huge monolithic one?
</description>
</option>
-
+
+ <if cond="FORMAT=='autoconf'"> <!-- FIXME - temporary -->
+ <option name="USE_PLUGINS">
+ <values>0,1</values>
+ <default-value>1</default-value>
+ <description>
+ Build parts of the library as dynamically loadable plugins
+ (only supported in multilib build)?
+ </description>
+ </option>
+ </if>
+ <if cond="FORMAT!='autoconf'">
+ <set var="USE_PLUGINS">0</set> <!-- FIXME - temporary -->
+ </if>
+
<option name="USE_GUI">
<values>0,1</values>
<values-description>Base,GUI</values-description>
Build GUI libraries?
</description>
</option>
-
+
<option name="USE_HTML">
<values>0,1</values>
<default-value>1</default-value>
Build wxHTML library (USE_GUI must be 1)?
</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>
+ <description>
+ Build wxXRC library (USE_GUI must be 1)?
+ </description>
+ </option>
+
+ <option name="USE_AUI">
+ <values>0,1</values>
+ <default-value>1</default-value>
+ <description>
+ Build wxAUI library (USE_GUI must be 1)?
+ </description>
+ </option>
+
+ <option name="USE_RIBBON">
+ <values>0,1</values>
+ <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>0</default-value>
+ <default-value>1</default-value>
<description>
Build OpenGL canvas library (USE_GUI must be 1)?
</description>
</option>
-
- <option name="USE_ODBC">
+
+ <!-- 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 ODBC database classes (USE_GUI must be 1)?
+ Build quality assurance classes library (USE_GUI must be 1)?
</description>
</option>
-
+
<option name="USE_EXCEPTIONS">
<values>0,1</values>
<default-value>1</default-value>
Enable exceptions in compiled code.
</description>
</option>
-
+
+ <option name="USE_RTTI">
+ <values>0,1</values>
+ <default-value>1</default-value>
+ <description>
+ Enable run-time type information (RTTI) in compiled code.
+ </description>
+ </option>
+
+ <option name="USE_THREADS">
+ <values>0,1</values>
+ <default-value>1</default-value>
+ <description>
+ Enable threading in compiled code.
+ </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>
<description>
- Is this official build by wxWindows developers?
+ Is this official build by wxWidgets developers?
</description>
</option>
<option name="VENDOR">
Use this to name your customized DLLs differently
</description>
</option>
+ <!-- These basically do what vendor does in the places it didn't. -->
+ <!-- They should all be unified under some suitable descriptor -->
+ <option name="WX_FLAVOUR">
+ <default-value></default-value>
+ </option>
+ <option name="WX_LIB_FLAVOUR">
+ <default-value></default-value>
+ </option>
<option name="CFG">
<default-value></default-value>
compiled .lib files and setup.h under the lib/ toplevel directory.
</description>
</option>
-
-
+
+ <!-- unit tests support: -->
+ <option name="CPPUNIT_CFLAGS">
+ <default-value></default-value>
+ <description>
+Compiler flags needed to compile test suite in tests directory. If you want
+to run the tests, set it so that the compiler can find CppUnit headers.
+ </description>
+ </option>
+
+ <option name="CPPUNIT_LIBS">
+ <default-value></default-value>
+ <description>
+Linker flags needed to link test suite in tests directory. If you want
+to run the tests, include CppUnit library here.
+ </description>
+ </option>
+
+
<!-- ================================================================== -->
<!-- Autoconf -->
<!-- ================================================================== -->
-
- <if cond="FORMAT=='autoconf'">
+
+ <if cond="FORMAT=='autoconf'">
<option name="DEREZ"/>
<option name="TOOLKIT"/>
<option name="TOOLKIT_LOWERCASE"/>
<option name="TOOLKIT_VERSION"/>
<option name="TOOLCHAIN_NAME"/>
+ <option name="TOOLCHAIN_FULLNAME"/>
<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="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>
-
+
<!-- ================================================================== -->
- <!-- windows compilers -->
+ <!-- windows/dos/os2 compilers -->
<!-- ================================================================== -->
<if cond="FORMAT!='autoconf'">
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="TOOLKIT">MSW</set>
- <set var="TOOLKIT_LOWERCASE">$(TOOLKIT.lower())</set>
- <set var="TOOLKIT_VERSION"/>
+ <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=='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">
+ <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=='vc'">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>
+ <set var="EXTRALIBS_SDL"/>
+ <set var="EXTRALIBS_GNOMEPRINT"/>
- <set var="SRCDIR">
- <if cond="BUILDING_LIB=='1'">..$(DIRSEP)..</if>
- <if cond="BUILDING_LIB=='0'">.</if>
- </set>
+ <set var="WITH_PLUGIN_SDL">0</set>
+
+ <if cond="BUILDING_LIB=='1'">
+ <set-srcdir>../..</set-srcdir>
+ </if>
<set var="TOP_SRCDIR">$(SRCDIR)/$(WXTOPDIR)</set>
</if>
-
+
<if cond="FORMAT=='mingw'">
<option name="GCC_VERSION">
<values>3,2.95</values>
<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 -->
<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="DEBUG_INFO">default</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'">
<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' or (FORMAT=='msvs2005prj' and MSVS_PLATFORMS=='pocketpc2003') or (FORMAT=='msvs2008prj' and MSVS_PLATFORMS=='pocketpc2003')">
+ <set var="WXUNIV">0</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 -->
+ <if cond="FORMAT=='msevc4prj'">
+ <set var="USE_RTTI">0</set>
+ <set var="USE_EXCEPTIONS">0</set>
+ </if>
</if>
</makefile>