1dnl 2dnl $Id$ 3dnl config.m4 for mysqlnd driver 4 5PHP_ARG_ENABLE(mysqlnd, whether to enable mysqlnd, 6 [ --enable-mysqlnd Enable mysqlnd explicitly, will be done implicitly 7 when required by other extensions], no, yes) 8 9PHP_ARG_ENABLE(mysqlnd_compression_support, whether to disable compressed protocol support in mysqlnd, 10[ --disable-mysqlnd-compression-support 11 Disable support for the MySQL compressed protocol in mysqlnd], yes, no) 12 13if test -z "$PHP_ZLIB_DIR"; then 14 PHP_ARG_WITH(zlib-dir, for the location of libz, 15 [ --with-zlib-dir[=DIR] mysqlnd: Set the path to libz install prefix], no, no) 16fi 17 18dnl If some extension uses mysqlnd it will get compiled in PHP core 19if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes"; then 20 mysqlnd_ps_sources="mysqlnd_ps.c mysqlnd_ps_codec.c" 21 mysqlnd_base_sources="mysqlnd.c mysqlnd_alloc.c mysqlnd_bt.c mysqlnd_charset.c mysqlnd_wireprotocol.c \ 22 mysqlnd_loaddata.c mysqlnd_reverse_api.c mysqlnd_net.c \ 23 mysqlnd_statistics.c mysqlnd_driver.c mysqlnd_ext_plugin.c mysqlnd_auth.c \ 24 mysqlnd_result.c mysqlnd_result_meta.c mysqlnd_debug.c\ 25 mysqlnd_block_alloc.c mysqlnd_plugin.c php_mysqlnd.c" 26 27 28 if test "$PHP_MYSQLND_COMPRESSION_SUPPORT" != "no"; then 29 AC_DEFINE([MYSQLND_COMPRESSION_WANTED], 1, [Enable compressed protocol support]) 30 fi 31 AC_DEFINE([MYSQLND_SSL_SUPPORTED], 1, [Enable SSL support]) 32 33 mysqlnd_sources="$mysqlnd_base_sources $mysqlnd_ps_sources" 34 PHP_NEW_EXTENSION(mysqlnd, $mysqlnd_sources, $ext_shared) 35 PHP_ADD_BUILD_DIR([ext/mysqlnd], 1) 36 PHP_INSTALL_HEADERS([ext/mysqlnd/]) 37fi 38 39if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes" || test "$PHP_MYSQLI" != "no"; then 40 PHP_ADD_BUILD_DIR([ext/mysqlnd], 1) 41 42 dnl This creates a file so it has to be after above macros 43 PHP_CHECK_TYPES([int8 uint8 int16 uint16 int32 uint32 uchar ulong int8_t uint8_t int16_t uint16_t int32_t uint32_t int64_t uint64_t], [ 44 ext/mysqlnd/php_mysqlnd_config.h 45 ],[ 46#ifdef HAVE_SYS_TYPES_H 47#include <sys/types.h> 48#endif 49#ifdef HAVE_STDINT_H 50#include <stdint.h> 51#endif 52 ]) 53fi 54 55dnl 56dnl Check if the compiler supports Decimal32/64/128 types from the IEEE-754 2008 version 57dnl References: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1657.pdf 58dnl http://speleotrove.com/decimal/ 59dnl 60AC_CACHE_CHECK([whether whether compiler supports Decimal32/64/128 types], ac_cv_decimal_fp_supported,[ 61AC_TRY_RUN( [ 62#include <stdio.h> 63 64int main(int argc, char **argv) { 65 typedef float dec32 __attribute__((mode(SD))); 66 dec32 k = 99.49f; 67 double d2 = (double)k; 68 return 0; 69} 70],[ 71 ac_cv_decimal_fp_supported=yes 72],[ 73 ac_cv_decimal_fp_supported=no 74],[ 75 ac_cv_decimal_fp_supported=no 76])]) 77if test "$ac_cv_decimal_fp_supported" = "yes"; then 78 AC_DEFINE(HAVE_DECIMAL_FP_SUPPORT, 1, [Define if the compiler supports Decimal32/64/128 types.]) 79fi 80