diff --git a/include/wx/app.h b/include/wx/app.h index a2e3d03c59..b3b00cb981 100644 --- a/include/wx/app.h +++ b/include/wx/app.h @@ -263,6 +263,12 @@ public: // options of the library and abort if it doesn't static bool CheckBuildOptions(const char *optionsSignature, const char *componentName); +#if WXWIN_COMPATIBILITY_2_4 + static bool CheckBuildOptions(const wxBuildOptions& buildOptions) + { + return CheckBuildOptions(buildOptions.m_signature, "your program"); + } +#endif // implementation only from now on // ------------------------------- diff --git a/include/wx/build.h b/include/wx/build.h index 7d2573d28a..3c926f3c18 100644 --- a/include/wx/build.h +++ b/include/wx/build.h @@ -84,6 +84,9 @@ ")" +// ---------------------------------------------------------------------------- +// WX_CHECK_BUILD_OPTIONS +// ---------------------------------------------------------------------------- // Use this macro to check build options. Adding it to a file in DLL will // ensure that the DLL checks build options in same way IMPLEMENT_APP() does. @@ -96,4 +99,29 @@ }; \ static bool gs_buildOptionsCheck = wxCheckBuildOptions(); + +#if WXWIN_COMPATIBILITY_2_4 + +// ---------------------------------------------------------------------------- +// wxBuildOptions +// ---------------------------------------------------------------------------- + +// NB: Don't use this class in new code, it relies on the ctor being always +// inlined. WX_BUILD_OPTIONS_SIGNATURE always works. +class wxBuildOptions +{ +public: + // the ctor must be inline to get the compilation settings of the code + // which included this header + wxBuildOptions() : m_signature(WX_BUILD_OPTIONS_SIGNATURE) {} + +private: + const char *m_signature; + + // actually only CheckBuildOptions() should be our friend but well... + friend class wxAppConsole; +}; + +#endif // WXWIN_COMPATIBILITY_2_4 + #endif // _WX_BUILD_H_