<!-- $Id$ -->
<makefile>
+
+ <set var="BUILDING_LIB" overwrite="0">0</set>
- <option name="UNICODE">
- <values>0 1</values>
+ <option name="SHARED">
+ <values>0,1</values>
+ <values-description>,DLL</values-description>
<default-value>0</default-value>
<description>
- Compile Unicode build of wxWindows?
+ What type of library to build?
+ </description>
+ </option>
+
+ <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>
- <option name="SHARED">
- <values>0 1</values>
- <default-value>1</default-value>
+ <option name="UNICODE">
+ <values>0,1</values>
+ <values-description>,Unicode</values-description>
+ <default-value>0</default-value>
<description>
- What type of library to build?
+ Compile Unicode build of wxWidgets?
+ </description>
+ </option>
+
+ <if cond="FORMAT!='autoconf' and FORMAT!='watcom'">
+ <option name="MSLU">
+ <values>0,1</values>
+ <default-value>0</default-value>
+ <description>
+ Use MSLU library when building Unicode version.
+ </description>
+ </option>
+ </if>
+ <if cond="FORMAT=='autoconf' or FORMAT=='watcom'">
+ <set var="MSLU">0</set>
+ </if>
+
+ <option name="BUILD">
+ <values>debug,release</values>
+ <values-description>Debug,Release</values-description>
+ <default-value>debug</default-value>
+ <description>
+ Type of compiled binaries
</description>
</option>
+ <option name="DEBUG_INFO">
+ <values>0,1,default</values>
+ <default-value>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>
+ <description>
+Should __WXDEBUG__ be defined? The default value "default" means that it will
+be defined if BUILD=debug and not defined if BUILD=release.
+ </description>
+ </option>
+
+ <if cond="FORMAT=='msvc'">
+ <option name="DEBUG_RUNTIME_LIBS">
+ <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.
+ </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>
- <default-value>1</default-value>
+ <values>0,1</values>
+ <values-description>Multilib,Monolithic</values-description>
+ <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>0,1</values>
+ <values-description>Base,GUI</values-description>
<default-value>1</default-value>
<description>
Build GUI libraries?
</description>
</option>
-
- <option name="WXUNIV">
- <values>0 1</values>
+
+ <option name="USE_HTML">
+ <values>0,1</values>
+ <default-value>1</default-value>
+ <description>
+ Build wxHTML 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_OPENGL">
+ <values>0,1</values>
<default-value>0</default-value>
<description>
- Build wxUniversal instead of native port?
+ Build OpenGL canvas library (USE_GUI must be 1)?
</description>
</option>
+
+ <option name="USE_ODBC">
+ <values>0,1</values>
+ <default-value>0</default-value>
+ <description>
+ Build ODBC database classes (USE_GUI must be 1)?
+ </description>
+ </option>
+
+ <option name="USE_EXCEPTIONS">
+ <values>0,1</values>
+ <default-value>1</default-value>
+ <description>
+ 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="OFFICIAL_BUILD">
+ <values>0,1</values>
+ <default-value>0</default-value>
+ <description>
+ Is this official build by wxWidgets developers?
+ </description>
+ </option>
+ <option name="VENDOR">
+ <default-value>custom</default-value>
+ <description>
+ 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>
+ <description>
+Name of your custom configuration. This affects directory
+where object files are stored as well as the location of
+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 -->
<!-- ================================================================== -->
<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_GUI"/>
+ <option name="EXTRALIBS_OPENGL"/>
+ <option name="EXTRALIBS_SDL"/>
+ <option name="EXTRALIBS_GNOMEPRINT"/>
+ <option name="HOST_SUFFIX"/>
<option name="SAMPLES_RPATH_FLAG"/>
+ <option name="SAMPLES_RPATH_POSTLINK"/>
+
<set var="TOP_SRCDIR">$(top_srcdir)/</set>
+ <set var="RUNTIME_LIBS">dynamic</set>
+ <set var="WXTOPDIR"/> <!-- to be overriden on bakefile cmd line -->
+
+ <option name="WITH_PLUGIN_SDL">
+ <values>0,1</values>
+ </option>
</if>
<!-- ================================================================== -->
- <!-- Windows compilers -->
+ <!-- windows compilers -->
<!-- ================================================================== -->
<if cond="FORMAT!='autoconf'">
+ <option name="RUNTIME_LIBS">
+ <values>dynamic,static</values>
+ <default-value>dynamic</default-value>
+ <description>
+Version of C runtime library to use. You can change this to
+static if SHARED=0, but it is highly recommended to not do
+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" overwrite="0">
+ <if cond="FORMAT!='msevc4prj'">MSW</if>
+ <if cond="FORMAT=='msevc4prj'">WINCE</if>
+ </set>
<set var="TOOLKIT_LOWERCASE">$(TOOLKIT.lower())</set>
<set var="TOOLKIT_VERSION"/>
- <set var="SAMPLES_RPATH_FLAG"/>
- <option name="EXTRALIBS"/>
+ <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_GUI"/>
+ <set var="EXTRALIBS_OPENGL">
+ <if cond="COMPILER=='wat'">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="WITH_PLUGIN_SDL">0</set>
- <set var="SRCDIR">..</set>
+ <set var="SRCDIR">
+ <if cond="BUILDING_LIB=='1'">..$(DIRSEP)..</if>
+ <if cond="BUILDING_LIB=='0'">.</if>
+ </set>
<set var="TOP_SRCDIR">$(SRCDIR)/$(WXTOPDIR)</set>
- <set var="BUILDDIR">objs_$(COMPILER)</set>
+ </if>
+
+ <if cond="FORMAT=='mingw'">
+ <option name="GCC_VERSION">
+ <values>3,2.95</values>
+ <default-value>3</default-value>
+ <description>
+Set the version of your Mingw installation here.
+ "3" ...... this is for Mingw 2.0 or newer (comes with gcc3)
+ "2.95" ... for Mingw 1.1 or any of the older versions
+ </description>
+ </option>
+ <set var="GCCFLAGS">
+ <if cond="GCC_VERSION=='2.95'">-fvtable-thunks</if>
+ </set>
+ <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_HTML">1</set>
+ <set var="USE_XRC">1</set>
+ <set var="USE_OPENGL">1</set>
+ <set var="USE_ODBC">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="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="RUNTIME_LIBS">static</set>
+ <set var="BUILD">debug</set>
+ <set var="SHARED">0</set>
+ <set var="WXUNIV">0</set>
+ <set var="UNICODE">0</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'">
+ <set var="WXUNIV">0</set>
+ <set var="UNICODE">1</set>
+ <set var="MONOLITHIC">1</set> <!-- sic! -->
</if>
</makefile>