Просмотр исходного кода

Detect if check_mysql compile will work at ./configure time, due to some
Redhat systems distributing mysql_config, but not the include files


git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1627 f882894a-f735-0410-b71e-b25c423dba1c

Ton Voon 19 лет назад
Родитель
Сommit
1843480533
2 измененных файлов с 13 добавлено и 4 удалено
  1. 1 0
      NEWS
  2. 12 4
      configure.in

+ 1 - 0
NEWS

@@ -3,6 +3,7 @@ This file documents the major additions and syntax changes between releases.
 ??    ??
 	Fixed MKINSTALLDIRS problem in po/
 	Root plugins installed with world executable
+	./configure now detects if possible to compile check_mysql
 	check_sybase from contrib now maintained in NagiosExchange
 
 1.4.6 5th February 2007

+ 12 - 4
configure.in

@@ -242,23 +242,31 @@ if test $with_mysql != "no" ; then
     AC_MSG_WARN([Skipping mysql plugin])
     AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
   else
-    with_mysql=$MYSQLCONFIG
-    EXTRAS="$EXTRAS check_mysql check_mysql_query"
     MYSQLINCLUDE=`$MYSQLCONFIG --include`
     # Mysql 3 does not support --include. --cflags should be sufficient
     if test $? -ne 0 ; then
       MYSQLINCLUDE=""
+      TEMP_INCLUDE="-I$with_mysql/include"	# Guessed location
+    else
+      TEMP_INCLUDE=$MYSQLINCLUDE
     fi
     MYSQLLIBS=`$MYSQLCONFIG --libs`
     MYSQLCFLAGS=`$MYSQLCONFIG --cflags`
     AC_SUBST(MYSQLINCLUDE)
     AC_SUBST(MYSQLLIBS)
     AC_SUBST(MYSQLCFLAGS)
+    dnl Test for mysqlclient. Some redhat systems have mysql_config, but no headers
+    _SAVEDCPPFLAGS=$CPPFLAGS
+    _SAVEDLDFLAGS="$LDFLAGS"
+    CPPFLAGS="$CPPFLAGS $TEMP_INCLUDE"
+    LDFLAGS="$LDFLAGS $MYSQLLIBS"
+    AC_CHECK_LIB([mysqlclient], [mysql_init], [with_mysql=$MYSQLCONFIG
+EXTRAS="$EXTRA check_mysql check_mysql_query"], [with_mysql="not found"])
+    CPPFLAGS=$_SAVEDCPPFLAGS
+    LDFLAGS=$_SAVEDLDFLAGS
   fi
 fi
 
-AC_CHECK_HEADERS(unistd.h)
-
 dnl Check for AF_INET6 support - unistd.h required for Darwin
 AC_CACHE_CHECK([for IPv6 support], with_ipv6, [
 	AC_TRY_COMPILE([#ifdef HAVE_UNISTD_H