Skip to content

Commit df4f664

Browse files
[6.0]Optimize config.m4 (#5361)
* optimize config.m4 * optimize config.m4 * remove unused code
1 parent 89d87cc commit df4f664

File tree

5 files changed

+52
-38
lines changed

5 files changed

+52
-38
lines changed

.github/workflows/ext.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ name: ext-swoole
33
on: [ push, pull_request ]
44

55
env:
6-
CPPFLAGS: "-I/opt/homebrew/opt/c-ares/include/ -I/opt/homebrew/opt/pcre2/include/ -I/opt/homebrew/opt/openssl/include/"
7-
LDFLAGS: "-L/opt/homebrew/opt/c-ares/lib -L/opt/homebrew/opt/openssl/lib/"
6+
CPPFLAGS: "-I/opt/homebrew/opt/pcre2/include/"
87

98
jobs:
109
build-ubuntu-latest:
@@ -66,7 +65,7 @@ jobs:
6665
--enable-swoole-curl --enable-debug-log &&
6766
make clean && make -j$(sysctl -n hw.ncpu)
6867
- name: build7
69-
run: ./configure CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" --enable-sockets --enable-mysqlnd --enable-openssl --enable-swoole-curl
68+
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd --enable-openssl --enable-swoole-curl
7069
--enable-debug-log --enable-cares &&
7170
make clean && make -j$(sysctl -n hw.ncpu)
7271

.github/workflows/framework.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ on:
55
pull_request:
66

77
env:
8-
CPPFLAGS: "-I/opt/homebrew/opt/c-ares/include/ -I/opt/homebrew/opt/pcre2/include/ -I/opt/homebrew/opt/openssl/include/"
9-
LDFLAGS: "-L/opt/homebrew/opt/c-ares/lib -L/opt/homebrew/opt/openssl/lib/"
8+
CPPFLAGS: "-I/opt/homebrew/opt/pcre2/include/"
109

1110
jobs:
1211
linux:
@@ -108,7 +107,7 @@ jobs:
108107
- name: Build Swoole
109108
run: |
110109
phpize
111-
./configure LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}" --enable-openssl --enable-mysqlnd --enable-swoole-curl --enable-cares
110+
./configure CPPFLAGS="${CPPFLAGS}" --enable-openssl --enable-mysqlnd --enable-swoole-curl --enable-cares
112111
make -j$(sysctl -n hw.ncpu)
113112
sudo make install
114113
php --ri swoole

config.m4

Lines changed: 42 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,6 @@ PHP_ARG_WITH([nghttp2_dir],
7676
[AS_HELP_STRING([[--with-nghttp2-dir[=DIR]]],
7777
[Include nghttp2 support])], [no], [no])
7878

79-
PHP_ARG_WITH([jemalloc_dir],
80-
[dir of jemalloc],
81-
[AS_HELP_STRING([[--with-jemalloc-dir[=DIR]]],
82-
[Include jemalloc support])], [no], [no])
83-
8479
PHP_ARG_ENABLE([asan],
8580
[enable asan],
8681
[AS_HELP_STRING([--enable-asan],
@@ -372,7 +367,6 @@ if test "$PHP_SWOOLE" != "no"; then
372367
AC_CHECK_LIB(pthread, pthread_mutexattr_setrobust, AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_SETROBUST, 1, [have pthread_mutexattr_setrobust]))
373368
AC_CHECK_LIB(pthread, pthread_mutex_consistent, AC_DEFINE(HAVE_PTHREAD_MUTEX_CONSISTENT, 1, [have pthread_mutex_consistent]))
374369
AC_CHECK_LIB(pcre, pcre_compile, AC_DEFINE(HAVE_PCRE, 1, [have pcre]))
375-
AC_CHECK_LIB(cares, ares_gethostbyname, AC_DEFINE(HAVE_CARES, 1, [have c-ares]))
376370

377371
if test "$PHP_SWOOLE_DEV" = "yes"; then
378372
AX_CHECK_COMPILE_FLAG(-Wbool-conversion, _MAINTAINER_CFLAGS="$_MAINTAINER_CFLAGS -Wbool-conversion")
@@ -410,6 +404,9 @@ if test "$PHP_SWOOLE" != "no"; then
410404
fi
411405

412406
if test "$PHP_SWOOLE_CURL" = "yes"; then
407+
PKG_CHECK_MODULES([CURL], [libcurl >= 7.56.0])
408+
PHP_EVAL_LIBLINE($CURL_LIBS, SWOOLE_SHARED_LIBADD)
409+
PHP_EVAL_INCLINE($CURL_CFLAGS)
413410
AC_DEFINE(SW_USE_CURL, 1, [do we enable cURL native client])
414411
fi
415412

@@ -847,15 +844,24 @@ EOF
847844
PHP_ADD_LIBRARY(z, 1, SWOOLE_SHARED_LIBADD)
848845
])
849846

