]>
Commit | Line | Data |
---|---|---|
f4952e6f AM |
1 | Index: /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 | |
51 | Index: /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 | |
91 | Index: /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 | |
105 | Index: /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 | |
124 | Index: /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 | |
134 | Index: /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 | |
152 | Index: /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 |