ab6aec1997-02-11Fredrik Hübinette (Hubbe) #
147f382000-09-12Fredrik Noring # $Id: configure.in,v 1.17 2000/09/12 13:12:11 noring Exp $
ab6aec1997-02-11Fredrik Hübinette (Hubbe) # # Configure script for the mysql-module #
147f382000-09-12Fredrik Noring # Henrik Grubbström
ab6aec1997-02-11Fredrik Hübinette (Hubbe) # # # NOTE: # Prior to 3.20.0 After 3.20.0 # -------------------------------------------------------------- # /usr/local/mysql/mach-lib-threads /usr/local/lib/mysql # /usr/local/mysql/include /usr/local/include/mysql # libmysql.a libmysqllib.a # libstrings.a libmystrings.a # AC_INIT(mysql.c) AC_CONFIG_HEADER(config.h)
e269811998-09-20Fredrik Hübinette (Hubbe) AC_MODULE_INIT()
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  OLD_LIBS=$LIBS OLD_LDFLAGS=$LDFLAGS OLD_CPPFLAGS=$CPPFLAGS MYSQL_LIBS="" AC_ARG_WITH(mysql, [ --without-mysql no support for the Mysql database],[],[with_mysql=yes])
9d53421998-10-20Henrik Grubbström (Grubba) if test x$with_mysql = xno; then : else AC_MSG_CHECKING(for Mysql lib-directory)
ab6aec1997-02-11Fredrik Hübinette (Hubbe) 
2a9fc51999-11-21Mikael Brandström  libdirs="/usr/local/lib/mysql /usr/local/mysql/lib/mysql /opt/lib/mysql /opt/mysql/lib/mysql /usr/gnu/lib/mysql /usr/lib/mysql /lib/mysql /usr/local/mysql/lib /usr/local/mysql/mach-lib-thread no" incdirs="/usr/local/include/mysql /usr/local/mysql/include/mysql /opt/include/mysql /opt/mysql/include/mysql /usr/gnu/include/mysql /usr/include/mysql /include/mysql /usr/local/mysql/include no"
7e2be31999-02-07Henrik Grubbström (Grubba)  if test x$with_mysql = xyes; then :; else # Mysql installation directory specified. libdirs="$with_mysql/lib/mysql $with_mysql/lib $libdirs" incdirs="$with_mysql/include/mysql $with_mysql/include $incdirs" fi
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  AC_CACHE_VAL(pike_cv_mysql_lib_dir, [
7e2be31999-02-07Henrik Grubbström (Grubba)  for pike_cv_mysql_lib_dir in $libdirs; do
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  if test -d $pike_cv_mysql_lib_dir/.; then break else : fi done ]) AC_MSG_RESULT($pike_cv_mysql_lib_dir) if test x$pike_cv_mysql_lib_dir = xno; then :; else echo Adding $pike_cv_mysql_lib_dir to the library search path.
3b4b3a1998-09-25Henrik Grubbström (Grubba)  LDFLAGS="-R$pike_cv_mysql_lib_dir -L$pike_cv_mysql_lib_dir ${LDFLAGS}"
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  fi
9d53421998-10-20Henrik Grubbström (Grubba)  AC_MSG_CHECKING(for Mysql include-directory)
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  AC_CACHE_VAL(pike_cv_mysql_include_dir, [
7e2be31999-02-07Henrik Grubbström (Grubba)  for pike_cv_mysql_include_dir in $incdirs; do
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  if test -d $pike_cv_mysql_include_dir/.; then break else : fi done ]) AC_MSG_RESULT($pike_cv_mysql_include_dir) if test x$pike_cv_mysql_include_dir = xno; then :; else echo Adding $pike_cv_mysql_include_dir to the include search path. CPPFLAGS="-I$pike_cv_mysql_include_dir ${CPPFLAGS}" fi # Header file
13e37c2000-01-03Henrik Grubbström (Grubba)  AC_CHECK_HEADERS(winsock.h mysql.h mysql/mysql.h errmsg.h mysql/errmsg.h)
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  # Mysql libs
5251601997-04-03Henrik Grubbström (Grubba)  pike_cv_mysql="unknown"
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  AC_CHECK_LIB(mystrings, bchange, [ LIBS="-lmystrings $LIBS" MYSQL_LIBS="-lmystrings ${MYSQL_LIBS}" pike_cv_mysql="post3.20" ], [ AC_CHECK_LIB(strings, bchange, [ LIBS="-lstrings $LIBS" MYSQL_LIBS="-lstrings ${MYSQL_LIBS}" pike_cv_mysql="pre3.20" ], []) ]) AC_MSG_CHECKING(Mysql version) AC_MSG_RESULT($pike_cv_mysql)
5251601997-04-03Henrik Grubbström (Grubba)  # System libs which might be needed
ab6aec1997-02-11Fredrik Hübinette (Hubbe) 
5251601997-04-03Henrik Grubbström (Grubba)  if echo $LIBS|grep -- -lsocket >&5 2>&5; then :
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  else
5251601997-04-03Henrik Grubbström (Grubba)  AC_CHECK_LIB(socket, socket, [ LIBS="-lsocket $LIBS" MYSQL_LIBS="-lsocket ${MYSQL_LIBS}" ], []) fi if echo $LIBS|grep -- -lnsl >&5 2>&5; then : else AC_CHECK_LIB(nsl, gethostbyname, [ LIBS="-lnsl $LIBS" MYSQL_LIBS="-lnsl ${MYSQL_LIBS}" ], []) fi if echo $LIBS|grep -- -lm >&5 2>&5; then : else AC_CHECK_LIB(m, floor, [ LIBS="-lm $LIBS" MYSQL_LIBS="-lm ${MYSQL_LIBS}" ], []) fi
ab6aec1997-02-11Fredrik Hübinette (Hubbe) 
5251601997-04-03Henrik Grubbström (Grubba)  # Pthreads is still needed in 3.20.0. AC_CHECK_FUNC(pthread_self, [], [ AC_CHECK_LIB(pthread, pthread_self, [ LIBS="-lpthread $LIBS" echo Warning added -lpthread to \$LIBS\! ], [ AC_CHECK_LIB(pthreads, pthread_self, [ LIBS="-lpthreads $LIBS" echo Warning added -lpthreads to \$LIBS\!
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  ], []) ])
5251601997-04-03Henrik Grubbström (Grubba)  ])
ab6aec1997-02-11Fredrik Hübinette (Hubbe) 
5251601997-04-03Henrik Grubbström (Grubba)  AC_CHECK_LIB(dbug, _db_doprnt_, [ LIBS="-ldbug $LIBS" MYSQL_LIBS="-ldbug ${MYSQL_LIBS}" ], []) AC_CHECK_LIB(mysys, my_init, [ LIBS="-lmysys $LIBS" MYSQL_LIBS="-lmysys ${MYSQL_LIBS}" ], [])
7a29ba2000-08-23Elias Levy  # mysql 3.23.x libmysqlclient requires zlib... AC_CHECK_LIB(z, compress, [ LIBS="-lz $LIBS" MYSQL_LIBS="-lz ${MYSQL_LIBS}" ], [])
5251601997-04-03Henrik Grubbström (Grubba)  # Try a couple of mysqlclient libs # in order of age, newest first.
bfbae31998-09-01Fredrik Hübinette (Hubbe) define([AC_CHECK_SQLLIB], [ AC_MSG_CHECKING(for mysql_connect in $1) AC_CACHE_VAL(ac_cv_pike_lib_$1_mysql_connect, [ ac_save_LIBS="$LIBS" LIBS="-l$1 $LIBS" AC_TRY_LINK( [ #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #ifdef HAVE_MYSQL_H #include <mysql.h> #else #ifdef HAVE_MYSQL_MYSQL_H #include <mysql/mysql.h> #endif #endif ],[ mysql_connect(0,0,0,0); ],ac_cv_pike_lib_$1_mysql_connect=yes,ac_cv_pike_lib_$1_mysql_connect=no) LIBS="$ac_save_LIBS" ]) if test "x$ac_cv_pike_lib_$1_mysql_connect" = xyes ; then AC_MSG_RESULT(yes) $2 else AC_MSG_RESULT(no) $3 fi ]) AC_CHECK_SQLLIB(mysqlclient, [
5251601997-04-03Henrik Grubbström (Grubba)  LIBS="-lmysqlclient $LIBS" MYSQL_LIBS="-lmysqlclient ${MYSQL_LIBS}" ], [
bfbae31998-09-01Fredrik Hübinette (Hubbe)  AC_CHECK_SQLLIB(mysqllib, [
5251601997-04-03Henrik Grubbström (Grubba)  LIBS="-lmysqllib $LIBS" MYSQL_LIBS="-lmysqllib ${MYSQL_LIBS}" ], [
bfbae31998-09-01Fredrik Hübinette (Hubbe)  AC_CHECK_SQLLIB(mysql, [
5251601997-04-03Henrik Grubbström (Grubba)  LIBS="-lmysql $LIBS" MYSQL_LIBS="-lmysql ${MYSQL_LIBS}" ], [ pike_cv_mysql="no" ])
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  ])
5251601997-04-03Henrik Grubbström (Grubba)  ])
ab6aec1997-02-11Fredrik Hübinette (Hubbe) 
5251601997-04-03Henrik Grubbström (Grubba)  if test x$pike_cv_mysql = xno; then # Restore variables, so we don't link with unnessesary libs
ab6aec1997-02-11Fredrik Hübinette (Hubbe) 
ab6aec1997-02-11Fredrik Hübinette (Hubbe) 
c9cd161998-07-02Henrik Grubbström (Grubba)  # Note: mysql_port and mysql_unix_port aren't functions, but that shouldn't matter AC_CHECK_FUNCS(mysql_real_query mysql_fetch_lengths mysql_port mysql_unix_port)
0f1d4b2000-03-23Henrik Grubbström (Grubba)  if test "$ac_cv_func_mysql_fetch_lengths" = "yes"; then # # In 3.20.6b mysql_fetch_lengths() returns an uint *. # In 3.20.22 it returns an unsigned int *. # In 3.22.23 it returns an unsigned long *. # AC_MSG_CHECKING([if mysql_fetch_lengths() returns an uint or an ulong]) AC_CACHE_VAL(pike_cv_mysql_fetch_lengths_ret_type, [
359c382000-03-23Henrik Grubbström (Grubba)  for ret_type in "unsigned long long" "unsigned long" "unsigned int" "long long" "long" "int"; do
0f1d4b2000-03-23Henrik Grubbström (Grubba)  AC_TRY_COMPILE([ #ifdef HAVE_MYSQL_H #include <mysql.h> #else #ifdef HAVE_MYSQL_MYSQL_H #include <mysql/mysql.h> #else #error Need mysql.h headerfile! #endif #endif
359c382000-03-23Henrik Grubbström (Grubba)  #ifndef STDCALL #define STDCALL #endif /* STDCALL */ $ret_type * STDCALL mysql_fetch_lengths(MYSQL_RES *mysql)
0f1d4b2000-03-23Henrik Grubbström (Grubba) { return 0; }
359c382000-03-23Henrik Grubbström (Grubba)  ], [], [ pike_cv_mysql_fetch_lengths_ret_type="$ret_type"; break; ])
0f1d4b2000-03-23Henrik Grubbström (Grubba)  done ]) if test "X$pike_cv_mysql_fetch_lengths_ret_type" = "X"; then AC_MSG_RESULT(Unknown -- Defaulting to unsigned long) AC_DEFINE(FETCH_LENGTHS_TYPE, unsigned long) else AC_MSG_RESULT($pike_cv_mysql_fetch_lengths_ret_type)
c6d6e02000-03-23Henrik Grubbström (Grubba)  AC_DEFINE_UNQUOTED(FETCH_LENGTHS_TYPE, $pike_cv_mysql_fetch_lengths_ret_type)
0f1d4b2000-03-23Henrik Grubbström (Grubba)  fi else :; fi
ab6aec1997-02-11Fredrik Hübinette (Hubbe)  fi fi AC_SUBST(MYSQL_LIBS) AC_OUTPUT(Makefile,echo FOO >stamp-h )