Merge branch 'vuplus-1.6' of 192.168.102.66:/var/ikseong/repo/openembedded into test_0921
[vuplus_openembedded] / recipes / mysql / mysql5 / fix-abi-check-gcc45.patch
1 From: Date: July 20 2010 7:44pm
2 Subject: bzr commit into mysql-5.1-bugteam branch (davi:3493) Bug#52514
3 List-Archive: http://lists.mysql.com/commits/113968
4 X-Bug: 52514
5 MIME-Version: 1.0
6 Content-Type: multipart/mixed; boundary="===============9147207462624717749=="
7
8 --===============9147207462624717749==
9 MIME-Version: 1.0
10 Content-Type: text/plain; charset="us-ascii"
11 Content-Transfer-Encoding: 7bit
12 Content-Disposition: inline
13
14 # At a local mysql-5.1-bugteam repository of davi
15
16  3493 Davi Arnaut       2010-07-20
17       Bug#52514: mysql 5.1 do_abi_check does not compile w/ gcc4.5
18                  due to GCC preprocessor change
19             
20       The problem is that newer GCC versions treats missing headers
21       as fatal errors. The solution is to use a guard macro to prevent
22       the inclusion of system headers when checking the ABI with the
23       C Preprocessor.
24       
25       Reference: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15638
26                  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44836
27      @ Makefile.am
28         Define guard macro.
29      @ configure.in
30         Remove workaround.
31      @ include/mysql.h
32         Guard the header inclusion.
33      @ include/mysql.h.pp
34         Header is not included anymore.
35
36     modified:
37       Makefile.am
38       configure.in
39       include/mysql.h
40       include/mysql.h.pp
41 === modified file 'Makefile.am'
42 Index: mysql-5.1.40/Makefile.am
43 ===================================================================
44 --- mysql-5.1.40.orig/Makefile.am       2009-10-07 01:46:13.000000000 +0800
45 +++ mysql-5.1.40/Makefile.am    2010-08-17 20:07:24.843148001 +0800
46 @@ -312,7 +312,7 @@
47  do_abi_check:
48         set -ex; \
49         for file in $(abi_headers); do \
50 -                @CC@ -E -nostdinc -dI \
51 +                @CC@ -E -nostdinc -dI -DMYSQL_ABI_CHECK \
52                           -I$(top_srcdir)/include \
53                           -I$(top_srcdir)/include/mysql \
54                           -I$(top_srcdir)/sql \
55 Index: mysql-5.1.40/include/mysql.h
56 ===================================================================
57 --- mysql-5.1.40.orig/include/mysql.h   2009-10-07 01:46:50.000000000 +0800
58 +++ mysql-5.1.40/include/mysql.h        2010-08-17 20:07:24.843148001 +0800
59 @@ -44,7 +44,9 @@
60  #endif
61  
62  #ifndef _global_h                              /* If not standard header */
63 +#ifndef MYSQL_ABI_CHECK
64  #include <sys/types.h>
65 +#endif
66  #ifdef __LCC__
67  #include <winsock2.h>                          /* For windows */
68  #endif
69 Index: mysql-5.1.40/include/mysql.h.pp
70 ===================================================================
71 --- mysql-5.1.40.orig/include/mysql.h.pp        2009-10-07 01:46:50.000000000 +0800
72 +++ mysql-5.1.40/include/mysql.h.pp     2010-08-17 20:07:24.843148001 +0800
73 @@ -1,4 +1,3 @@
74 -#include <sys/types.h>
75  typedef char my_bool;
76  typedef int my_socket;
77  #include "mysql_version.h"