Skip to content

Commit 4e6e7f1

Browse files
committed
optimize config.m4
1 parent 16a9122 commit 4e6e7f1

File tree

3 files changed

+51
-71
lines changed

3 files changed

+51
-71
lines changed

.github/workflows/ext.yml

Lines changed: 14 additions & 16 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:
@@ -20,25 +19,25 @@ jobs:
2019
run: ./configure &&
2120
make clean && make -j$(nproc)
2221
- name: build2
23-
run: ./configure --enable-sockets &&
22+
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets &&
2423
make clean && make -j$(nproc)
2524
- name: build3
26-
run: ./configure --enable-sockets --enable-mysqlnd &&
25+
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd &&
2726
make clean && make -j$(nproc)
2827
- name: build5
29-
run: ./configure --enable-sockets --enable-mysqlnd --enable-openssl &&
28+
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd --enable-openssl &&
3029
make clean && make -j$(nproc)
3130
- name: build6
32-
run: ./configure --enable-sockets --enable-mysqlnd --enable-openssl --enable-debug-log &&
31+
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd --enable-openssl --enable-debug-log &&
3332
make clean && make -j$(nproc)
3433
- name: build7
35-
run: ./configure --enable-sockets --enable-mysqlnd --enable-swoole-curl --enable-openssl --enable-debug-log &&
34+
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd --enable-swoole-curl --enable-openssl --enable-debug-log &&
3635
make clean && make -j$(nproc)
3736
- name: build8
38-
run: ./configure --enable-sockets --enable-mysqlnd --enable-swoole-curl --enable-openssl --enable-cares --enable-debug-log &&
37+
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd --enable-swoole-curl --enable-openssl --enable-cares --enable-debug-log &&
3938
make clean && make -j$(nproc)
4039
- name: build with thread context
41-
run: ./configure --enable-sockets --enable-mysqlnd --enable-swoole-curl --enable-openssl --enable-cares --enable-debug-log --enable-thread-context &&
40+
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd --enable-swoole-curl --enable-openssl --enable-cares --enable-debug-log --enable-thread-context &&
4241
make clean && make -j$(nproc)
4342

4443
build-macos-latest:
@@ -51,22 +50,21 @@ jobs:
5150
- name: phpize
5251
run: phpize
5352
- name: build1
54-
run: ./configure CPPFLAGS="${CPPFLAGS}" && make clean && make -j$(sysctl -n hw.ncpu)
53+
run: ./configure && make clean && make -j$(sysctl -n hw.ncpu)
5554
- name: build2
56-
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets &&
55+
run: ./configure --enable-sockets &&
5756
make clean && make -j$(sysctl -n hw.ncpu)
5857
- name: build3
59-
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd &&
58+
run: ./configure --enable-sockets --enable-mysqlnd &&
6059
make clean && make -j$(sysctl -n hw.ncpu)
6160
- name: build5
62-
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd --enable-openssl &&
61+
run: ./configure --enable-sockets --enable-mysqlnd --enable-openssl &&
6362
make clean && make -j$(sysctl -n hw.ncpu)
6463
- name: build6
65-
run: ./configure CPPFLAGS="${CPPFLAGS}" --enable-sockets --enable-mysqlnd --enable-openssl
66-
--enable-swoole-curl --enable-debug-log &&
64+
run: ./configure --enable-sockets --enable-mysqlnd --enable-openssl --enable-swoole-curl --enable-debug-log &&
6765
make clean && make -j$(sysctl -n hw.ncpu)
6866
- name: build7
69-
run: ./configure CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" --enable-sockets --enable-mysqlnd --enable-openssl --enable-swoole-curl
67+
run: ./configure --enable-sockets --enable-mysqlnd --enable-openssl --enable-swoole-curl
7068
--enable-debug-log --enable-cares &&
7169
make clean && make -j$(sysctl -n hw.ncpu)
7270

.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:
@@ -125,7 +124,7 @@ jobs:
125124
- name: Build Swoole
126125
run: |
127126
phpize
128-
./configure LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}" --enable-openssl --enable-mysqlnd --enable-swoole-curl --enable-cares
127+
./configure CPPFLAGS="${CPPFLAGS}" --enable-openssl --enable-mysqlnd --enable-swoole-curl --enable-cares
129128
make -j$(sysctl -n hw.ncpu)
130129
sudo make install
131130
php --ri swoole

