From 5cff695e9eb8405efbdfa976f1fad965c55436e8 Mon Sep 17 00:00:00 2001
From: Michael Orlitzky <michael@orlitzky.com>
Date: Fri, 6 Mar 2020 16:24:10 -0500
Subject: [PATCH 1/1] configure.ac: attempt mysql_config to find the MySQL
 headers.

When building with MySQL support, the configure script guesses that
the path to the MySQL headers is /usr/include/mysql. That is usually
correct, but when people install MySQL to a nonstandard location such
as /home/mjo/usr, it falls over. Fortunately, MySQL usually provides
an executable called "mysql_config" that can output the location of
its headers.

In such a "local" installation, if I prepend /home/mjo/usr/bin to my
PATH, then running "mysql_config" will execute the mysql_config from
/home/mjo/usr/bin and will therefore output -I/home/mjo/usr/include as
the preprocessor flag that glpk needs. That's the right thing to do,
and it works just as well for a system install under /usr or
/usr/local.

This commit attempts to find the headers using mysql_config first,
and falls back to the location /usr/include/mysql.

Gentoo-bug: https://bugs.gentoo.org/597620
---
 configure.ac | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 96c4cc5..d20a6ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -145,7 +145,10 @@ if test "$enable_mysql" = "yes"; then
       AC_MSG_ERROR([--enable-mysql requires --enable-dl])
    fi
    AC_MSG_RESULT([yes])
-   CPPFLAGS="-I/usr/include/mysql $CPPFLAGS"
+   # Guess at the include directory if mysql_config isn't in our PATH.
+   MYSQL_INCLUDE=$(mysql_config --include 2>/dev/null)
+   test -z "${MYSQL_INCLUDE}" && MYSQL_INCLUDE="-I/usr/include/mysql"
+   CPPFLAGS="${MYSQL_INCLUDE} $CPPFLAGS"
    AC_DEFINE_UNQUOTED([MYSQL_DLNAME], ["$LIBMYSQL"], [N/A])
 else
    AC_MSG_RESULT([no])
-- 
2.24.1