MinGW doesn't include gdiplus.h but it can be installed independently by the
user. Allow to use it if it's available:
- Include windows.h when checking for it in configure as this is apparently
needed for its compilation.
- Don't reset wxUSE_GRAPHICS_CONTEXT to 0 for non-Microsoft compilers, instead
just define it as 0 by default for them, allowing the user to simply change
the definition in wx/msw/setup.h.
Closes #11892.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63832
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
12 files changed:
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <gdiplus.h>
int
main ()
#include <gdiplus.h>
int
main ()
dnl GDI+ DLL dynamically anyhow during run-time
AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
dnl GDI+ DLL dynamically anyhow during run-time
AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
- [#include <gdiplus.h>],
+ [#include <windows.h>
+ #include <gdiplus.h>],
[
using namespace Gdiplus;
],
[
using namespace Gdiplus;
],
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
-// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
-// Windows is known to).
+// Default is 1 except if you're using a non-Microsoft compiler under Windows
+// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
+// mingw32) you may need to install the headers (and just the headers)
+// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
//
// Recommended setting: 1
-#define wxUSE_GRAPHICS_CONTEXT 1
+#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
+ #define wxUSE_GRAPHICS_CONTEXT 1
+#else
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#endif
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// Individual GUI controls
Compiler-specific checks.
*/
Compiler-specific checks.
*/
-// Only MSVC 7+ has gdiplus.h, add exceptions for other compilers here if they
-// can support it too (but notice that Borland currently dies in
-// src/msw/gdiplus.cpp with "macro expansion too long" error even if the header
-// is available)
-#if !wxCHECK_VISUALC_VERSION(7)
- #undef wxUSE_GRAPHICS_CONTEXT
- #define wxUSE_GRAPHICS_CONTEXT 0
-#endif
-
// Borland
#ifdef __BORLANDC__
// Borland
#ifdef __BORLANDC__
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
-// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
-// Windows is known to).
+// Default is 1 except if you're using a non-Microsoft compiler under Windows
+// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
+// mingw32) you may need to install the headers (and just the headers)
+// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
//
// Recommended setting: 1
-#define wxUSE_GRAPHICS_CONTEXT 1
+#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
+ #define wxUSE_GRAPHICS_CONTEXT 1
+#else
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#endif
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// Individual GUI controls
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
-// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
-// Windows is known to).
+// Default is 1 except if you're using a non-Microsoft compiler under Windows
+// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
+// mingw32) you may need to install the headers (and just the headers)
+// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
//
// Recommended setting: 1
-#define wxUSE_GRAPHICS_CONTEXT 1
+#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
+ #define wxUSE_GRAPHICS_CONTEXT 1
+#else
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#endif
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// Individual GUI controls
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
-// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
-// Windows is known to).
+// Default is 1 except if you're using a non-Microsoft compiler under Windows
+// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
+// mingw32) you may need to install the headers (and just the headers)
+// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
//
// Recommended setting: 1
-#define wxUSE_GRAPHICS_CONTEXT 1
+#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
+ #define wxUSE_GRAPHICS_CONTEXT 1
+#else
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#endif
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// Individual GUI controls
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
-// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
-// Windows is known to).
+// Default is 1 except if you're using a non-Microsoft compiler under Windows
+// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
+// mingw32) you may need to install the headers (and just the headers)
+// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
//
// Recommended setting: 1
-#define wxUSE_GRAPHICS_CONTEXT 1
+#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
+ #define wxUSE_GRAPHICS_CONTEXT 1
+#else
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#endif
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// Individual GUI controls
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
-// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
-// Windows is known to).
+// Default is 1 except if you're using a non-Microsoft compiler under Windows
+// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
+// mingw32) you may need to install the headers (and just the headers)
+// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
//
// Recommended setting: 1
-#define wxUSE_GRAPHICS_CONTEXT 1
+#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
+ #define wxUSE_GRAPHICS_CONTEXT 1
+#else
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#endif
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// Individual GUI controls
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
-// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
-// Windows is known to).
+// Default is 1 except if you're using a non-Microsoft compiler under Windows
+// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
+// mingw32) you may need to install the headers (and just the headers)
+// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
//
// Recommended setting: 1
-#define wxUSE_GRAPHICS_CONTEXT 1
+#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
+ #define wxUSE_GRAPHICS_CONTEXT 1
+#else
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#endif
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// Individual GUI controls
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
-// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
-// Windows is known to).
+// Default is 1 except if you're using a non-Microsoft compiler under Windows
+// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
+// mingw32) you may need to install the headers (and just the headers)
+// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
//
// Recommended setting: 1
-#define wxUSE_GRAPHICS_CONTEXT 1
+#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
+ #define wxUSE_GRAPHICS_CONTEXT 1
+#else
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#endif
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// Individual GUI controls
-#define wxUSE_GRAPHICS_CONTEXT 0
+#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#else
+ #define wxUSE_GRAPHICS_CONTEXT 0
+#endif