1 Index: /trunk/gdal/configure
\r
2 ===================================================================
\r
3 --- /trunk/gdal/configure (revision 26534)
\r
4 +++ /trunk/gdal/configure (revision 26582)
\r
8 +MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION
\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
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
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
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
36 + as_fn_error $? "Cannot find load_defaults()" "$LINENO" 5
\r
44 @@ -23317,4 +23346,6 @@
\r
46 MYSQL_LIB=$MYSQL_LIB
\r
48 +MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION=$MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION
\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
59 + # Check if mysql headers declare load_defaults
\r
60 + AC_MSG_CHECKING([load_defaults() in MySQL])
\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
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
77 + AC_MSG_ERROR([Cannot find load_defaults()])
\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
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
96 CPPFLAGS := -I.. -I../.. $(GDAL_INCLUDE) $(MYSQL_INC) $(CPPFLAGS)
\r
98 +ifeq ($(MYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION),yes)
\r
99 +CPPFLAGS += -DMYSQL_NEEDS_LOAD_DEFAULTS_DECLARATION
\r
103 default: $(O_OBJ:.o=.$(OBJ_EXT))
\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
110 #include "cpl_string.h"
\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
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
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
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
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