From ab1ac8ba7570005c169e7aa772762b55d354e07d Mon Sep 17 00:00:00 2001 From: Edward Rudd Date: Tue, 23 Dec 2003 19:49:56 +0000 Subject: update autoconf scripts to check MySQL.. moved autoconf DEFUN macros to m4 subdirectory autogen.sh calls aclocal to include m4 directory. merged in changes from 1.19b1 fixed log_sql_merge_config bug in 1.19b1 release 1.91 --- m4/apache.m4 | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ m4/mysql.m4 | 64 ++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+) create mode 100644 m4/apache.m4 create mode 100644 m4/mysql.m4 (limited to 'm4') diff --git a/m4/apache.m4 b/m4/apache.m4 new file mode 100644 index 0000000..b74f335 --- /dev/null +++ b/m4/apache.m4 @@ -0,0 +1,128 @@ +dnl CHECK_PATH_APACHE([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl Test for Apache apxs +dnl +AC_DEFUN(CHECK_PATH_APACHE, +[dnl +AC_ARG_WITH( + apache, + [ --with-apache[=DIR] Apache install root], + apache_prefix="$withval", + apache_prefix="/usr" + ) +AC_ARG_ENABLE(apachetest, [ --disable-apachetest Do not try to compile and run apache version test program], + , enable_apachetest=yes) + + + AC_REQUIRE([AC_CANONICAL_TARGET]) + PATH="$apache_prefix:$apache_prefix/bin:$apache_prefix/sbin:$PATH" + AC_PATH_PROG(APXS_BIN, apxs, no, [$PATH]) + min_apache_version=ifelse([$1], ,1.3.1,$1) + AC_MSG_CHECKING(for Apache - version >= $min_apache_version) + no_apxs="" + if test "$APXS_BIN" == "no"; then + no_apxs=yes + else + APACHE_INCDIR=`$APXS_BIN -q INCLUDEDIR` + APACHE_CFLAGS=-I$APACHE_INCDIR + APACHE_MODDIR=`$APXS_BIN -q LIBEXECDIR` + + if test "x$enable_apachetest" = "xyes" ; then + ac_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $APACHE_CFLAGS" + AC_TRY_RUN([ +#include +#include +#include +#include "httpd.h" + +#ifndef AP_SERVER_BASEREVISION + #define AP_SERVER_BASEREVISION SERVER_BASEREVISION +#endif + +char* my_strdup (char *str) +{ + char *new_str; + + if (str) { + new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); + strcpy (new_str, str); + } else + new_str = NULL; + + return new_str; +} + +int main (int argc, char *argv[]) +{ + int major1, minor1, micro1; + int major2, minor2, micro2; + char *tmp_version; + + { FILE *fp = fopen("conf.apachetest", "a"); if ( fp ) fclose(fp); } + + tmp_version = my_strdup("$min_apache_version"); + if (sscanf(tmp_version, "%d.%d.%d", &major1, &minor1, µ1) != 3) { + printf("%s, bad version string\n", "$min_apache_version"); + exit(1); + } + tmp_version = my_strdup(AP_SERVER_BASEREVISION); + if (sscanf(tmp_version, "%d.%d.%d", &major2, &minor2, µ2) != 3) { + printf("%s, bad version string\n", AP_SERVER_BASEREVISION); + exit(1); + } + if ((major2 > major1) || + ((major2 == major1) && (minor2 > minor1)) || + ((major2 == major1) && (minor2 == minor1) && (micro2 >= micro1))) + { + return 0; + } else { + printf("\n*** This module requires apache version %d.%d.%d or greater\n", + major1, minor1, micro1); + printf("*** I found version %d.%d.%d. Please verify the installation directory\n", + major2, minor2, micro2); + printf("*** of apache with the --with-apache configure option.\n"); + return 1; + } +} + +],, no_apxs=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + fi + fi + if test "x$no_apxs" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + AC_MSG_RESULT(no) + if test "APXS_BIN" = "no" ; then + echo "*** The apxs binary installed by apache could not be found" + echo "*** If apache is installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or use the --with-apache configure option" + else + if test -f conf.apachetest ; then + : + else + echo "*** Could not run Apache test program, checking why..." + CFLAGS="$CFLAGS APACHE_CFLAGS" + AC_TRY_LINK([ +#include +#include "httpd.h" + +int main(int argc, char *argv[]) +{ return 0; } +#undef main +#define main K_and_R_C_main +], [ return 0; ], + [ echo "*** The test program compiled, but failed to run. Check config.log" ], + [ echo "*** The test program failed to compile or link. Check config.log" ]) + CFLAGS="$ac_save_CFLAGS" + fi + fi + APACHE_CFLAGS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(APACHE_CFLAGS) + AC_SUBST(APACHE_INCDIR) + AC_SUBST(APACHE_MODDIR) + rm -f conf.apachetest +]) diff --git a/m4/mysql.m4 b/m4/mysql.m4 new file mode 100644 index 0000000..c4c4a3b --- /dev/null +++ b/m4/mysql.m4 @@ -0,0 +1,64 @@ +dnl CHECK_PATH_MYSQL([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUNT]]) +dnl Check for MySQL Libs +dnl +AC_DEFUN(CHECK_PATH_MYSQL, +[dnl +AC_ARG_WITH( + mysql, + [AC_HELP_STRING([--with-mysql],[Path to MySQL client library])], + mysql_prefix="$withval", + + ) +AC_ARG_ENABLE( + mysqltest, + [AC_HELP_STRING([--disble-mysqltest],[Do not try to compile and run mysql test program])], + , + enable_apachetest=yes) + + AC_REQUIRE([AC_CANONICAL_TARGET]) + ac_save_CFLAGS=$CFLAGS + ac_save_LDFLAGS=$LDFLAGS + if test "x$mysql_prefix" != "x" && test "x$mysql_prefix" != "xyes"; then + MYSQL_LDFLAGS="-L${mysql_prefix}/lib -L${mysql_prefix}/lib/mysql -L${mysql_prefix}/mysql/lib" + MYSQL_CFLAGS="-I${mysql_prefix}/include -I${mysql_prefix}/include/mysql -I${mysql_prefix}/mysql/include" + else + MYSQL_LDFLAGS="-L/usr/local/mysql/lib -L/usr/lib/mysql -L/usr/mysql/lib -L/usr/local/lib/mysql -L/usr/local/mysql/lib/mysql -L/usr/mysql/lib/mysql" + MYSQL_CFLAGS="-I/usr/local/mysql/include -I/usr/include/mysql -I/usr/mysql/include -I/usr/local/include/mysql -I/usr/local/mysql/include/mysql -I/usr/mysql/include/mysql" + fi + CFLAGS="$CFLAGS $MYSQL_CFLAGS" + LDFLAGS="$LDFLAGS $MYSQL_LDFLAGS" + AC_CHECK_LIB(m, floor) + AC_CHECK_LIB(z, gzclose) + with_mysql="yes" + AC_DEFINE(WITH_MYSQL,,[with mysql]) + AC_CHECK_LIB(mysqlclient, mysql_init, , + [AC_MSG_ERROR(libmysqlclient is needed for MySQL support)]) + MYSQL_LIBS=$LIBS + AC_CHECK_FUNCS(mysql_real_escape_string) + AC_MSG_CHECKING(whether mysql clients can run) + AC_TRY_RUN([ + #include + #include + int main(void) + { + MYSQL *a = mysql_init(NULL); + return 0; + } + ], , no_mysql=yes,[echo $ac_n "cross compiling; assumed OK.... $ac_c"]) + CFLAGS=$ac_save_CFLAGS + LDFLAGS=$ac_save_LDFLAGS + if test "x$no_mysql" = x; then + AC_MSG_RESULT(yes) + ifelse([$1], , :, [$1]) + else + AC_MSG_RESULT(no) + echo "*** MySQL could not be found ***" + MYSQL_CFLAGS="" + MYSQL_LDFLAGS="" + MYSQL_LIBS="" + ifelse([$2], , :, [$2]) + fi + AC_SUBST(MYSQL_LDFLAGS) + AC_SUBST(MYSQL_CFLAGS) + AC_SUBST(MYSQL_LIBS) +]) -- cgit