1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
dnl $Id$
dnl config.m4 for the solr extension
dnl Configuring the CURL external library
dnl This folder is the grand-parent folder of easy.h
PHP_ARG_WITH(curl, for cURL support, [ --with-curl[=DIR] SOLR : libcurl install prefix])
CURL_DIR=$PHP_CURL
if test -z "$CURL_DIR"; then
AC_MSG_RESULT(not found)
AC_MSG_ERROR([Please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/])
fi
CURL_CONFIG="curl-config"
AC_MSG_CHECKING(for cURL 7.15.0 or greater)
if ${CURL_DIR}/bin/curl-config --libs > /dev/null 2>&1; then
CURL_CONFIG=${CURL_DIR}/bin/curl-config
else
if ${CURL_DIR}/curl-config --libs > /dev/null 2>&1; then
CURL_CONFIG=${CURL_DIR}/curl-config
fi
fi
curl_version_full=`$CURL_CONFIG --version`
curl_version=`echo ${curl_version_full} | sed -e 's/libcurl //' | $AWK 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test "$curl_version" -ge 7015000; then
AC_MSG_RESULT($curl_version_full)
CURL_LIBS=`$CURL_CONFIG --libs`
else
AC_MSG_ERROR([The Solr extension does not support libcurl libraries < 7.15.0. Please update your libraries])
fi
PHP_ARG_ENABLE(solr, whether to enable the Solr extension,
[ --enable-solr Enable solr support])
PHP_ARG_ENABLE(solr-debug, whether to compile with solr in verbose mode,
[ --enable-solr-debug Compile with solr in verbose mode], no, no)
dnl Configuring the LibXML external Library
if test -z "$PHP_LIBXML_DIR"; then
PHP_ARG_WITH(libxml-dir, libxml2 install dir,
[ --with-libxml-dir=[DIR] SOLR : libxml2 install prefix], no, no)
fi
PHP_ARG_ENABLE(coverage, whether to enable code coverage,
[ --enable-coverage Enable developer code coverage information],, no)
dnl Setting up the apache Solr extension
if test "$PHP_SOLR" != "no"; then
if test "$PHP_CURL" = "no"; then
AC_MSG_ERROR([Solr extension requires curl extension, add --with-curl])
fi
PHP_CHECK_LIBRARY(curl,curl_easy_perform,
[
AC_DEFINE(HAVE_CURL,1,[ ])
],[
AC_MSG_ERROR(There is something wrong. Please check config.log for more information.)
],[
$CURL_LIBS -L$CURL_DIR/$PHP_LIBDIR
])
PHP_ADD_INCLUDE($CURL_DIR/include)
PHP_EVAL_LIBLINE($CURL_LIBS, SOLR_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(curl, $CURL_DIR/lib, SOLR_SHARED_LIBADD)
if test "$PHP_LIBXML" = "no"; then
AC_MSG_ERROR([Solr extension requires LIBXML extension, add --enable-libxml])
fi
AC_MSG_CHECKING(for JSON)
if test -f "$phpincludedir/ext/json/php_json.h" || test "$HAVE_JSON" != "no"; then
AC_DEFINE(HAVE_JSON, 1, [JSON support])
AC_MSG_RESULT(Yes)
else
AC_MSG_ERROR([Solr extension requires json or jsonc support])
fi
PHP_SETUP_LIBXML(SOLR_SHARED_LIBADD, [
AC_DEFINE(HAVE_SOLR, 1,[Setting the value of HAVE_SOLR to 1 ])
if test "$PHP_SOLR_DEBUG" != "no"; then
AC_DEFINE(SOLR_DEBUG, 1, [Setting the value of SOLR_DEBUG to 1 ])
else
AC_DEFINE(SOLR_DEBUG_OFF, 1, [Setting the value of SOLR_DEBUG_OFF to 1 ])
fi
if test "$PHP_COVERAGE" = "yes"; then
PHP_CHECK_GCC_ARG(-fprofile-arcs, COVERAGE_CFLAGS="$COVERAGE_CFLAGS -fprofile-arcs")
PHP_CHECK_GCC_ARG(-ftest-coverage, COVERAGE_CFLAGS="$COVERAGE_CFLAGS -ftest-coverage")
EXTRA_LDFLAGS="$COVERAGE_CFLAGS"
fi
export OLD_CPPFLAGS="$CPPFLAGS"
export CPPFLAGS="$CPPFLAGS $INCLUDES"
AC_MSG_CHECKING(PHP version)
AC_TRY_COMPILE([
#include <php_version.h>
],[
#if PHP_MAJOR_VERSION > 5
#error PHP > 5
#endif
],[
subdir=src/php5
AC_MSG_RESULT([PHP 5])
],[
subdir=src/php7
AC_MSG_RESULT([PHP 7])
])
PHP_SOLR_SRC_FILES="$subdir/php_solr.c \
$subdir/php_solr_object.c \
$subdir/php_solr_document.c \
$subdir/php_solr_input_document.c \
$subdir/php_solr_client.c \
$subdir/php_solr_params.c \
$subdir/php_solr_query.c \
$subdir/php_solr_response.c \
$subdir/php_solr_exception.c \
$subdir/php_solr_utils.c \
$subdir/php_solr_dismax_query.c \
$subdir/php_solr_collapse_function.c \
$subdir/solr_string.c \
$subdir/solr_functions_document.c \
$subdir/solr_functions_client.c \
$subdir/solr_functions_helpers.c \
$subdir/solr_functions_params.c \
$subdir/solr_functions_response.c \
$subdir/solr_functions_debug.c"
PHP_NEW_EXTENSION(solr, $PHP_SOLR_SRC_FILES,
$ext_shared,, [$COVERAGE_CFLAGS])
PHP_ADD_BUILD_DIR($abs_builddir/$subdir, 1)
PHP_SUBST(SOLR_SHARED_LIBADD)
], [
AC_MSG_ERROR([xml2-config not found. Please check your libxml2 installation.])
])
fi
|