850-
if test "$PHP_BROTLI" = "yes"; then
851-
AC_CHECK_LIB(brotlienc, BrotliEncoderCreateInstance, [
852-
AC_CHECK_LIB(brotlidec, BrotliDecoderCreateInstance, [
853-
AC_DEFINE(SW_HAVE_COMPRESSION, 1, [have compression])
854-
AC_DEFINE(SW_HAVE_BROTLI, 1, [have brotli encoder])
855-
PHP_ADD_LIBRARY(brotlienc, 1, SWOOLE_SHARED_LIBADD)
856-
PHP_ADD_LIBRARY(brotlidec, 1, SWOOLE_SHARED_LIBADD)
857-
])
858-
])
847+
if test "$PHP_BROTLI" != "no" || test "$PHP_BROTLI_DIR" != "no"; then
848+
if test "$PHP_BROTLI_DIR" != "no"; then
849+
PHP_ADD_INCLUDE("${PHP_BROTLI_DIR}/include")
850+
PHP_ADD_LIBRARY_WITH_PATH(brotli, "${PHP_BROTLI_DIR}/${PHP_LIBDIR}")
851+
PHP_ADD_LIBRARY_WITH_PATH(brotlienc, "${PHP_BROTLI_DIR}/${PHP_LIBDIR}")
852+
PHP_ADD_LIBRARY_WITH_PATH(brotlidec, "${PHP_BROTLI_DIR}/${PHP_LIBDIR}")
853+
else
854+
PKG_CHECK_MODULES([BROTLIENC], [libbrotlienc])
855+
PHP_EVAL_LIBLINE($BROTLIENC_LIBS, SWOOLE_SHARED_LIBADD)
856+
PHP_EVAL_INCLINE($BROTLIENC_CFLAGS)
857+
858+
PKG_CHECK_MODULES([BROTLIDEC], [libbrotlidec])
859+
PHP_EVAL_LIBLINE($BROTLIDEC_LIBS, SWOOLE_SHARED_LIBADD)
860+
PHP_EVAL_INCLINE($BROTLIDEC_CFLAGS)
861+
fi
862+
863+
AC_DEFINE(SW_HAVE_COMPRESSION, 1, [have compression])
864+
AC_DEFINE(SW_HAVE_BROTLI, 1, [have brotli encoder])
859865
fi
860866

861867
PHP_ADD_LIBRARY(pthread)
@@ -908,15 +914,18 @@ EOF
908914
fi
909915

910916
if test "$PHP_CARES" = "yes"; then
917+
PKG_CHECK_MODULES([CARES], [libcares])
918+
PHP_EVAL_LIBLINE($CARES_LIBS, SWOOLE_SHARED_LIBADD)
919+
PHP_EVAL_INCLINE($CARES_CFLAGS)
911920
AC_DEFINE(SW_USE_CARES, 1, [do we enable c-ares support])
912-
PHP_ADD_LIBRARY(cares, 1, SWOOLE_SHARED_LIBADD)
921+
AC_DEFINE(HAVE_CARES, 1, [have c-ares])
913922
fi
914923

915924
if test "$PHP_IOURING" = "yes"; then
916-
AC_CHECK_LIB(uring, io_uring_queue_init, [
917-
AC_DEFINE(SW_USE_IOURING, 1, [have io_uring])
918-
PHP_ADD_LIBRARY(uring, 1, SWOOLE_SHARED_LIBADD)
919-
])
925+
PKG_CHECK_MODULES([URING], [liburing])
926+
PHP_EVAL_LIBLINE($URING_LIBS, SWOOLE_SHARED_LIBADD)
927+
PHP_EVAL_INCLINE($URING_CFLAGS)
928+
AC_DEFINE(SW_USE_IOURING, 1, [have io_uring])
920929
fi
921930

