components/wxwidgets/patches/wxwidgets-02-Tmacro.patch
author Vladimir Marek <Vladimir.Marek@oracle.com>
Tue, 10 May 2011 14:43:11 -0700
changeset 262 7e3572caa313
permissions -rw-r--r--
7031528 move wxGTK to userland
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
262
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     1
From edb725ec268bed5a940c29d0ee51e0d72eb51715 Mon Sep 17 00:00:00 2001
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     2
From: Vadim Zeitlin <[email protected]>
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     3
Date: Sat, 5 Sep 2009 15:53:32 +0200
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     4
Subject: [PATCH 1/5] Work around conflict between _T() and Sun CC standard headers.
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     5
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     6
This change fixes the build of wxWidgets itself by undefining _T() before
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     7
including any standard headers and redefining it after including them.
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     8
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     9
See #10660.
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    10
---
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    11
 include/wx/afterstd.h  |   18 ++++++++++++++++++
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    12
 include/wx/beforestd.h |   10 ++++++++++
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    13
 2 files changed, 28 insertions(+), 0 deletions(-)
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    14
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    15
diff --git a/include/wx/afterstd.h b/include/wx/afterstd.h
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    16
index 6fdbb31..3de6507 100644
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    17
--- a/include/wx/afterstd.h
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    18
+++ b/include/wx/afterstd.h
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    19
@@ -46,3 +46,23 @@
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    20
     #endif
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    21
 #endif
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    22
 
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    23
+/*
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    24
+    See comment about Sun C++ compiler in wx/beforestd.h.
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    25
+ */
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    26
+#if defined(WXBUILDING) || defined(wxNEEDS_T)
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    27
+#if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    28
+    /*
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    29
+        Undefine _T in case it was defined in the standard header.
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    30
+     */
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    31
+    #undef _T
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    32
+
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    33
+    /*
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    34
+        And define it again in the same way as it's done in wx/wxchar.h.
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    35
+     */
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    36
+    #if wxUSE_UNICODE
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    37
+        #define _T(x) wxCONCAT_HELPER(L, x)
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    38
+    #else /* !Unicode */
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    39
+        #define _T(x) x
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    40
+    #endif /* Unicode/!Unicode */
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    41
+#endif /* defined(__SUNPRO_CC) || defined(__SUNPRO_C) */
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    42
+#endif /* defined(WXBUILDING) */
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    43
diff --git a/include/wx/beforestd.h b/include/wx/beforestd.h
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    44
index 684b842..f75f392 100644
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    45
--- a/include/wx/beforestd.h
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    46
+++ b/include/wx/beforestd.h
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    47
@@ -63,3 +63,13 @@
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    48
     #pragma warning(disable:4786)
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    49
 #endif // VC++ < 7
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    50
 
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    51
+/*
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    52
+    Recent versions of Sun C++ compiler use _T in their standard headers and
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    53
+    our definition of it in wx/wxchar.h conflicts with them and breaks
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    54
+    compilation, so undefine _T before including them and redefine it back in
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    55
+    wx/afterstd.h.
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    56
+ */
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    57
+#if defined(__SUNPRO_CC) || defined(__SUNPRO_C)
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    58
+    #undef _T
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    59
+#endif /* SUNCC */
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    60
+
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    61
-- 
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    62
1.6.3.3
7e3572caa313 7031528 move wxGTK to userland
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    63