File: config.m4

package info (click to toggle)
php-solr 2.6.0%2B2.4.0-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 4,956 kB
  • sloc: ansic: 40,168; xml: 2,223; php: 1,987; pascal: 8; makefile: 3
file content (151 lines) | stat: -rw-r--r-- 5,231 bytes parent folder | download | duplicates (4)
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