config.m4

Lines changed: 35 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -61,24 +61,14 @@ PHP_ARG_ENABLE([iouring],
6161
[AS_HELP_STRING([--enable-iouring],
6262
[Enable io-uring (Experimental)])], [no], [no])
6363

64-
PHP_ARG_WITH([openssl_dir],
65-
[dir of openssl],
66-
[AS_HELP_STRING([[--with-openssl-dir[=DIR]]],
67-
[Include OpenSSL support (requires OpenSSL >= 1.0.2)])], [no], [no])
68-
69-
PHP_ARG_WITH([brotli_dir],
70-
[dir of brotli],
71-
[AS_HELP_STRING([[--with-brotli-dir[=DIR]]],
72-
[Include Brotli support])], [no], [no])
73-
7464
PHP_ARG_WITH([nghttp2_dir],
7565
[dir of nghttp2],
7666
[AS_HELP_STRING([[--with-nghttp2-dir[=DIR]]],
7767
[Include nghttp2 support])], [no], [no])
7868

79-
PHP_ARG_WITH([jemalloc_dir],
69+
PHP_ARG_WITH([jemalloc],
8070
[dir of jemalloc],
81-
[AS_HELP_STRING([[--with-jemalloc-dir[=DIR]]],
71+
[AS_HELP_STRING([[--enable-jemalloc]],
8272
[Include jemalloc support])], [no], [no])
8373

8474
PHP_ARG_ENABLE([asan],
@@ -372,7 +362,6 @@ if test "$PHP_SWOOLE" != "no"; then
372362
AC_CHECK_LIB(pthread, pthread_mutexattr_setrobust, AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_SETROBUST, 1, [have pthread_mutexattr_setrobust]))
373363
AC_CHECK_LIB(pthread, pthread_mutex_consistent, AC_DEFINE(HAVE_PTHREAD_MUTEX_CONSISTENT, 1, [have pthread_mutex_consistent]))
374364
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]))
376365

377366
if test "$PHP_SWOOLE_DEV" = "yes"; then
378367
AX_CHECK_COMPILE_FLAG(-Wbool-conversion, _MAINTAINER_CFLAGS="$_MAINTAINER_CFLAGS -Wbool-conversion")
@@ -410,6 +399,9 @@ if test "$PHP_SWOOLE" != "no"; then
410399
fi
411400

412401
if test "$PHP_SWOOLE_CURL" = "yes"; then
402+
PKG_CHECK_MODULES([CURL], [libcurl >= 7.56.0])
403+
PHP_EVAL_LIBLINE($CURL_LIBS, SWOOLE_SHARED_LIBADD)
404+
PHP_EVAL_INCLINE($CURL_CFLAGS)
413405
AC_DEFINE(SW_USE_CURL, 1, [do we enable cURL native client])
414406
fi
415407

@@ -848,14 +840,16 @@ EOF
848840
])
849841

850842
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-
])
843+
PKG_CHECK_MODULES([BROTLIENC], [libbrotlienc])
844+
PHP_EVAL_LIBLINE($BROTLIENC_LIBS, SWOOLE_SHARED_LIBADD)
845+
PHP_EVAL_INCLINE($BROTLIENC_CFLAGS)
846+
847+
PKG_CHECK_MODULES([BROTLIDEC], [libbrotlidec])
848+
PHP_EVAL_LIBLINE($BROTLIDEC_LIBS, SWOOLE_SHARED_LIBADD)
849+
PHP_EVAL_INCLINE($BROTLIDEC_CFLAGS)
850+
851+
AC_DEFINE(SW_HAVE_COMPRESSION, 1, [have compression])
852+
AC_DEFINE(SW_HAVE_BROTLI, 1, [have brotli encoder])
859853
fi
860854

861855
PHP_ADD_LIBRARY(pthread)
@@ -908,15 +902,18 @@ EOF
908902
fi
909903

