diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 11:48:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 11:48:22 +0000 |
commit | 7373ce3d6988706388f136e1c06afd20a3e8d5be (patch) | |
tree | e9ae5af7d102667e5706187646db45de8238e8c4 /m4/np_mysqlclient.m4 | |
parent | Initial commit. (diff) | |
download | monitoring-plugins-7373ce3d6988706388f136e1c06afd20a3e8d5be.tar.xz monitoring-plugins-7373ce3d6988706388f136e1c06afd20a3e8d5be.zip |
Adding upstream version 2.3.5.upstream/2.3.5upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'm4/np_mysqlclient.m4')
-rw-r--r-- | m4/np_mysqlclient.m4 | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/m4/np_mysqlclient.m4 b/m4/np_mysqlclient.m4 new file mode 100644 index 0000000..9fe38ac --- /dev/null +++ b/m4/np_mysqlclient.m4 @@ -0,0 +1,93 @@ +# np_mysqlclient.m4 +dnl Copyright (C) 2007 Monitoring Plugins Team +dnl This file is free software; the Monitoring Plugins Team +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Test for mysql availability using mysql_config +dnl Uses --with-mysql= yes(autodetection - default) | no | path +dnl Sets 4 variables: +dnl with_mysql = path/to/mysql_config (if found and can compile mysqlclient) or "no" +dnl np_mysql_include = flags for include, from mysql_config --include (will be guessed as $with_mysql/include if --include not found) +dnl np_mysql_libs = flags for libs, from mysql_config --libs +dnl np_mysql_cflags = flags for cflags, from mysql_config --cflags +dnl Also sets in config.h: +dnl HAVE_MYSQLCLIENT +dnl Compile your code with: +dnl $(CC) $(np_mysql_include) code.c $(np_mysql_libs) + +AC_DEFUN([np_mysqlclient], +[ + AC_ARG_WITH(mysql, + AS_HELP_STRING([--with-mysql=DIR], + [Locates mysql libraries. Expects DIR/bin/mysql_config. Default to search for mysql_config in PATH]), + with_mysql=$withval, + with_mysql=yes) + + if test "x$with_mysql" != "xno" ; then + if test "x$with_mysql" = "xyes" ; then + AC_PATH_PROG(np_mysql_config, mysql_config) + else + if test -x $with_mysql/bin/mysql_config ; then + np_mysql_config="$with_mysql/bin/mysql_config" + fi + fi + if test -z "$np_mysql_config"; then + with_mysql="no" + else + np_mysql_include="`$np_mysql_config --include`" + # Mysql 3 does not support --include. --cflags should be sufficient + if test $? -ne 0; then + np_mysql_include="-I$with_mysql/include" # Guessed location + fi + np_mysql_libs="`$np_mysql_config --libs`" + np_mysql_cflags="`$np_mysql_config --cflags`" + # On Solaris, cflags may contain -xstrconst, which is not acceptable to the + # gcc compiler. In this case, use the include flags as the cflags + echo $np_mysql_cflags | grep -- -xstrconst > /dev/null 2> /dev/null + if test $? -eq 0 -a "$CC" = "gcc" ; then + np_mysql_cflags="`$np_mysql_config --include`" + fi + + dnl Test a mysql_init. Some systems have mysql_config, but no headers + _savedcppflags="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $np_mysql_include" + + np_check_lib_mysqlclient + + CPPFLAGS=$_savedcppflags + + fi + fi +]) + +dnl Test mysql_init using mysqlclient +AC_DEFUN([np_check_lib_mysqlclient], +[ + dnl Putting $np_mysql_libs as other libraries ensures that all mysql dependencies are linked in + dnl Although -lmysqlclient is duplicated, it is not a problem + AC_CHECK_LIB([mysqlclient], [mysql_init], [ + with_mysql=$np_mysql_config + AC_DEFINE(HAVE_MYSQLCLIENT, 1, [Defined if mysqlclient is found and can compile]) + ], [np_check_lib_mariadbclient], [$np_mysql_libs]) +]) + +dnl Test mysql_init using mariadbclient +AC_DEFUN([np_check_lib_mariadbclient], +[ + AC_CHECK_LIB([mariadbclient], [mysql_init], [ + with_mysql=$np_mysql_config + AC_DEFINE(HAVE_MYSQLCLIENT, 1, [Defined if mariadbclient is found and can compile]) + ], [with_mysql=no], [$np_mysql_libs]) +]) + +dnl Will take $1, find last occurrence of -LDIR and add DIR to LD_RUN_PATH +AC_DEFUN([np_add_to_runpath], +[ + dnl Need [[ ]] so autoconf gives us just one set + np_libdir=`echo "$1" | sed -e 's/.*-L\([[^ ]]*\) .*/\1/'` + if test "x$np_libdir" != x ; then + LD_RUN_PATH="${np_libdir}${LD_RUN_PATH:+:}${LD_RUN_PATH}" + fi +]) + |