summaryrefslogtreecommitdiffstats
path: root/source/l/apr-util/apr-util-mariadb-upstream.patch
blob: dd1c5a3aa0d295a0eb00366997c23e21858adf12 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Upstream patch for building with mariadb:
Taken from https://bz.apache.org/bugzilla/show_bug.cgi?id=61517
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1494093

--- a/build/dbd.m4	2017-05-03 19:18:52.000000000 -0400
+++ a/build/dbd.m4	2017-09-13 16:58:07.369546391 -0400
@@ -163,10 +163,15 @@ 
   old_cppflags="$CPPFLAGS"
   old_ldflags="$LDFLAGS"
 
+  my_library="mysqlclient"
+
   AC_ARG_WITH([mysql], APR_HELP_STRING([--with-mysql=DIR], [enable MySQL DBD driver]),
   [
     if test "$withval" = "yes"; then
       AC_PATH_PROG([MYSQL_CONFIG],[mysql_config])
+      if test "x$MYSQL_CONFIG" = "x"; then
+        AC_PATH_PROG([MYSQL_CONFIG],[mariadb_config])
+      fi
       if test "x$MYSQL_CONFIG" != 'x'; then
         mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
         mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
@@ -174,32 +179,40 @@ 
 
         APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS])
         APR_ADDTO(LIBS, [$mysql_LIBS])
+
+	if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
+	  my_library="mariadb"
+	fi
       fi
 
-      AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
-                       AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-                       [apu_have_mysql=0; break],
-                       [#include <my_global.h>])
-      if test "$apu_have_mysql" = "0"; then
-        AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
-                         AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-                         [apu_have_mysql=0; break],
-                         [#include <mysql/my_global.h>])
+      AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
+      if test "$apr_have_mysql" = "0"; then
+	AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
       fi
-      if test "$apu_have_mysql" != "0" && test "x$MYSQL_CONFIG" != 'x'; then
-        APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
+      if test "$apr_have_mysql" = "1"; then
+	AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
+	AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
+      fi
+      if test "$apu_have_mysql" = "1" && test "x$MYSQL_CONFIG" != 'x'; then
+	APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
       fi
     elif test "$withval" = "no"; then
       :
     else
       AC_PATH_PROG([MYSQL_CONFIG],[mysql_config],,[$withval/bin])
+      if test "x$MYSQL_CONFIG" = "x"; then
+	AC_PATH_PROG([MYSQL_CONFIG],[mariadb_config],,[$withval/bin])
+      fi
       if test "x$MYSQL_CONFIG" != 'x'; then
-        mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
-        mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
-        mysql_LIBS="`$MYSQL_CONFIG --libs_r`"
+	mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
+	mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
+	mysql_LIBS="`$MYSQL_CONFIG --libs_r`"
+	if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
+	  my_library="mariadb"
+	fi
       else
-        mysql_CPPFLAGS="-I$withval/include"
-        mysql_LDFLAGS="-L$withval/lib "
+	mysql_CPPFLAGS="-I$withval/include"
+	mysql_LDFLAGS="-L$withval/lib "
       fi
 
       APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS])
@@ -207,18 +220,15 @@ 
       APR_ADDTO(LIBS, [$mysql_LIBS])
 
       AC_MSG_NOTICE(checking for mysql in $withval)
-      AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
-                       AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-                       [apu_have_mysql=0; break],
-                       [#include <my_global.h>])
-
-      if test "$apu_have_mysql" != "1"; then
-        AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
-                         AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-                         [apu_have_mysql=0; break],
-                         [#include <mysql/my_global.h>])
+      AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
+      if test "$apr_have_mysql" = "0"; then
+	AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
+      fi
+      if test "$apr_have_mysql" = "1"; then
+	AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
+	AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
       fi
-      if test "$apu_have_mysql" != "0"; then
+      if test "$apu_have_mysql" = "1"; then
         APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
       fi
     fi
@@ -229,7 +239,7 @@ 
   dnl Since we have already done the AC_CHECK_LIB tests, if we have it, 
   dnl we know the library is there.
   if test "$apu_have_mysql" = "1"; then
-    APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -lmysqlclient $mysql_LIBS])
+    APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -l$my_library $mysql_LIBS])
   fi
   AC_SUBST(LDADD_dbd_mysql)
 
--- a/dbd/apr_dbd_mysql.c	2017-05-03 19:18:52.000000000 -0400
+++ a/dbd/apr_dbd_mysql.c	2017-09-13 19:15:20.894368809 -0400
@@ -1262,7 +1262,9 @@ 
 
 static void dbd_mysql_init(apr_pool_t *pool)
 {
+#if MYSQL_VERSION_ID < 100000
     my_init();
+#endif
     mysql_thread_init();
 
     /* FIXME: this is a guess; find out what it really does */