910904
if test "$PHP_CARES" = "yes"; then
905+
PKG_CHECK_MODULES([CARES], [libcares])
906+
PHP_EVAL_LIBLINE($CARES_LIBS, SWOOLE_SHARED_LIBADD)
907+
PHP_EVAL_INCLINE($CARES_CFLAGS)
911908
AC_DEFINE(SW_USE_CARES, 1, [do we enable c-ares support])
912-
PHP_ADD_LIBRARY(cares, 1, SWOOLE_SHARED_LIBADD)
909+
AC_DEFINE(HAVE_CARES, 1, [have c-ares])
913910
fi
914911

915912
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-
])
913+
PKG_CHECK_MODULES([URING], [liburing])
914+
PHP_EVAL_LIBLINE($URING_LIBS, SWOOLE_SHARED_LIBADD)
915+
PHP_EVAL_INCLINE($URING_CFLAGS)
916+
AC_DEFINE(SW_USE_IOURING, 1, [have io_uring])
920917
fi
921918

922919
AC_SWOOLE_CPU_AFFINITY
@@ -964,37 +961,23 @@ EOF
964961
LDFLAGS="$LDFLAGS -z now"
965962
fi
966963

967-
if test "$PHP_OPENSSL" != "no" || test "$PHP_OPENSSL_DIR" != "no"; then
968-
if test "$PHP_OPENSSL_DIR" != "no"; then
969-
PHP_ADD_INCLUDE("${PHP_OPENSSL_DIR}/include")
970-
PHP_ADD_LIBRARY_WITH_PATH(ssl, "${PHP_OPENSSL_DIR}/${PHP_LIBDIR}")
971-
fi
972-
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)
975-
fi
964+
if test "$PHP_OPENSSL" != "no"; then
965+
PKG_CHECK_MODULES([SSL], [libssl])
966+
PHP_EVAL_LIBLINE($SSL_LIBS, SWOOLE_SHARED_LIBADD)
967+
PHP_EVAL_INCLINE($SSL_CFLAGS)
976968

977-
if test "$PHP_BROTLI_DIR" != "no"; then
978-
AC_DEFINE(SW_HAVE_COMPRESSION, 1, [have compression])
979-
AC_DEFINE(SW_HAVE_BROTLI, 1, [have brotli encoder])
980-
PHP_ADD_INCLUDE("${PHP_BROTLI_DIR}/include")
981-
PHP_ADD_LIBRARY_WITH_PATH(brotli, "${PHP_BROTLI_DIR}/${PHP_LIBDIR}")
982-
PHP_ADD_LIBRARY_WITH_PATH(brotlienc, "${PHP_BROTLI_DIR}/${PHP_LIBDIR}")
983-
PHP_ADD_LIBRARY_WITH_PATH(brotlidec, "${PHP_BROTLI_DIR}/${PHP_LIBDIR}")
984-
fi
969+
PKG_CHECK_MODULES([CRYPTO], [libcrypto])
970+
PHP_EVAL_LIBLINE($CRYPTO_LIBS, SWOOLE_SHARED_LIBADD)
971+
PHP_EVAL_INCLINE($CRYPTO_CFLAGS)
985972

986-
if test "$PHP_NGHTTP2_DIR" != "no"; then
987-
AC_DEFINE(SW_USE_SYSTEM_LIBNGHTTP2, 1, [Use the system libnghttp2])
988-
PHP_ADD_INCLUDE("${PHP_NGHTTP2_DIR}/include")
989-
PHP_ADD_LIBRARY_WITH_PATH(nghttp2, "${PHP_NGHTTP2_DIR}/${PHP_LIBDIR}")
990-
PHP_ADD_LIBRARY(nghttp2, 1, SWOOLE_SHARED_LIBADD)
973+
AC_DEFINE(SW_USE_OPENSSL, 1, [enable openssl support])
991974
fi
992975

993-
if test "$PHP_JEMALLOC_DIR" != "no"; then
976+
if test "$PHP_JEMALLOC" != "no"; then
977+
PKG_CHECK_MODULES([JEMALLOC], [jemalloc])
978+
PHP_EVAL_LIBLINE($JEMALLOC_LIBS, SWOOLE_SHARED_LIBADD)
979+
PHP_EVAL_INCLINE($JEMALLOC_CFLAGS)
994980
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)
998981
fi
999982

1000983
PHP_ADD_LIBRARY(pthread, 1, SWOOLE_SHARED_LIBADD)

0 commit comments

Comments
 (0)