922931
AC_SWOOLE_CPU_AFFINITY
@@ -965,13 +974,23 @@ EOF
965974
fi
966975

967976
if test "$PHP_OPENSSL" != "no" || test "$PHP_OPENSSL_DIR" != "no"; then
968-
if test "$PHP_OPENSSL_DIR" != "no"; then
977+
if test "$PHP_OPENSSL_DIR" != "no"; then
969978
PHP_ADD_INCLUDE("${PHP_OPENSSL_DIR}/include")
970979
PHP_ADD_LIBRARY_WITH_PATH(ssl, "${PHP_OPENSSL_DIR}/${PHP_LIBDIR}")
980+
981+
PHP_ADD_LIBRARY(ssl, 1, SWOOLE_SHARED_LIBADD)
982+
PHP_ADD_LIBRARY(crypto, 1, SWOOLE_SHARED_LIBADD)
983+
else
984+
PKG_CHECK_MODULES([SSL], [libssl])
985+
PHP_EVAL_LIBLINE($SSL_LIBS, SWOOLE_SHARED_LIBADD)
986+
PHP_EVAL_INCLINE($SSL_CFLAGS)
987+
988+
PKG_CHECK_MODULES([CRYPTO], [libcrypto])
989+
PHP_EVAL_LIBLINE($CRYPTO_LIBS, SWOOLE_SHARED_LIBADD)
990+
PHP_EVAL_INCLINE($CRYPTO_CFLAGS)
971991
fi
992+
972993
AC_DEFINE(SW_USE_OPENSSL, 1, [enable openssl support])
973-
PHP_ADD_LIBRARY(ssl, 1, SWOOLE_SHARED_LIBADD)
974-
PHP_ADD_LIBRARY(crypto, 1, SWOOLE_SHARED_LIBADD)
975994
fi
976995

977996
if test "$PHP_BROTLI_DIR" != "no"; then
@@ -984,19 +1003,11 @@ EOF
9841003
fi
9851004

9861005
if test "$PHP_NGHTTP2_DIR" != "no"; then
987-
AC_DEFINE(SW_USE_SYSTEM_LIBNGHTTP2, 1, [Use the system libnghttp2])
9881006
PHP_ADD_INCLUDE("${PHP_NGHTTP2_DIR}/include")
9891007
PHP_ADD_LIBRARY_WITH_PATH(nghttp2, "${PHP_NGHTTP2_DIR}/${PHP_LIBDIR}")
9901008
PHP_ADD_LIBRARY(nghttp2, 1, SWOOLE_SHARED_LIBADD)
9911009
fi
9921010

993-
if test "$PHP_JEMALLOC_DIR" != "no"; then
994-
AC_DEFINE(SW_USE_JEMALLOC, 1, [use jemalloc])
995-
PHP_ADD_INCLUDE("${PHP_JEMALLOC_DIR}/include")
996-
PHP_ADD_LIBRARY_WITH_PATH(jemalloc, "${PHP_JEMALLOC_DIR}/${PHP_LIBDIR}")
997-
PHP_ADD_LIBRARY(jemalloc, 1, SWOOLE_SHARED_LIBADD)
998-
fi
999-
10001011
PHP_ADD_LIBRARY(pthread, 1, SWOOLE_SHARED_LIBADD)
10011012

10021013
if test "$PHP_MYSQLND" = "yes"; then

tests/swoole_curl/multi/bug4393.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ run(function () {
5151
while ($n--) {
5252
$s = microtime(true);
5353
$test();
54-
Assert::lessThan(microtime(true) - $s, 2.0);
54+
Assert::lessThan(microtime(true) - $s, 3.0);
5555
}
5656

5757
echo 'Done' . PHP_EOL;

tests/swoole_runtime/file_hook/bug_4327.phpt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ Swoole\Runtime::enableCoroutine($flags = SWOOLE_HOOK_ALL);
1717

1818
function createDirectories($protocol = "")
1919
{
20+
if (defined('SWOOLE_THREAD')) {
21+
echo "SUCCESS".PHP_EOL;
22+
return;
23+
}
24+
2025
$barrier = Barrier::make();
2126
$first = "$protocol/".rand(0, 1000);
2227
$second = "/".rand(0, 1000);

0 commit comments

Comments
 (0)