pike.git / src / modules / Mysql / configure.in

version» Context lines:

pike.git/src/modules/Mysql/configure.in:14:   # libstrings.a libmystrings.a   #   # MariaDB-Client 1.0.0   # -------------------------------------------------------------------   # /usr/local/lib   # /usr/local/mariadbclient/include   # libmariadbclient.a   #       - AC_INIT(mysql.c) + AC_INIT(mysql.cmod)   AC_CONFIG_HEADER(config.h)      AC_MODULE_INIT()      # ___Mysql.so is wrapped by lib/modules/Mysql.pmod.   MODULE_WRAPPER_PREFIX="___"      PIKE_FEATURE_WITHOUT(Mysql)      OLD_LIBS=$LIBS
pike.git/src/modules/Mysql/configure.in:36:   OLD_CPPFLAGS=$CPPFLAGS      AC_ARG_WITH(mysql, [ --without-mysql no support for the Mysql database],[],[with_mysql=yes])   AC_ARG_WITH(mariadb,[ --without-mariadb disable use of MariaDB-client library],[],[with_mariadb=yes])      if test x$with_mysql = xno; then    :   else    PIKE_FEATURE_NODEP(Mysql)    +  PIKE_SELECT_ABI +     if test "x$with_mariadb" = "xno"; then    MARIADB_CONFIG=no    else -  AC_PATH_PROG(MARIADB_CONFIG,${ac_tool_prefix}mariadb_config,no) +  MY_AC_PATH_PROGS(MARIADB_CONFIG, ${pike_cv_tool_prefix}mariadb_config ${ac_tool_prefix}mariadb_config, no)    fi    if test "x${MARIADB_CONFIG}" = "xno"; then       AC_MSG_CHECKING(for Mysql directory prefix)    AC_CACHE_VAL(pike_cv_mysql_lib_dir_prefix, [    pike_cv_mysql_lib_dir_prefix=no    for dir_prefix in $with_mysql \    `echo "${with_site_prefixes}"|sed -e 's/:/ /g'` \    `echo $exec_prefix | sed "s@^NONE@$prefix@g" | sed "s@^NONE@$with_root$ac_default_prefix@g"` \    $with_root/usr/local $with_root/sw/local $with_root/sw \
pike.git/src/modules/Mysql/configure.in:135:    echo "Adding `echo $2 | sed -e 's/^-L//'` to the library search path."    LDFLAGS="${LDFLAGS} $2 `echo $2 | sed -e 's/^-L/-R/'`"    ;;    -R*)    echo "Adding `echo $2 | sed -e 's/^-R//'` to the library runtime search path."    LDFLAGS="${LDFLAGS} $2"    ;;    -lmaria*)    # We handle the client library itself later.    ;; +  -lmysql*) +  # We handle the client library itself later. +  ;;    *)    # NB: We need to buffer libs to get them in the correct order.    echo "Adding $2 to LIBS."    MARIADB_LIBS="${MARIADB_LIBS} $2"    ;;    esac    shift    done -  +  +  if echo " $MARIADB_LIBS" | grep -i iconv >/dev/null; then :; else +  # NB: Sometimes iconv doesn't get listed by mariadb_config. +  AC_CHECK_LIB(iconv, iconv_open, [ +  MARIADB_LIBS="${MARIADB_LIBS} -liconv" +  ], [ +  AC_CHECK_LIB(iconv, libiconv_open, [ +  MARIADB_LIBS="${MARIADB_LIBS} -liconv" +  ]) +  ]) +  fi +     echo "Adding `${MARIADB_CONFIG} --include` to CPPFLAGS."    CPPFLAGS="`${MARIADB_CONFIG} --include` ${CPPFLAGS}"    fi          # Header file       AC_CHECK_HEADERS(winsock2.h winsock.h mysql.h mysql/mysql.h errmsg.h mysql/errmsg.h,,,[   #if HAVE_WINSOCK2_H   #include <winsock2.h>
pike.git/src/modules/Mysql/configure.in:164:   #include <winsock.h>   #endif    ])    AC_MSG_CHECKING(for mysql/mysqld_ername.h)    AC_CACHE_VAL(ac_cv_mysqld_ername, [    AC_TRY_COMPILE([],[   struct foo {    const char * a;    int b;   }; - const static struct foo[] = { + const static struct foo list[] = {   #include <mysql/mysqld_ername.h>   }; -  ],ac_cv_mysqld_ername=yes,ac_cv_mysqld_ername=yes) +  ],ac_cv_mysqld_ername=yes,ac_cv_mysqld_ername=no)    ])    if test x$ac_cv_mysqld_ername = xyes; then    AC_DEFINE(HAVE_MYSQL_MYSQLD_ERNAME_H)    AC_MSG_RESULT(yes)    else    AC_MSG_RESULT(no)    fi - AC_DEFINE(HAVE_MYSQL_MYSQLD_ERNAME_H) +        if test x$ac_cv_header_mysql_h$ac_cv_header_mysql_mysql_h = xnono; then    # Required headerfile missing.    PIKE_FEATURE_NODEP(Mysql)    pike_cv_mysql="no"    fi       # Defines within headerfile   define([AC_CHECK_MYSQL_OPTIONS],   [
pike.git/src/modules/Mysql/configure.in:228:    AC_CHECK_MYSQL_OPTIONS(MYSQL_OPT_CONNECT_TIMEOUT)    AC_CHECK_MYSQL_OPTIONS(MYSQL_OPT_COMPRESS)    AC_CHECK_MYSQL_OPTIONS(MYSQL_OPT_NAMED_PIPE)    AC_CHECK_MYSQL_OPTIONS(MYSQL_INIT_COMMAND)    AC_CHECK_MYSQL_OPTIONS(MYSQL_READ_DEFAULT_GROUP)    AC_CHECK_MYSQL_OPTIONS(MYSQL_SET_CHARSET_DIR)    AC_CHECK_MYSQL_OPTIONS(MYSQL_SET_CHARSET_NAME)    AC_CHECK_MYSQL_OPTIONS(MYSQL_OPT_LOCAL_INFILE)    AC_CHECK_MYSQL_OPTIONS(SHUTDOWN_DEFAULT)    +  AC_CHECK_MYSQL_OPTIONS(MARIADB_CLIENT_VERSION) +     # Mysql libs      dnl if test x"$pike_cv_sys_os" = xWindows_NT ; then   dnl LIBS="-lshell32 -lkernel32 -lws2_32 -ladvapi32 -luser32 ${LIBS}"   dnl fi       old_LIBS="$LIBS"       # System libs which might be needed   
pike.git/src/modules/Mysql/configure.in:258:    LIBS="-lpthread $LIBS"    echo Warning added -lpthread to \$LIBS\!    ], [    AC_CHECK_LIB(pthreads, pthread_self, [    LIBS="-lpthreads $LIBS"    echo Warning added -lpthreads to \$LIBS\!    ], [])    ])    ])    +  if test "x${MARIADB_CONFIG}" = "xno"; then :; else    # Needed for libmariadbclient.a 1.0.0.    AC_SEARCH_LIBS(OPENSSL_config, crypto)    AC_SEARCH_LIBS(SSL_library_init, ssl) -  +  fi       AC_SEARCH_LIBS(_db_doprnt_, dbug)    AC_SEARCH_LIBS(my_init, mysys)       # mysql 3.23.x libmysqlclient requires zlib...    AC_SEARCH_LIBS(compress, z)    -  if test "x${MARIADB_CONFIG}" = "x"; then :; else +  if test "x${MARIADB_CONFIG}" = "xno"; then :; else    LIBS="${MARIADB_LIBS} ${LIBS}"    fi       # Try a couple of mysqlclient libs    # in order of age, newest first.      define([AC_CHECK_SQLLIB],   [   AC_MSG_CHECKING(for mysql_real_connect in $1)   AC_CACHE_VAL(ac_cv_pike_lib_$1_mysql_real_connect,
pike.git/src/modules/Mysql/configure.in:349:    PIKE_FEATURE(Mysql,[yes (lib$1)])    AC_MSG_RESULT(yes)    $2    else    AC_MSG_RESULT(no)    $3    fi   fi   ])    -  if test "x${MARIADB_CONFIG}" = "xno"; then -  # libmysql.lib is the name for the libmysql.dll wrapper in the -  # windows releases. There's also a mysqlclient.lib which contain the +  TRY_MYSQLCLIENT="yes" +  if test "x${MARIADB_CONFIG}" = "xno"; then :; else +  # Try the MariaDB client libraries. +  # NB: These are distributed separately from the MariaDB server. +  TRY_MYSQLCLIENT="no" +  AC_CHECK_SQLLIB(mariadbclient_r, [ +  LIBS="-lmariadbclient_r $LIBS" +  ], [ +  AC_CHECK_SQLLIB(mariadbclient, [ +  LIBS="-lmariadbclient $LIBS" +  ], [ +  AC_CHECK_SQLLIB(mariadb_r, [ +  LIBS="-lmariadb_r $LIBS" +  ], [ +  AC_CHECK_SQLLIB(mariadb, [ +  LIBS="-lmariadb $LIBS" +  ], [ +  # Fallback to using the MySQL client libraries. +  # NB: These are distributed together with the MariaDB server. +  TRY_MYSQLCLIENT="yes" +  ]) +  ]) +  ]) +  ]) +  fi +  +  if test "x${TRY_MYSQLCLIENT}" = "xyes"; then +  # libmysql.lib is the name of the libmysql.dll wrapper in the +  # windows releases. There's also a mysqlclient.lib which contains the    # static version. We prefer the dynamic one so check libmysql first.    AC_CHECK_SQLLIB(libmysql, [    LIBS="-llibmysql $LIBS"    ], [ -  +  AC_CHECK_SQLLIB(mysqlclient_r, [ +  LIBS="-lmysqlclient_r $LIBS" +  ], [    AC_CHECK_SQLLIB(mysqlclient, [    LIBS="-lmysqlclient $LIBS"    ], [    AC_CHECK_SQLLIB(mysqllib, [    LIBS="-lmysqllib $LIBS"    ], [    AC_CHECK_SQLLIB(mysql, [    LIBS="-lmysql $LIBS"    ], [    PIKE_FEATURE_NODEP(Mysql)    pike_cv_mysql="no"    ])    ])    ])    ]) -  else -  AC_CHECK_SQLLIB(mariadbclient, [ -  LIBS="-lmariadbclient $LIBS" -  ], [ -  AC_CHECK_SQLLIB(mariadb, [ -  LIBS="-lmariadb $LIBS" -  ], [ -  PIKE_FEATURE_NODEP(Mysql) -  pike_cv_mysql="no" +     ]) -  ]) +     fi       if test x$pike_cv_mysql = xno; then :; else    # Check version match    AC_CHECK_FUNC(mysql_get_client_version,[    AC_TRY_RUN([#ifdef HAVE_WINSOCK2_H   #include <winsock2.h>   #else   #ifdef HAVE_WINSOCK_H   #include <winsock.h>
pike.git/src/modules/Mysql/configure.in:466:    ], [    void (*foo__)() = (void (*)())&$1;    ], [AC_CV_NAME="yes"], [AC_CV_NAME="no"])    ])    if test "$AC_CV_NAME" = "yes"; then    AC_DEFINE(translit(HAVE_$1,[a-z],[A-Z]), [], [Defined if $1 exists.])    fi    AC_MSG_RESULT($AC_CV_NAME)    ])    +  PIKE_CHECK_MYSQL_FUNC(mysql_real_connect)    PIKE_CHECK_MYSQL_FUNC(mysql_real_query)    PIKE_CHECK_MYSQL_FUNC(mysql_fetch_lengths)    PIKE_CHECK_MYSQL_FUNC(mysql_options)    PIKE_CHECK_MYSQL_FUNC(mysql_set_character_set)    PIKE_CHECK_MYSQL_FUNC(mysql_ssl_set)    PIKE_CHECK_MYSQL_FUNC(mysql_sqlstate)       # This function should exist even in ancient versions, but it    # appear to exist only in header files sometimes.    PIKE_CHECK_MYSQL_FUNC(mysql_character_set_name)       # Note: The following two are variables:    PIKE_CHECK_MYSQL_FUNC(mysql_port)    PIKE_CHECK_MYSQL_FUNC(mysql_unix_port)    -  +  # MariaDB API functions: +  PIKE_CHECK_MYSQL_FUNC(mariadb_get_info) +     if test "$pike_cv_mysql_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, [    for ret_type in "unsigned long long" "unsigned long" "unsigned int" "long long" "long" "int"; do    AC_TRY_COMPILE([