]> git.pld-linux.org Git - packages/gdal.git/blame - gdal-bug-5284.patch
- release 6 (by relup.sh)
[packages/gdal.git] / gdal-bug-5284.patch
CommitLineData
f4952e6f
AM
1Index: /trunk/gdal/configure\r
2===================================================================\r
3--- /trunk/gdal/configure (revision 26534)\r
4+++ /trunk/gdal/configure (revision 26582)\r
5@@ -723,4 +723,5 @@\r
6 II_SYSTEM\r
7 HAVE_INGRES\r
8+MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION\r
9 MYSQL_LIB\r
10 MYSQL_INC\r
11@@ -23308,4 +23309,32 @@\r
12 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5\r
13 $as_echo "yes" >&6; }\r
14+\r
15+ # Check if mysql headers declare load_defaults\r
16+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking load_defaults() in MySQL" >&5\r
17+$as_echo_n "checking load_defaults() in MySQL... " >&6; }\r
18+ rm -f testmysql.*\r
19+ echo '#include "my_global.h"' > testmysql.cpp\r
20+ echo '#include "my_sys.h"' >> testmysql.cpp\r
21+ echo 'int main(int argc, char** argv) { load_defaults(0, 0, 0, 0); return 0; } ' >> testmysql.cpp\r
22+ if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} ${MYSQL_LIB} testmysql.cpp -o testmysql 2>&1`" ; then\r
23+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, found in my_sys.h" >&5\r
24+$as_echo "yes, found in my_sys.h" >&6; }\r
25+ else\r
26+ echo 'extern "C" void load_defaults(const char *conf_file, const char **groups, int *argc, char ***argv);' > testmysql.cpp\r
27+ echo 'int main(int argc, char** argv) { load_defaults(0, 0, 0, 0); return 0; } ' >> testmysql.cpp\r
28+ if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} ${MYSQL_LIB} testmysql.cpp -o testmysql 2>&1`" ; then\r
29+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, found in library but not in header" >&5\r
30+$as_echo "yes, found in library but not in header" >&6; }\r
31+ MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION=yes\r
32+ else\r
33+ HAVE_MYSQL=no\r
34+ MYSQL_LIB=\r
35+ MYSQL_INC=\r
36+ as_fn_error $? "Cannot find load_defaults()" "$LINENO" 5\r
37+ fi\r
38+ fi\r
39+ rm -f testmysql.*\r
40+ rm -f testmysql\r
41+\r
42 ;;\r
43 esac\r
44@@ -23317,4 +23346,6 @@\r
45 \r
46 MYSQL_LIB=$MYSQL_LIB\r
47+\r
48+MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION=$MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION\r
49 \r
50 \r
51Index: /trunk/gdal/configure.in\r
52===================================================================\r
53--- /trunk/gdal/configure.in (revision 26534)\r
54+++ /trunk/gdal/configure.in (revision 26582)\r
55@@ -2462,4 +2462,29 @@\r
56 MYSQL_INC="`$MYSQL_CONFIG --include`"\r
57 AC_MSG_RESULT([yes])\r
58+\r
59+ # Check if mysql headers declare load_defaults\r
60+ AC_MSG_CHECKING([load_defaults() in MySQL])\r
61+ rm -f testmysql.*\r
62+ echo '#include "my_global.h"' > testmysql.cpp\r
63+ echo '#include "my_sys.h"' >> testmysql.cpp\r
64+ echo 'int main(int argc, char** argv) { load_defaults(0, 0, 0, 0); return 0; } ' >> testmysql.cpp\r
65+ if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} ${MYSQL_LIB} testmysql.cpp -o testmysql 2>&1`" ; then\r
66+ AC_MSG_RESULT([yes, found in my_sys.h])\r
67+ else\r
68+ echo 'extern "C" void load_defaults(const char *conf_file, const char **groups, int *argc, char ***argv);' > testmysql.cpp\r
69+ echo 'int main(int argc, char** argv) { load_defaults(0, 0, 0, 0); return 0; } ' >> testmysql.cpp\r
70+ if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} ${MYSQL_LIB} testmysql.cpp -o testmysql 2>&1`" ; then\r
71+ AC_MSG_RESULT([yes, found in library but not in header])\r
72+ MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION=yes\r
73+ else\r
74+ HAVE_MYSQL=no\r
75+ MYSQL_LIB=\r
76+ MYSQL_INC=\r
77+ AC_MSG_ERROR([Cannot find load_defaults()])\r
78+ fi\r
79+ fi\r
80+ rm -f testmysql.*\r
81+ rm -f testmysql\r
82+\r
83 ;;\r
84 esac\r
85@@ -2469,4 +2494,5 @@\r
86 AC_SUBST(MYSQL_INC,$MYSQL_INC)\r
87 AC_SUBST(MYSQL_LIB,$MYSQL_LIB)\r
88+AC_SUBST(MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION,$MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION)\r
89 \r
90 dnl ---------------------------------------------------------------------------\r
91Index: /trunk/gdal/ogr/ogrsf_frmts/mysql/GNUmakefile\r
92===================================================================\r
93--- /trunk/gdal/ogr/ogrsf_frmts/mysql/GNUmakefile (revision 15888)\r
94+++ /trunk/gdal/ogr/ogrsf_frmts/mysql/GNUmakefile (revision 26582)\r
95@@ -8,4 +8,9 @@\r
96 CPPFLAGS := -I.. -I../.. $(GDAL_INCLUDE) $(MYSQL_INC) $(CPPFLAGS)\r
97 \r
98+ifeq ($(MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION),yes)\r
99+CPPFLAGS += -DMYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION\r
100+endif\r
101+\r
102+\r
103 default: $(O_OBJ:.o=.$(OBJ_EXT))\r
104 \r
105Index: /trunk/gdal/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp\r
106===================================================================\r
107--- /trunk/gdal/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp (revision 26506)\r
108+++ /trunk/gdal/ogr/ogrsf_frmts/mysql/ogrmysqldatasource.cpp (revision 26582)\r
109@@ -37,4 +37,14 @@\r
110 #include "cpl_string.h"\r
111 \r
112+/* Recent versions of mysql no longer declare load_defaults() in my_sys.h */\r
113+/* but they still have it in the lib. Very fragile... */\r
114+#ifdef MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION\r
115+extern "C" {\r
116+int load_defaults(const char *conf_file, const char **groups,\r
117+ int *argc, char ***argv);\r
118+void free_defaults(char **argv);\r
119+}\r
120+#endif\r
121+\r
122 CPL_CVSID("$Id$");\r
123 /************************************************************************/\r
124Index: /trunk/gdal/GDALmake.opt.in\r
125===================================================================\r
126--- /trunk/gdal/GDALmake.opt.in (revision 26296)\r
127+++ /trunk/gdal/GDALmake.opt.in (revision 26582)\r
128@@ -127,4 +127,5 @@\r
129 MYSQL_LIB = @MYSQL_LIB@\r
130 MYSQL_INC = @MYSQL_INC@\r
131+MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION = @MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION@\r
132 LIBS += $(MYSQL_LIB)\r
133 \r
134Index: /trunk/gdal/configure\r
135===================================================================\r
136--- /trunk/gdal/configure (revision 26582)\r
137+++ /trunk/gdal/configure (revision 26583)\r
138@@ -23317,5 +23317,5 @@\r
139 echo '#include "my_sys.h"' >> testmysql.cpp\r
140 echo 'int main(int argc, char** argv) { load_defaults(0, 0, 0, 0); return 0; } ' >> testmysql.cpp\r
141- if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} ${MYSQL_LIB} testmysql.cpp -o testmysql 2>&1`" ; then\r
142+ if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} -o testmysql testmysql.cpp ${MYSQL_LIB} 2>&1`" ; then\r
143 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, found in my_sys.h" >&5\r
144 $as_echo "yes, found in my_sys.h" >&6; }\r
145@@ -23323,5 +23323,5 @@\r
146 echo 'extern "C" void load_defaults(const char *conf_file, const char **groups, int *argc, char ***argv);' > testmysql.cpp\r
147 echo 'int main(int argc, char** argv) { load_defaults(0, 0, 0, 0); return 0; } ' >> testmysql.cpp\r
148- if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} ${MYSQL_LIB} testmysql.cpp -o testmysql 2>&1`" ; then\r
149+ if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} -o testmysql testmysql.cpp ${MYSQL_LIB} 2>&1`" ; then\r
150 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, found in library but not in header" >&5\r
151 $as_echo "yes, found in library but not in header" >&6; }\r
152Index: /trunk/gdal/configure.in\r
153===================================================================\r
154--- /trunk/gdal/configure.in (revision 26582)\r
155+++ /trunk/gdal/configure.in (revision 26583)\r
156@@ -2469,10 +2469,10 @@\r
157 echo '#include "my_sys.h"' >> testmysql.cpp\r
158 echo 'int main(int argc, char** argv) { load_defaults(0, 0, 0, 0); return 0; } ' >> testmysql.cpp\r
159- if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} ${MYSQL_LIB} testmysql.cpp -o testmysql 2>&1`" ; then\r
160+ if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} -o testmysql testmysql.cpp ${MYSQL_LIB} 2>&1`" ; then\r
161 AC_MSG_RESULT([yes, found in my_sys.h])\r
162 else\r
163 echo 'extern "C" void load_defaults(const char *conf_file, const char **groups, int *argc, char ***argv);' > testmysql.cpp\r
164 echo 'int main(int argc, char** argv) { load_defaults(0, 0, 0, 0); return 0; } ' >> testmysql.cpp\r
165- if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} ${MYSQL_LIB} testmysql.cpp -o testmysql 2>&1`" ; then\r
166+ if test -z "`${CXX} ${CXXFLAGS} ${MYSQL_INC} -o testmysql testmysql.cpp ${MYSQL_LIB} 2>&1`" ; then\r
167 AC_MSG_RESULT([yes, found in library but not in header])\r
168 MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION=yes\r
This page took 0.051514 seconds and 4 git commands to generate.