X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1dba7b4c69c5416eea25fc680137d672f3a9794d..46ba8e87c742d323837cb99557f90ea08f4a6f1e:/build/bakefiles/config.bkl diff --git a/build/bakefiles/config.bkl b/build/bakefiles/config.bkl index 1c2cbfad9a..5e430df793 100644 --- a/build/bakefiles/config.bkl +++ b/build/bakefiles/config.bkl @@ -3,34 +3,112 @@ <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 MSW --> + <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"> @@ -54,14 +132,35 @@ </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 +174,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 +187,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 +240,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 +264,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 +349,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 +420,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 +460,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 +511,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 +533,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 +541,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,19 +571,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 --> + <if cond="FORMAT=='msevc4prj'"> + <set var="USE_RTTI">0</set> + <set var="USE_EXCEPTIONS">0</set> + </if> </if> </makefile>