Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 66eb5e7

Browse files
allow to build with system liburiparser (#18886)
1 parent 271995d commit 66eb5e7

File tree

2 files changed

+36
-12
lines changed

2 files changed

+36
-12
lines changed

‎ext/uri/config.m4

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
dnl Configure options
22
dnl
33

4+
PHP_ARG_WITH([external-uriparser],
5+
[for external/system liburiparser],
6+
[AS_HELP_STRING([--with-external-uriparser],
7+
[Use external/system liburiparser])],
8+
[no],
9+
[no])
10+
411
PHP_INSTALL_HEADERS([ext/uri], m4_normalize([
512
php_uri.h
613
php_uri_common.h
@@ -9,20 +16,32 @@ PHP_INSTALL_HEADERS([ext/uri], m4_normalize([
916
uri_parser_php_parse_url.h
1017
]))
1118

19+
1220
AC_DEFINE([URI_ENABLE_ANSI], [1], [Define to 1 for enabling ANSI support of uriparser.])
1321
AC_DEFINE([URI_NO_UNICODE], [1], [Define to 1 for disabling unicode support of uriparser.])
1422

15-
URIPARSER_DIR="uriparser"
16-
URIPARSER_SOURCES="$URIPARSER_DIR/src/UriCommon.c $URIPARSER_DIR/src/UriCompare.c $URIPARSER_DIR/src/UriCopy.c \
17-
$URIPARSER_DIR/src/UriEscape.c $URIPARSER_DIR/src/UriFile.c $URIPARSER_DIR/src/UriIp4.c $URIPARSER_DIR/src/UriIp4Base.c \
18-
$URIPARSER_DIR/src/UriMemory.c $URIPARSER_DIR/src/UriNormalize.c $URIPARSER_DIR/src/UriNormalizeBase.c \
19-
$URIPARSER_DIR/src/UriParse.c $URIPARSER_DIR/src/UriParseBase.c $URIPARSER_DIR/src/UriQuery.c \
20-
$URIPARSER_DIR/src/UriRecompose.c $URIPARSER_DIR/src/UriResolve.c $URIPARSER_DIR/src/UriSetFragment.c \
21-
$URIPARSER_DIR/src/UriSetHostAuto.c $URIPARSER_DIR/src/UriSetHostCommon.c $URIPARSER_DIR/src/UriSetHostIp4.c \
22-
$URIPARSER_DIR/src/UriSetHostIp6.c $URIPARSER_DIR/src/UriSetHostIpFuture.c $URIPARSER_DIR/src/UriSetHostRegName.c \
23-
$URIPARSER_DIR/src/UriSetPath.c $URIPARSER_DIR/src/UriSetPort.c $URIPARSER_DIR/src/UriSetQuery.c \
24-
$URIPARSER_DIR/src/UriSetScheme.c $URIPARSER_DIR/src/UriSetUserInfo.c $URIPARSER_DIR/src/UriShorten.c $URIPARSER_DIR/src/UriVersion.c"
23+
if test "$PHP_EXTERNAL_URIPARSER" = "no"; then
24+
URIPARSER_DIR="uriparser"
25+
URIPARSER_SOURCES="$URIPARSER_DIR/src/UriCommon.c $URIPARSER_DIR/src/UriCompare.c $URIPARSER_DIR/src/UriCopy.c \
26+
$URIPARSER_DIR/src/UriEscape.c $URIPARSER_DIR/src/UriFile.c $URIPARSER_DIR/src/UriIp4.c $URIPARSER_DIR/src/UriIp4Base.c \
27+
$URIPARSER_DIR/src/UriMemory.c $URIPARSER_DIR/src/UriNormalize.c $URIPARSER_DIR/src/UriNormalizeBase.c \
28+
$URIPARSER_DIR/src/UriParse.c $URIPARSER_DIR/src/UriParseBase.c $URIPARSER_DIR/src/UriQuery.c \
29+
$URIPARSER_DIR/src/UriRecompose.c $URIPARSER_DIR/src/UriResolve.c $URIPARSER_DIR/src/UriSetFragment.c \
30+
$URIPARSER_DIR/src/UriSetHostAuto.c $URIPARSER_DIR/src/UriSetHostCommon.c $URIPARSER_DIR/src/UriSetHostIp4.c \
31+
$URIPARSER_DIR/src/UriSetHostIp6.c $URIPARSER_DIR/src/UriSetHostIpFuture.c $URIPARSER_DIR/src/UriSetHostRegName.c \
32+
$URIPARSER_DIR/src/UriSetPath.c $URIPARSER_DIR/src/UriSetPort.c $URIPARSER_DIR/src/UriSetQuery.c \
33+
$URIPARSER_DIR/src/UriSetScheme.c $URIPARSER_DIR/src/UriSetUserInfo.c $URIPARSER_DIR/src/UriShorten.c $URIPARSER_DIR/src/UriVersion.c"
34+
URI_CFLAGS="-DURI_STATIC_BUILD"
35+
else
36+
PKG_CHECK_MODULES([LIBURIPARSER], [liburiparser >= 0.9.9])
37+
PHP_EVAL_LIBLINE([$LIBURIPARSER_LIBS], [URI_SHARED_LIBADD])
38+
PHP_EVAL_INCLINE([$LIBURIPARSER_CFLAGS])
39+
fi
2540

26-
PHP_NEW_EXTENSION(uri, [php_uri.c php_uri_common.c uri_parser_rfc3986.c uri_parser_whatwg.c uri_parser_php_parse_url.c $URIPARSER_SOURCES], [no],,[-I$ext_srcdir/$URIPARSER_DIR/include -DURI_STATIC_BUILD -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1])
41+
PHP_NEW_EXTENSION(uri, [php_uri.c php_uri_common.c uri_parser_rfc3986.c uri_parser_whatwg.c uri_parser_php_parse_url.c $URIPARSER_SOURCES], [no],,[$URI_CFLAGS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1])
2742
PHP_ADD_EXTENSION_DEP(uri, lexbor)
28-
PHP_ADD_BUILD_DIR($ext_builddir/$URIPARSER_DIR/src $ext_builddir/$URIPARSER_DIR/include)
43+
44+
if test "$PHP_EXTERNAL_URIPARSER" = "no"; then
45+
PHP_ADD_BUILD_DIR($ext_builddir/$URIPARSER_DIR/src $ext_builddir/$URIPARSER_DIR/include)
46+
PHP_ADD_INCLUDE([$ext_srcdir/$URIPARSER_DIR/include])
47+
fi

‎ext/uri/php_uri.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include "uri_parser_rfc3986.h"
3131
#include "uri_parser_php_parse_url.h"
3232
#include "php_uri_arginfo.h"
33+
#include "uriparser/UriBase.h"
3334

3435
zend_class_entry *uri_rfc3986_uri_ce;
3536
zend_object_handlers uri_rfc3986_uri_object_handlers;
@@ -1062,8 +1063,12 @@ static PHP_MINFO_FUNCTION(uri)
10621063
{
10631064
php_info_print_table_start();
10641065
php_info_print_table_row(2, "URI support", "active");
1066+
#ifdef URI_STATIC_BUILD
1067+
php_info_print_table_row(2, "uriparser bundled version", URI_VER_ANSI);
1068+
#else
10651069
php_info_print_table_row(2, "uriparser compiled version", URI_VER_ANSI);
10661070
php_info_print_table_row(2, "uriparser loaded version", uriBaseRuntimeVersionA());
1071+
#endif
10671072
php_info_print_table_end();
10681073
}
10691074

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /